Commit 1932028d authored by Jonas Smedegaard's avatar Jonas Smedegaard

Imported Upstream version 1.4.4

parent 33522f8f
config.log
config.h
config.cache
config.status
config.nice
.depend
Makefile
diff
diff2
build-stamp
gw-config.h
gw-config
*.a
.project
.cproject
autom4te.cache
bootstrap.sh
2009-02-04 Stipe Tolj <stolj at kannel.org>
* Making stable release 1.4.3.
2009-01-29 Alexander Malysh <amalysh at kannel.org>
* gwlib/octstr.c, test/test_octstr_format.c: applied patch that adds
support for %llu, %llx etc. to octstr_format. Also added test.
Thanks to Nikos Balkanas <nbalkanas at gmail.com> for patch.
[Msg-Id: <7f4386bc0901290255y3f8f44feya6132b138b0b6003@mail.gmail.com>]
2009-01-12 Stipe Tolj <stolj at kannel.org>
* Making stable release 1.4.2.
\ No newline at end of file
2014-08-01 Stipe Tolj <stolj at kannel.org>
* Making stable release 1.4.4.
/* ====================================================================
* The Kannel Software License, Version 1.0
*
* Copyright (c) 2001-2009 Kannel Group
* Copyright (c) 2001-2014 Kannel Group
* Copyright (c) 1998-2001 WapIT Ltd.
* All rights reserved.
*
......
......@@ -75,7 +75,7 @@ CONFIG_CLEAN_FILES =
LIBOBJS=@LIBOBJS@
LIBSRCS=$(LIBOBJS:.o=.c)
LIBS=@LIBS@
LIBS=@LIBS@ @LIBICONV@
CFLAGS=-D_REENTRANT=1 -I. -Igw @CFLAGS@
LDFLAGS=@LDFLAGS@
......@@ -90,6 +90,7 @@ CONVERT=@CONVERT@
HTML_DSL=@HTML_DSL@
TEX_DSL=@TEX_DSL@
XML_DCL=@XML_DCL@
# Set this to something if you want all installed binaries to have a suffix.
# Version number is common.
......@@ -106,7 +107,8 @@ binsrcs = \
wmlscript/wmlsc.c \
wmlscript/wmlsdasm.c \
utils/seewbmp.c \
utils/mtbatch.c
utils/mtbatch.c \
utils/decode_emimsg.c
sbinsrcs = \
gw/bearerbox.c \
gw/smsbox.c \
......@@ -178,17 +180,17 @@ figs = $(figsrcs:.fig=.png) $(figsrcs:.fig=.ps)
.xml.html:
sed "s/#FIGTYPE#/.png/;s/#VERSION#/${VERSION}/;s/#DATE#/`date +%Y.%m.%d`/;s/#DRAFTS#/${DOCDRAFTS}/" $< > $*.tmp
${JADE} -V nochunks -t sgml -d $(HTML_DSL) $*.tmp > $@
${JADE} -V nochunks -t sgml -d $(HTML_DSL) $(XML_DCL) $*.tmp > $@
rm -f $*.tmp
.xml.rtf:
sed "s/#FIGTYPE#/.ps/;s/#VERSION#/${VERSION}/;s/#DATE#/`date +%Y.%m.%d`/;s/#DRAFTS#/${DOCDRAFTS}/" $< > $*.tmp
cd `dirname $<` && $(JADE) -o `basename $*`.rtf -t rtf -d $(TEX_DSL) `basename $*`.tmp
cd `dirname $<` && $(JADE) -o `basename $*`.rtf -t rtf -d $(TEX_DSL) $(XML_DCL) `basename $*`.tmp
rm -f $*.tmp
.xml.ps:
sed "s/#FIGTYPE#/.ps/;s/#VERSION#/${VERSION}/;s/#DATE#/`date +%Y.%m.%d`/;s/#DRAFTS#/${DOCDRAFTS}/" $< > $*.tmp
$(JADE) -o $*.tex -t tex -d $(TEX_DSL) $*.tmp
$(JADE) -o $*.tex -t tex -d $(TEX_DSL) $(XML_DCL) $*.tmp
rm -f $*.tmp
cd `dirname $<` && $(JADETEX) `basename $*`.tex >/dev/null || true
cd `dirname $<` && $(JADETEX) `basename $*`.tex >/dev/null || true
......@@ -200,7 +202,7 @@ figs = $(figsrcs:.fig=.png) $(figsrcs:.fig=.ps)
.xml.pdf:
sed "s/#FIGTYPE#/.png/;s/#VERSION#/${VERSION}/;s/#DATE#/`date +%Y.%m.%d`/;s/#DRAFTS#/${DOCDRAFTS}/" $< > $*.tmp
$(JADE) -o $*.tex -t tex -d $(TEX_DSL) $*.tmp
$(JADE) -o $*.tex -t tex -d $(TEX_DSL) $(XML_DCL) $*.tmp
rm -f $*.tmp
cd `dirname $<` && $(JADETEX) `basename $*`.tex >/dev/null || true
cd `dirname $<` && $(JADETEX) `basename $*`.tex >/dev/null || true
......@@ -279,9 +281,7 @@ install: all
$(INSTALL_DATA) $(top_srcdir)/wap/*.def $(DESTDIR)$(includedir)/kannel/wap
$(INSTALL_DATA) gw-config.h $(DESTDIR)$(includedir)/kannel
$(INSTALL) -d $(DESTDIR)$(libdir)/kannel
$(INSTALL_DATA) libgwlib.a $(DESTDIR)$(libdir)/kannel
$(INSTALL_DATA) libgw.a $(DESTDIR)$(libdir)/kannel
$(INSTALL_DATA) libwap.a $(DESTDIR)$(libdir)/kannel
$(INSTALL_DATA) lib*.a $(DESTDIR)$(libdir)/kannel
install-test: all
$(INSTALL) -d $(DESTDIR)$(libdir)/kannel
......@@ -328,7 +328,9 @@ distclean: clean
nag:
utils/find-long-lines
depend .depend: wmlscript/wsgram.h gw-config.h
@SOAP_INCLUDE@
depend .depend: wmlscript/wsgram.h gw-config.h $(soap_depend)
for dir in $(srcdirs); do \
for file in $$dir/*.c; do \
$(MKDEPEND) $$file -MT $$dir/`basename $$file .c`.o -MT $$dir/`basename $$file .c`.i; done; done > .depend
......@@ -376,6 +378,6 @@ pkg: all
gw-config: utils/foobar-config.sh Makefile
./utils/foobar-config.sh "-I$(includedir)/kannel @CFLAGS@" \
"-L$(libdir)/kannel -lgw -lwap -lgwlib @LIBS@" \
"-L$(libdir)/kannel -lgw -lwap -lgwlib $(LIBS)" \
"@VERSION@" > gw-config
chmod 0755 gw-config
NEWS about Kannel: Open Source WAP and SMS Gateway version 1.4.3
NEWS about Kannel: Open Source WAP and SMS Gateway version 1.4.4
This is a STABLE version. It should be usable for production systems.
Please do report problems to the Kannel bug tracking system available at
......@@ -6,11 +6,136 @@ http://bugs.kannel.org/ or send a mail to <devel@kannel.org> (the development
mailing list).
Changes since version 1.4.2:
Changes since version 1.5.0 devel:
[*** Beware that the version move from 1.5.0 devel to 1.4.4 stable contains
numerous change sets, with major bug fixes and improvements. Following is a
summary of the main issues. For a complete and detailed set of changes please
refer to the specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* SMPP config directives can have ONLY ONE session, either config directive
'port' or 'receive-port' can be set to identify if this is a bind as
transmitter or receiver. Configurations with both config directives will
PANIC at startup time.
New features:
* Added DLR support for redis.
* Added DLR support for spool directories.
* Added DLR support for SQLite3.
* Added SMSC support for GSMA OneAPI/Ericsson ParlayX via gSOAP.
* Added SMSC SMPP support for optional TLVs of response PDUs via meta-data.
* Added 'dead-start' feature for SMSC groups.
* Added SMSC HTTP generic support for meta-data.
* Added smsbox support to listen to specific interfaces.
Bugfixes:
* Fixed SMPP's DLR support, which was broken in 1.4.2 due to a modification.
* Fixed smsbox HTTP call starvation while retrying.
* Fixed various minor memory leaks for smsbox reported by valgrind.
* Converted various PANIC conditions to WARNING/ERROR conditions to keep
the operations running.
* Fixed various issues with DLR handling.
* Fixed various segmentation fault possibilities.
* Fixed various internal character transcoding issues.
* Fixed issues for smsbox shutdown.
* Fixed bearerbox MO routing logic.
Changes since version 1.4.3:
[*** Beware that the version move from 1.4.3 to 1.5.0 contains numerous
change sets, with major bug fixes and improvements. Following is a summary of the
main issues. For a complete and detailed set of changes please refer to the
specific ChangeLog in the doc/ directory of the distribution. ***]
Compatibility breakers:
* Internal message structure has changed, so older smsbox connection daemons
won't be able to communicate with this bearerbox. Please ensure that you
use boxes from releases greater or equal 1.5.0 for correct communication.
* DLR storage via MySQL requires now MySQL 4.1 or higher, due that we use now
prepared statements in the SQL calls.
New features:
* Added 'meta-data' support, which provides a mechanism to pass SMSC protocol
specific optional data to the lower SMSC module layer. Ie. optional TLVs
for SMPP.
* Added better serial speed support for the AT modem on MacOS systems.
* Added cleaner iconv() support for character re-encoding.
* Added SMPP v3.4 DLR support via optional TLV values.
* Added DLR support for the MT batch processing program.
* Added Microsoft SQL server support as DLR storage backend.
* Extended the HTTP admin interface.
* Added SMPP v3.4 intermediate notification support.
* Added MT module handling of +CME ERROR cases.
* Added better result parsing generic HTTP SMSC module.
* Added better throughput handling in SMPP module.
* Added SMSC module 'loopback' as the MT counterpart of the 're-route'
directive in the 'group = smsc' for MO messages. MT messages are
bounced back as MOs into the incoming queue.
* Added separate DLR message counters on the HTTP admin status.
* Added 'http-timeout' config directive to allow setting of a timeout
value for outgoing HTTP calls.
* Added WTLS provisioning support.
* Added add-on packages sqlbox and opensmppbox to the main distribution,
where sqlbox provides abstraction from bearerbox towards SQL RDBMS and
opensmppbox provides abstraction from bearerbox towards SMPP clients.
Bugfixes:
* Fixed various bugs in AT module.
* Fixed various memory leaks.
* Fixed ISO date parsing.
* Fixed HTTP cookie parsing in WAP module.
* Fixed WAP-WSP quoted text parsing.
* Fixed various WAP module bugs.
* Fixed MT batch processing program.
* Fixed FreeBSD build procedure.
* Fixed OMA OTA compiler output.
* Fixed weak DLR resolving for some SMSC types.
Changes since version 1.4.1:
......
......@@ -46,13 +46,15 @@ Documentation
directory.
In order to convert the documentation from DocBook (a markup
language) to HTML and PostScript, you need some tools. On a
Debian GNU/Linux system, install the package "docbook-stylesheets"
and everything it depends on:
language) to HTML and PostScript, you need some tools.
apt-get install docbook-stylesheets
On a Debian GNU/Linux system, you need to install the following
packages via:
$ sudo apt-get install graphicsmagick-imagemagick-compat \
docbook-dsssl jadetex transfig openjade
On a Red Hat Linux system, you need to install the following
On a Red Hat Linux (RHEL) system, you need to install the following
packages, in order:
sgml-common
......@@ -63,15 +65,20 @@ Documentation
jadetex
transfig
See http://www.rpmfind.net to find the packages.
On a Gentoo system, the following should do:
See http://www.rpmfind.net to find the packages.
On a Fedora Core system, you need to install the following packages:
$ sudo yum install openjade jadetex docbook-style-dsssl \
texlive-dvips transfig ImageMagick
emerge transfig jadetex docbook-dsssl-stylesheets
On a Gentoo system, the following should do:
On a Mandrakelinux system, the following should do:
$ sudo emerge transfig jadetex docbook-dsssl-stylesheets
urpmi transfig jadetex docbook-style-dsssl
On a Mandrakelinux system, the following should do:
$ urpmi transfig jadetex docbook-style-dsssl
Then apply this change to /usr/share/texmf/web2c/texmf.cnf:
......@@ -94,7 +101,7 @@ Documentation
stack_size.jadetex = 1500
stack_size.pdfjadetex = 1500
On other systems, you'll have to figure it out yourself.
On other systems, you'll have to figure it out yourself.
Getting the gateway sources
......
KANNEL 1.x STATUS:
Last modified at [$Id: STATUS,v 1.34 2003/07/18 22:12:34 davi Exp $]
Last modified at 2014-08-01 by Stipe Tolj
Release:
1.4.4: update to stable, released Aug 01, 2014.
1.5.0: development version, released Oct 20, 2010.
1.4.3: update to stable, released Feb 04, 2009.
1.4.2: update to stable, released Jan 12, 2009.
1.4.1: update to stable, released Sep 25, 2006.
1.4.0: update to stable, released Nov 23, 2004.
1.3.2: development version, released Jul 14, 2004.
1.3.1: development version, released Feb 17, 2003.
1.3.0: development version, released Jan 06, 2003.
1.2.1: update to stable, released Nov 02, 2002.
......@@ -23,8 +30,7 @@ Release:
0.13.1: development version, released Dec 13, 2000.
0.12.3: update to stable, released Dec 08, 2000.
(see ChangeLog for previous releases)
(see ChangeLog for details in directory doc/)
Bugs:
(see http://bugs.kannel.org)
(see https://redmine.kannel.org/)
1.4.3
1.4.4
This file contains the version number of the gateway.
It is stored on the first line. Nothing else should
be there.
Note that if you get this file from CVS, it will just
say "cvs" instead of a version number. This is intentional,
it avoids confusion with real releases.
Note that if you get this file from SVN, it will just
say "svn-r<revision>" instead of a version number.
This is intentional, it avoids confusion with real releases.
Starting with version 0.8, version numbers that have an even
second part are STABLE versions and those with odd ones are
......
dnl acinclude.m4 -- local include for for autoconf
dnl
dnl This file is processed while autoconf generates configure.
dnl This file is part of the Kannel WAP and SMS gateway project.
dnl Check if installed version string is equal or higher then required.
dnl This is used in a couple of tests to ensure we have a valid version
dnl of a software package installed. The basic idea is to split the
dnl version sequences into three parts and then test against eachother
dnl in a whole complex if statement.
dnl
dnl AC_CHECK_VERSION(installed, required, [do-if-success], [do-if-tail])
dnl
dnl Written by Stipe Tolj <stolj@kannel.org> <st@tolj.org>
AC_DEFUN([AC_CHECK_VERSION],
[
dnl split installed version string
ac_inst_ver_maj=`echo $1 | sed -e 's/^\(.*\)\..*\..*$/\1/'`
ac_inst_ver_mid=`echo $1 | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
ac_inst_ver_min=`echo $1 | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
dnl split required version string
ac_req_ver_maj=`echo $2 | sed -e 's/^\(.*\)\..*\..*$/\1/'`
ac_req_ver_mid=`echo $2 | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
ac_req_ver_min=`echo $2 | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
dnl now perform the test
if test "$ac_inst_ver_maj" -lt "$ac_req_ver_maj" || \
( test "$ac_inst_ver_maj" -eq "$ac_req_ver_maj" && \
test "$ac_inst_ver_mid" -lt "$ac_req_ver_mid" ) || \
( test "$ac_inst_ver_mid" -eq "$ac_req_ver_mid" && \
test "$ac_inst_ver_min" -lt "$ac_req_ver_min" )
then
ac_ver_fail=yes
else
ac_ver_fail=no
fi
dnl now see if we have to do something
ifelse([$3],,,
[if test $ac_ver_fail = no; then
$3
fi])
ifelse([$4],,,
[if test $ac_ver_fail = yes; then
$4
fi])
])
dnl Some optional terminal sequences for configure
dnl Taken from the mod_ssl package by Ralf S. Engelschall.
AC_DEFUN([AC_SET_TERMINAL_SEQUENCES],
[
case $TERM in
xterm|xterm*|vt220|vt220*|cygwin)
T_MD=`echo dummy | awk '{ printf("%c%c%c%c", 27, 91, 49, 109); }'`
T_ME=`echo dummy | awk '{ printf("%c%c%c", 27, 91, 109); }'`
;;
vt100|vt100*)
T_MD=`echo dummy | awk '{ printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }'`
T_ME=`echo dummy | awk '{ printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }'`
;;
default)
T_MD=''
T_ME=''
;;
esac
])
dnl Display configure section name in bold white letters
dnl if available on the terminal
AC_DEFUN([AC_CONFIG_SECTION],
[
nl='
'
echo "${nl}${T_MD}$1 ...${T_ME}"
])
dnl Check which SVN revision is and apply
dnl the value to the given variable
AC_DEFUN([AC_SVN_REVISION],
[
if test -d ".svn"
then
revision=`svnversion .`
test -z "$revision" && revision="unknown"
$1="$revision"
elif test -d ".git"
then
sha1=$(git rev-parse --short HEAD)
mod=$(git status | grep "modified:\|added:\|deleted:" -q && echo "M")
$1="$sha1$mod"
fi
])
dnl Available from the GNU Autoconf Macro Archive at:
dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_caolan_func_which_gethostbyname_r.html
dnl Modified by Alexander Malysh for Kannel Project.
AC_DEFUN([AC_FUNC_WHICH_GETHOSTBYNAME_R],
[AC_CACHE_CHECK(for which type of gethostbyname_r, ac_cv_func_which_gethostname_r, [
AC_TRY_COMPILE([
#include <netdb.h>
], [
char *name;
struct hostent *he;
struct hostent_data data;
(void) gethostbyname_r(name, he, &data);
], ac_cv_func_which_gethostname_r=3, [
AC_TRY_COMPILE([
#include <netdb.h>
], [
char *name;
struct hostent *he, *res;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop);
], ac_cv_func_which_gethostname_r=6, [
AC_TRY_COMPILE([
#include <netdb.h>
], [
char *name;
struct hostent *he;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &h_errnop);
], ac_cv_func_which_gethostname_r=5 , ac_cv_func_which_gethostname_r=0)]
)]
)])
if test $ac_cv_func_which_gethostname_r -eq 6; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_6)
elif test $ac_cv_func_which_gethostname_r -eq 5; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_5)
elif test $ac_cv_func_which_gethostname_r -eq 3; then
AC_DEFINE(HAVE_FUNC_GETHOSTBYNAME_R_3)
elif test $ac_cv_func_which_gethostname_r -eq 0; then
ac_cv_func_which_gethostname_r = no
fi
])
dnl Creates a config.nice shell script that contains all given configure
dnl options to the orginal configure call. Can be used to add further options
dnl in additional re-configure calls. This is perfect while handling with a
dnl large number of configure option switches.
dnl This macro is taken from PHP5 aclocal.m4, Stipe Tolj.
AC_DEFUN([AC_CONFIG_NICE],
[
test -f $1 && mv $1 $1.old
rm -f $1.old
cat >$1<<EOF
#! /bin/sh
#
# Created by configure
EOF
for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS CC CXX; do
eval val=\$$var