2002-07-02  Stipe Tolj  <tolj@wapme-systems.de>
    * Re-Making stable release 1.2.0.

2002-07-04 Aarno Syvnen <aarno@global-networks.ch>
    * "Test_http_server reads black and white lists from files" patch:
    * test/test_http_server.c: Doing this
    * checks/check_ppg.sh: Use lists when starting http server responsible for distributing these
    * test/whitelist.txt, test/blacklist.txt: Added required files.
    * test/smstestppg.txt: Changed MSISDN.
    * gw/pushkannel.conf: Changed send-url.
    * checks/check_fakewap.sh: Killing only bearerbox.
    * test/iptestppg.txt: Changed ip.

2002-07-03  Stipe Tolj  <tolj@wapme-systems.de>
    * test/*testppg.txt: fixed the "make check" failure report for ppg
      module due to not-whitelisted receiver MSISDN.

2002-07-02  Stipe Tolj  <tolj@wapme-systems.de>
    * Making stable release 1.2.0.

2002-06-28  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_pap_compiler.c: fixing a compiler warning

2002-06-28 Aarno Syvdnen <aarno@global-networks.ch>
    * checks/check_sendsms.sh: Better debugging for failure cases
    * checks/check_smpp.sh: Do test only 10 times, to save nerves
    * checks/check_fakewap.sh: Use name SIGINT
    * checks/check_http.sh: Do not test https part when --disable-ssl option
    is used.
    * gw/wap_push_pap_compiler.c: Better debugging
    * gw/wap_push_ppg.c: Ip tests work again, do not destroy pap event too
    early. Another bugfix.
    * gw/wap_push_ppg_pushuser.c: Added some comments
    * checks/check_fakesmsc.sh: Better debugging.
    * checks/check_ppg.sh: Minor corrections

2002-06-28  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_emi2.c: fixing an assertion checking bug

2002-06-27  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added documentation about SMPP related
      configuration directives. Patch submitted by Alan.

2002-06-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c: fixed a bug when service not found and username
      is not initialized octstr_destroy() will cause segmentation fault.

2002-06-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c: allow to start PPG module without SSL enabled HTTP
      server support.

2002-06-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c, gwlib/cfg.def: back to previous revision, due to
      misunderstanding of the 'ppg-ssl-port' directive. This is not a boolean
      like to 'sendsms-port-ssl' et al, but a real port number to open up
      a SSL enabled HTTP server.
    * gw/pushkannel.conf: changed this example config to fit the semantic
      of the ppg-ssl-port directive

2002-06-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c, gwlib/cfg.def: harmonized ssl indicator directive
      name to match those used in core group

2002-06-21  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed a bug in transmitter/receiver routing handling
      for the SMPP module, patch provided by Nisan Bloch
      [Msg-ID: <5.1.0.14.0.20020620231315.025997f0@amagoblin.ialien.co.za>]

2002-06-17  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/gwmem.h, gwlib/gwmem-native.h: forgot gw_claim_area_for

2002-06-15  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * configure.in: Added --enable-warnings that enables -Wall -O2 -g
      to gcc
    * gwlib/gwmem.h, gwlib/gwmem-native.h: fix compilation warnings

2002-06-12  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * configure.in: WARNING: defaults to localtime
    * gw/smsc_emi2.c: some cleaning
    * utils/find-long-lines: added rtf, pdf and html to ignored files

2002-06-12  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsbox.c: fixing inline comments to fit CodingStyle rules

2002-06-11  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * aclocal.m4: fix date function, for days lesser than 10
    * configure.in: defaults to native malloc but still with assertions
    * configure.in, Makefile.in: use pdfjadetex to convert from 
      xml->tex->pdf instead of xml->tex->ps->pdf
    * debian/*: some fixes
    * gw/ota_prov_attr.h: Added MMSURL comments
    * gw/smsbox.c: removed <!doctype...> from xml-post; fix setting 
      msg->sms.service on MO messages
    * gw/smsc_emi2.c: removed NACK code. It didn't work either way.
    * gwlib/conn.c, gwlib/conn.h, gwlib/http.c: Reenabled HTTP Keepalive
      and added extra debug: http connections now print the fd used, so
      we can try to find the bug. It looks like a reused connection that 
      didn't timeout. 

2002-06-11  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/thread.[ch], gwlib/conn.c: applied Oded's patch to make gcc 3.x 
      not complain about it's __FUNC__ macros.
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B296D8D@exchange.m-wise.com>]

2002-06-03  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed memory bug in msg_to_pdu(), patch by Oded
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B296D6F@exchange.m-wise.com>]

2002-06-02  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsbox.c: memory leak fixes, provided by Angel
      [Msg-ID: <NCEOLLKPFAEAOBBMHNHECEFGCGAA.afradejas@mediafusion.es>]

2002-06-02  Stipe Tolj <tolj@wapme-systems.de>
    * wap/wsp_strings.def: added required MIME types for the content type 
      assignment table 40. Thanks to Paul for indicating this.

2002-05-30  Stipe Tolj <tolj@wapme-systems.de>
    * aclocal.m4, configure[.in]: fixed Bruno's date extraction using 'cut'
      and defined it as external function in aclocal.m4.
 
2002-05-30  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/cfg.c: added more verbosity for 'include = "foobar.conf"'
      config file inclusion that avoids to concatenate groups by mistake.

2002-05-30  Harrie Hazewinkel <harrie@mod-snmp.com>
    * Moved heartbeat related code into the heartbeat.[c,h] files.
      Added a heartbeat_stop all functionality by means of the
      parameter ALL_HEARTBEATS in the heartbeat_stop function.
      This affected gw/bb.h, gw/smsbox.c and gw/wapbox.c.

2002-05-29  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smscconn.h, gw/smsc_smpp.c, gw/bb_smscconn.c: added new 
      SMSCCONN_ACTIVE_RECV state to provide online status information
      and exclude the smsc from routing within smsc2_rout()

2002-05-29  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_emi2.c: fixed octstr in octstr_format() call.

2002-05-29  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_emi2.c: changed conn->name string to be same as smpp for 
      conformance of debug output on the admin status page
    * gw/smsc_smpp.c: set smsc status to 'online' in case we use only
      receive bind.

2002-05-28  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: added more smsc-id output to debug information

2002-05-28  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_smscconn.c: fixing compiler warning

2002-05-27  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_http.c, gw/bearerbox.h: some declaration fixups
    * gw/bb_smscconn.c: use smscconn_shutdown() instead of _stop and added 
      global list to hold all smsc groups for later re-start lookups

2002-05-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_smscconn.c: deleted unnecessary debug lines

2002-05-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_http.c, gw/bb_smscconn.c, gw/bearerbox.c: added HTTP admin
      commands 'stop-smsc' and 'start-smsc' to stop and start single
      smsc connections without interfearing other connected smscs.

2002-05-24  Stipe Tolj <tolj@wapme-systems.de>
    * gw/ota_prov.c: excluded not needed include of urltrans.h
    * gw/dlr.h: fixed header comment path

2002-05-23  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed another ocstr bug in msg_to_pdu(), thanks Oded

2002-05-23  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed the smsc-id definition, provided by Oded
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B296D40@exchange.m-wise.com>]
    * doc/userguide/userguide.xml: added documentation to timing directives 
      of the smpp module, provided by Alan McNatty <alan@catalyst.net.nz>

2002-05-22  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed destruction of a octstr in msg_to_pdu()

2002-05-22  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: added 'smsc-id' output at debug lines, reformat source to 
      be CodingStyle compliant
    * gw/smsc_fake.c: reformat source to be CodingStyle compliant
    * gw/bearerbox.c: added traffic statistic to admin status page

2002-05-21  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed a octstr_destroy() bug in msg_to_pdu()

2002-05-21  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: applied validity and deferred patch by Alex
      [Msg-ID: <Pine.LNX.4.44.0205210856020.17846-200000@samsara.kgbinternet.com>]

2002-05-21  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml, gw/smsc_smpp.c, gwlib/cfg.def:
      applied interface version configuration patch from Oded
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B167F6B@exchange.m-wise.com>]

2002-05-21  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c, gwlib/cfg.def: applied timing configuration patch
      provided by Alan McNatty <alan@catalyst.net.nz>
      [Msg-ID: <1021942284.3140.207.camel@euclid>]

2002-05-21  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: added Alt-DCS support for SMPP module

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/conn.c: fixing a compiler warning

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/xmlrpc.h, test/drive_smpp.conf: typo fixes

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: added 'smsc-id' processing patch supplied by  
      Dima Milentiev <Dima@m-wise.com>
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B05AB42@exchange.m-wise.com>]

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * configure[.in]: fixed Bruno's cvs checkout date extraction

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/conn.c: fixed a possible segmentaion bug in conn_open_ssl() 
      reported by Oded.
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B167F67@exchange.m-wise.com>]

2002-05-20  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: some changes and extensions to sendota 
      documentation
    * test/test_http.c: fixed a bug for POST method and changed -b flag to -B
      for the POST body content. Excluded -x flag. If -B is set this indicates
      a POST request to be issues to the HTTP server.
    * gw/smsbox.c: fixed segmentation fault bug in sendsms_thread() caused
      by using args in smsbox_sendota_post().

2002-05-17  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml, gw/smsbox.c: added 'to' GET variable to
      sendota request. The old parameter 'phonenumber' is yet still supported
      but must be removed for the upcoming next stable release.

2002-05-17  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_boxc.c: fixed a misbehaviour in accept_boxc() which didn't close
      new socket descriptors if the remote IP is banned. Thanks to Paul.
      [Msg-ID: <F88041028581AE4AB60F630CD4E801B50F90A8@ocasey.anam.com>]

2002-05-16  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/conn.c: added Oded's non-blocking SSL_connect() patch.
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B167F62@exchange.m-wise.com>]

2002-05-16  Stipe Tolj <tolj@wapme-systems.de>
    * configure[.in]: fixed --disable-ssl bug reported by Aarno.

2002-05-15 Aarno Syvnen <aarno@wiral.com>
    * doc/userguide/userguide.xml: some clarifications in ppg documentation

2002-05-14  Stipe Tolj <tolj@wapme-systems.de>
    * gw/shared.[ch], gw/smsbox.c, gw/smscconn.h, gw/wapbox.c,
      gwlib/counter.[ch], test/drive_smpp.c, test/test_http.c, 
      test/test_ppg.c, wap/wsp_session.c, wap/wtls.h, wap/wtp_init.h,
      wap/wtp_resp.h: applied long vs. unsigned long patch from
      Harrie Hazewinkel <harrie@mod-snmp.com>
      [Msg-ID: <10110987.1021046787@localhost>]

2002-05-13  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * : The "Why don't you love me anymore?" patch
    * gw/smsc_emi2.c: if SMSC reply with a NACK and error 04, we should 
      resend authentication. I couldn't do it (When I send the login packet, 
      socket gets eof and disconnects), so kannel just reconnects for now
    * gw/smsbox.c: remove information if a tag is not present on xml-post;
      If we know that there will be more than one "to", pass the to list 
      instead of joining and spliting it in "to" string; moved checking 
      illegal chars in "to" below, checking one by one instead of the full
      multi-to string, that could even not exists if the list is received
    * gw/wap-appl.c: fix a warning
    * gw/smsc_at2.c: applied patch from Oded Arbel to fix debugging messages
    * Makefile.in: applied patch from Benjamin Lee to add DESTDIR in two 
      missing spots

2002-05-13  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap-appl.c: fixed a minor assertion bug in return_reply()

2002-05-06  Stipe Tolj <tolj@wapme-systems.de>
    * checks/check_http.sh: added SSL-enabled HTTP server and client checks
    * gwlib/gwlib.h: fixed Aarno's redefinition of GW_NAME

2002-05-03 Aarno Syvnen <aarno@wiral.com>
    * checks/check_fakewap.sh: Do the test may times
    * gw/wap-appl.c: Fixing no ppg configuration option: No references to
      ppg lists.
    * gw/wap-appl.h: Passing configuration data to the init function.
    * gw/wap_push_ppg.c: Do not start anything when no ppg is configured
    * gw/wapbox.c: Do not start any push threads, or set push variables when
      no ppg option is set.
    * gw/wap_push_ppg.c: Going down gracefully when HTTPClient is NULL. This
      was noticed by Paul Keogh.

2002-05-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * : The "where do you want me to post this?" patch
    * doc/userguide/userguide.xml: added kannel post headers (kannel->appl);
      added glossary and bibliography
    * gw/other_smskannel.conf, gw/smscconn_p.h, gw/smskannel-ssl.conf, 
      gw/smskannel.conf: fixed typo
    * gw/smsbox.c: fixed ucs2 content-type and added X-Kannel-Service to
      kannel post-url

2002-05-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * : The "I don't like empty variables" patch
    * gw/smsbox.c: fixed empty text messages panic in post-xml code
    * gw/smsc_emi2.c: fixed deliver reports with undefined smsc-id. It
      uses smsc "name" field if smsc-id is not present

2002-05-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * : The "I want my cvs date" patch
    * configure.in, Makefile.in: configure now creates a VERSION var with
      cvs-20020501 based on ChangeLog date on cvs (or simply first line of
      VERSION file, if not cvs); Makefile now uses it on documentation 
      headers; added --enable-suffix (default: disabled) and 
      --with-suffix= to enable and define the suffix name to
      binaries; tweaked some messages
    * gw/wapkannel.conf: default to aarno dirs ?? changed back to tmp
    * gwlib/http.c: removed hard-coded User-Agent. It should be defined on
      the module using it and passed through headers list. Fixes Wapbox
      sending "kannel/$version" instead of mobile user-agent

2002-05-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * : The "where was my head at that day" patch
    * gw/smsbox.c: reverted octstr_destroy(udh) but replaced original one
      with O_DESTROY;

2002-05-01  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * configure.in: configure now defaults to --disable-mysql 
    * gw/smsbox.c: http reply, when text/plain, doesn't strip_blanks. Needed
      to be able to send smscards with spaces in first line

2002-05-02  Stipe Tolj <tolj@wapme-systems.de>
    * configure[.in], config.h.in: changed VERSION definition to have 
      a more readable date format and added GW_NAME define to allow 
      vendor specific naming.
    * gw/bb_http.c, gw/bearerbox.c, gw/shared.c, gw/smsbox.c, 
      gw/wap-appl.c, gw/wap-error, gw/wap_push_ppg.c, gw/wapbox.c,
      gwlib/http.c, gwlib/socket.c: added GW_NAME macro

2002-05-02: Aarno Syvnen <aarno@wiral.com>
    * gw/bb_smscconn.c: Dropped outgoing sms queue test when handling para-
    meter maximum-queue-length. 
    * doc/userguide/userguide.xml: Documented the change.

2002-05-01  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * configure.in: added --enable-mysql besides --with-mysql; added 
      date to VERSION, read from CVS/Entries instead of newest file in .;
      fixed openssl command detection
    * gw/smsc_smpp.c: added PID and DCS/* MO support 

2002-04-30 Aarno Syvnen <aarno@wiral.com>
    * wap/wsp_server_session_machine.def: Fixed a compiler warning

2002-04-29  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsbox.c: xml-post: moved auth tag to from tag
    * doc/userguide/userguide.xml: updated

2002-04-29  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/cfg.c: Yet another fix to grp->cfgfilename. Hopefully, the last 
    * gw/smsbox.c: Finished post-xml code. Someday the code will be changed
      to libxml functions, but until then, this "works for me". XML format
      could and WILL be changed later, as IETF's document is still a draft, 
      and there's some tags that it doesn't have.
      Works for service (post-xml field), accepts xml in service reply and
      in sendsms-user. Sendsms-user support multiple recipient addresses.
    * doc/userguide/userguide.xml: Completed post-xml documentation.
    * gw/smsbox.c: Fixed a bug when receiving reply from service and 
      accept-x-kannel-headers is disabled. udh was destroyed and later 
      was used to define coding
    * doc/userguide/userguide.xml: fixed ">Date" in log format appendix
    * gw/smsbox.c: fixed some tab/space
    * gw/smsbox.c: destroy sendsms_url, sendota_url and xmlrpc_url at the end


2002-04-29  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/userguide/userguide.xml: Added UDH example to set number of 
      messages in MWI
    * Changelog: Fixed ^M. Please cvs up -d and cvs diff before commiting

2002-04-29  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/otacompiler.c, gw/shared.c, gw/wap_push_pap_compiler.c, 
      gw/wap_push_si_compiler.c, gwlib/xmlrpc.c: Fix xml includes to be
      #include <libxml/*.h>

2002-04-27 Aarno Syvnen <aarno@wiral.com>
    * gw/wap_push_ppg.c: Corrected handling of puah.soa application id. Thanks
      to Michael Mulcahy for correction.
    * gw/wapbox.c: Dropped an useless (and dangerous) dump.
    * wap/wsp_unit.c: Better debugging.
	
2002-04-27 Aarno Syvnen <aarno@wiral.com>
    * gw/wap_push_ppg.c: Fixed HTTP return statuses.
	
2002-04-26  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * debian/*: fixed some issues, add mysql and ssl support to debian
      packages (not that crypto is not an issue and ssl has moved from
      non-us to main, there's no need to have a kannel and kannel-ssl 
      package)
    * utils/kannel-stable-rh7.spec: added ssl and mysql, altough I still
      haven't built the RPM
    * doc/userguide/userguide.xml: Added "can use DLR" checkbox to table
      SMSC Driver Features

2002-04-26 Aarno Syvnen <aarno@wiral.com>
    * gwlib/cfg.def: Added new configuration variables.
    * checks/check_sendsms.sh: Added tsting for empty cgi vars.
    * gw/wap_push_ppg.c: Use variable global-sender. HTTPS support added. 
      Changed push-url default.
    * gwlib/octstr.[ch]: Added function octstr_strip_crlfs.
    * gw/smsc_cimd2.c: Fixed a memory leak.
    * gw/smsbox.c: Fixed a memory leak happening with stranger return types.
      Kannel accepts 202 return code.
    * gw/bb_smscconn.c: Logsms works without sender/receiver. Implement 
      queue limit.
    * test/test_http_server: Response body changed to "Sent".
    * gw/wap_push_si_compiler.c: Fixed a memory leak.
    * gwlib/http.[ch]: Library function http_cgiargs_dump.
    * gw/bearerbox.c: A minor memory leak fixed.
    * doc/userguide/userguide.xml: Documented PPG HTTPS support. Added docu-
      mentation for global-sender. Changed default push URL, previous one
      caused lot questions.
    * doc/arch/arch.xml: Documented architecture change caused by HTTPS 
      support.
    * gw/wap_push_pap_compiler.c: Values of reserved words case-insensitive.
    * checks/chech_ppg.sh: Better debugging for failed cases.

2002-04-25  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c: fix in coriented_deliverable() to return 
      the right boolean, thanks to Paul

2002-04-24  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsbox.c: fixed typo in init_smsbox()

2002-04-24  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed debug output to be hex, thanks to Simon

2002-04-24  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added 'transceiver-mode' section
    * gw/smpp_pdu.def, gw/smsc_smpp.c, gwlib/cfg.def: added SMPP
      transceiver mode patch submited by Simon Beale <simon.beale@ngame.com>
      [Msg-ID: <004201c1e0b3$c9490c20$c80a0a0a@ngame.com>]

2002-04-23  Stipe Tolj <tolj@wapme-systems.de>
    * gwlib/cfg.def: added missing 'xmlrpc-url' for XML-RPC URI
      trigger to be used.

2002-04-22  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added 'smart-errors' section
    * gw/wap-appl.c, wap/wsp.h, wap/wsp_server_session_machine.def,
      wap/wsp_session.c: added HTTP Referer header and smart WSP
      error messaging
    * gw/wapbox.c, gwlib/cfg.def: added 'smart-errors' directive for 
      smart WSP error messages via returned WML decks
    * gw/wap-error.[ch]: added files to handle the smart errors
    * wap/cookies.h: find_session_machine_by_id() is now declared 
      in wap/wsp.h

2002-04-19  Stipe Tolj <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added 'force-sar' section
    * gw/wap-appl.c: some source reformating
    * wap/wtp_resp.c, gw/wapbox.c, gwlib/cfg.def: added 'force-sar' 
      indicator to allow forced WTP connections, even if the phone 
      requests SAR. Some source reformating.

2002-04-19  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap-appl.c: reformated return_reply() to CodingStyle rules

2002-04-18  Stipe Tolj <tolj@wapme-systems.de>
    * gw/numhash.c: fixed a bug inside numhash_create(),
      reported from Paul.

2002-04-17  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c: turned default PPG HTTP instance off if no 'ppg'
      group is in config file, for security reasons

2002-04-17  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_smscconn.c: added smsc id information to status.xml
      patch provided by Angel.
      [Msg-ID: <FMEKKCFKIGBADHGIJKPJAEPADCAA.afradejas@mediafusion.es>]

2002-04-17  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wapbox.c, gwlib/pki.c: more work on WTLS configuration checking

2002-04-17  Stipe Tolj <tolj@wapme-systems.de>
    * wap/wap_events.c: minor style correction

2002-04-17  Stipe Tolj <tolj@wapme-systems.de>
    * gw/bb_udp.c: added checking if WTLS support should be used, even while
      compiled in
    * gwlib/cfg.h: introduce new 'wtls' group to specify all required arguments

2002-04-16  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsbox.c: added preliminary function smsbox_xmlrpc_post() to handle
      the XML-RPC calls and replies.
    * gwlib/gwlib.h: added inclusion of xmlrpc.h to make the structures public
    * gwlib/xmlrpc.[ch]: further improvements in the <struct> parsing, but yet
      not finished for that.

2002-04-16  Stipe Tolj <tolj@wapme-systems.de>
    * gw/smsbox.c: changed return value semantic of send_message() to return
      the number of splits that have been send to bearerbox, otherwise
      return -1 in case of an error. Patch submitted by Oded.
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B296CA6@exchange.m-wise.com>]

2002-04-15  Stipe Tolj <tolj@wapme-systems.de>
    * gw/wap_push_pph_pushuser.c: fixed memory leaks in xxx_list_add() and 
      xxx_authenticate() reported by Paul.
      [Msg-ID: <000001c1e214$2ef53650$0300a8c0@anam.com>]

2002-04-10  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/modems.conf: added enable-mms info and enabled it on nokiaphone
    * doc/smsc_at2.[ch], gwlib/cfg.def, doc/userguide/userguide.xml: added 
      enable-mms variable and only send +MMS if it's enabled
    * gwlib/cfg.c: removed assignation of included filename to group structure.
      If we want filename and line number for each line read, we need a 
      different approach. With it, group would have the last file included and
      at2 won't know anymore where the modem definitions are. It's better to
      have the original kannel.conf in group struct so at2 could reread 
      everything and find the group it wants

2002-04-10  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsbox.c: Changed XML Post format (smsbox->application) to conform
      to IETF sms-xml-02 draft.

2002-04-10  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/urltrans.c: Added white/black list and allowed/denied prefix 
      implementation to default service.
    * doc/userguide/userguide.xml: added --enable-drafts information

2002-04-09  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/userguide/userguide.xml: fixed a link reference that fails with
      --disable-drafts

2002-04-10 Andreas Fink <andreas@fink.org>
    * doc/userguide/userguide.xml: corrected a typo. Added section about DLR

2002-04-09  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_smpp.c, doc/userguide/userguide.xml: Added my-number to SMPP
    * doc/userguide/userguide.xml: changed at2 my-number description
    * gw/smsbox.c, gw/urltrans.[ch]: Added preliminary XML Post to smsbox.
    * Makefile.in: when building ps from xml, only echo "check log" if 
      jadetex fail, cleaning "make -s"
    * Makefile.in, configure.in, configure : added --enable-drafts to 
      enable/disable draft blocks being included in documentation
    * doc/userguide/userguide.xml: added draft conditional includes, 
      defined with --enable-drafts to be able to write text without being 
      displayed on snapshot documentation until it's almost final

2002-04-08 Andreas Fink <andreasgfink.org>
    * gw/dlr.c: fixed mysql_close issue pointed
      out by "Dima Milentiev" <Dima@m-wise.com>
      partially fixed a mysql problem when multiple
      messages where sent using the same timestamp

2002-04-06  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * test/.cvsignore: sorry, two last lines got concatenated
    * doc/userguide/userguide.xml: moved "account" information from 
      send-smsuser group to send-sms cgi variables

2002-04-06  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * test/.cvsignore: added test_xmlrpc to cvsignore

2002-04-06  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c: Fixed (I hope) a bug when smsc disconnects us and
      kannel tries to connect to primary and alternate smsc (it's hard to
      duplicate the error)
    * gw/urltrans.c: some identation cleaning

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * test/test_xmlrpc.c: fixed some memory leaks

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/xmlrpc.[ch]: additional parsing improvements, error handling
    * test/test_xmlrpc.c: added call to xmlrpc_call_send() in thread to
      test sending XMP-RPC requests via HTTP POST to servers.

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/http.c: changed the server side Server HTTP header, to look the
      same as the client side.

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/http.c: added User-Agent HTTP header to HTTP client requests to
      identify itself by the string 'Kannel/<ver>', where <ver> is the 
      version string from VERSION.

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * test/test_http.c: fixed unitialized var usage for the POST content   

2002-04-04  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/xmlrpc.[ch]: added parsing of XML document
    * test/test_xmlrpc.c: some minor changes

2002-04-03  Stipe Tolj  <tolj@wapme-systems.de>
    * test/test_http.c: fixed a missing int declaration

2002-04-03  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/xmlrpc.[ch]: some minor improvements and parsing routines
    * test/test_xmlrpc.c: added testing application for the xmlrpc calls

2002-04-03  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/ota_prov.c: make output a bit more semantical
    * gw/smsbox.c: bug fixing of destroyed variables
    * test/test_http.c: fixed typo and minor bug when sending non-POST 
      request, which of course does not have any content.

2002-04-02  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: added new smsbox_sendota_post() to handke POST method of 
      sendota function. Now you can use the same POST semantic as for sendsms.
 
2002-04-02  Stipe Tolj  <tolj@wapme-systems.de>
    * test/test_http.c: added POST method support for the HTTP client test
      program. Mainly this may be used to test POST enabled HTTP servers
      within the single boxes, like PPG, sendsms, sendota.

2002-04-01  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c, gwlib/http.c: fixed minor kannel-nag warnings

2002-03-28  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsbox.c: Added X-Kannel-SMSC on smsbox->application. It was missing

2002-03-28  Stipe Tolj  <tolj@wapme-systems.de>
    * Re-Making release 1.1.6.

2002-03-27  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: small fix

2002-03-27  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/userguide/userguide.xml: changed at2 speed information

2002-03-27  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * test/test_http_server.c: Disable SSL checking if #SSL is disabled in 
      configure
    * NEWS, Changelog: some minor fixes ;)
    * gw/smsc_at2.[ch]: changed speed behaviour. If speed is unset in smsc 
      group, kannel try to use modem->speed and if it fails, autodetects

2002-03-27  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/http.c: Disabled keepalive until someone fixes it for good

2002-03-27  Stipe Tolj  <tolj@wapme-systems.de>
    * test/test_http_server.c: included SSL support for HTTP test server

2002-03-27  Stipe Tolj  <tolj@wapme-systems.de>
    * config*, wap/cookies.[ch], gw/wap-appl.c: revised the cookie support for
      WSP and added --enable-cookies configure option.

2002-03-27  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/cfg.c: fixed release showstopper from previous multiple include
      fix from Bruno.

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * Making release 1.1.6.

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * Updated NEWS to prepare for 1.1.6.

2002-03-26  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/cfg.c: fixed bug when including several include files
    * gw/urltrans.c: added seconds to "%t"

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * checks/check_ppg.sh: checking test_http_server output seems not necessary
      in this case and more verbose error output

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_emi2.c: fixing timestamp issue for the 0-based months,
      now conversion function gets the right value

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * checks/check_[fakesmsc|pph].sh: need some time before trying to grep 
      around in the logs and descide if things are doing well

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/pushkannel.conf: adjusted log-file entries for make checking

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/date.c: bounced back to rev 1.8 to satisfy "make -s check" run
      in preparation of new release

2002-03-26  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: fixed another kannel-nag warning about unused vars
      in dlr_find_mysql()

2002-03-25  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/octstr.c: added support for Linux on PowerPC and S390
      architectures, patch submitted by "Jacob Vennervald Madsen" 
      <jvm@gopinocchio.com>
      [Msg-ID: <EB0B5D39043C344BA53B0F4AB15AE6330299B4@gop-server.GOP-server.local>]

2002-03-25  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: fixed kannel-nag compile warning in dlr_find_mysql()

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: fixed SQL statement in dlr_flush() for MySQL storage

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/bearerbox.[ch], gw/dlr.c: fixed the way mutex are locked for 
      flushing the DLR queue

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/bb_http.c, gw/bearerbox.c, gw/dlr.[ch], doc/userguide/userguide.xml: 
      added '/flush-dlr' HTTP administration command to flush the DLR queue
 
2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/bearerbox.c, gw/dlr.[ch]: added DLR information to the status page

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: added octstr_get_cstr() wrapping for global Octstr* of
      the SQL statements

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: removed call to mysql_get_proto_info()

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.c: fixed a typo in dlr_init() from the previous commit.

2002-03-24  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/dlr.[ch]: restructuring the DLR MySQL support to fit the new general
      MySQL connection configuration sections.
    * gwlib/cfg.def: changed config directives to support general MySQL 
      connections using 'mysql-connection' groups and added 'dlr-storage' type 
      indicator to core group.
    * configure[.in], aclocal.m4: added mysql-4.x detection routine, changed 
      --enable-mysql-dlr to --with-dlr[=TYPE] to support general DLR storage
      types, re-arranged configure groups, beautified configure ouput
    * doc/userguide/userguide.xml, doc/dlr-mysql.conf: added documentation about
      the new general MySQL connection groups and the specific definitions for
      external DLR storage support.

2002-03-22  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.[ch]: splitted .c to header and source file, run 
      through astyle and edited both by hand.

2002-03-22  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/cfg.def, gw/smsc_smpp.c: added manual NPI and TON defining support
      via configuration directives, patch by Alex Judd <ajudd@skywire.co.uk>
      [Msg-ID: <Pine.LNX.4.44.0203210918030.7205-101000@samsara.kgbinternet.com>]

2002-03-22  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/modems.conf, doc/userguide/userguide.xml, gw/smsc_at2.c,
      gwlib/cfg.def: added SIM buffering pool patch, 
      contributed by Oded Arbel <oded@m-wise.com>, forwarded by Andrea
      [Msg-ID: <20020321103746.QED1149.fep31-svc.tin.it@[127.0.0.1]>]

2002-03-22  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: fixed timestamp issue in at2, patch contributed by 
      Oded Arbel <oded@m-wise.com>
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B166E88@exchange.m-wise.com>]

2002-03-22  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml, gw/smsc_smpp.c, gwlib/socket.c: added
      support for multi-homed bearerbox machines to select outgoing
      ethernet device, patch contributed by Simon Beale <simon.beale@ngame.com>
      [Msg-ID: <006801c1d101$86f525f0$c80a0a0a@ngame.com>]

2002-03-21  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_cgw.c: bug and stability fixes, patch contributed by
      "Anders Lindh" <alindh@flyerone.com>
      [Msg-ID: <002401c1d039$7a92f850$8078a8c0@alindh>]      

2002-03-21  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsbox.c: Fixed sms.service display in bearerbox_access.log: it were
      only displayed in get/post url, not in text
    * gw/urltrans.[ch], gwlib/cfg.def: added default-sender to sendsms-user to
      be used if from field is unset and per-user
    * doc/userguide/userguide.xml: added default-sender information
    * doc/userguide/userguide.xml: Added an id parameter to a section title, to
      fix the link warning
    * gw/smsbox.c: Added X-Kannel-SMSC to smsbox -> appl HTTP POST

2002-03-20  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: fixed compiler warning

2002-03-19  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: fix warning 

2002-03-17  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/modems.cfg: Changed T68 initstring
    * doc/modems.cfg, gw/smsc_at2.c: Added broken boolean value to handle 
      Ericsson T68 brokenness. Probably will be removed when I or somebody else
      talk with Ericsson and understand what happened with that phone.
      Behaviour: accept +CMT: without ","; compare the +CMT value with the 
      the full string length, instead of ony the PDU part. (There's still 
      missing the +CNMA response that I cannot send to this mobile)
    * doc/userguide/userguide.xml, gw/smsc_at2.c: changed alt-dcs to boolean
    * gw/smsc_at2.c: reset keepalive time when sending a message
    * gw/smsc_at2.c: fix keepalive initialization when keepalive is not defined
      in configuration
    * gw/smsc_at2.c: fix panic when not autodetecting. I really thought that
      octstr_destroy would set the octstr to null
    * gw/smsc_at2.c: fix autodetect_modem to read every modem group (i=1)
    * gw/smsc_at2.c: at2_read_modems won't output some debugs when using 
      idnumber (autodetect), because at2_detect_modem do the output 
    * gwlib/cfg.def: fix a small memory leak
    * gw/smsc_at2.c: removed checks from cfg_get_bool, because it always sets 
      the value to 0 or 1 
    * gw/smsc_at2.c: fix parsing alphanumeric sender when receiving message
    * gw/smsc_at2.c: activate +MMS (More Message to Send) when there's more
      than one message to send

2002-03-14  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/cfg.[ch]: added cfg_get_configfile to return the config filename of
      the Cfg grp we are using; fixed a small glitch
    * gwlib/cfg.def: added modems multi-group variables
    * doc/modems.conf: added a default configuration with modem definitions, the
      same values that were hard-coded in smsc_at2. Should be included in main
      kannel.conf, using include = "modems.conf"
    * gw/smsc_at2.c: removed hard-coded modem definitions and added reading the
      modems.conf groups included in kannel.conf 
    * doc/userguide/userguide.xml: added information for modems group 

2002-03-14  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c: force sending a UCP-31 after login (thus reseting the
      last_activity_time) - sometimes emi2 login and don't send keepalives,
      specially if it can't connect at the first time

2002-03-14  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c: added a missing octdestroy and changed dcs encoding
      behaviour: if dcs equals to default + 8bit, we don't need to add a 
      DCS in XSER, the MCLs=1 is enough (Should fix complaint from 
      Avner Sternheim <AvnerS@outlook.co.il>)

2002-03-13  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: fixed a bug when keepalive field is undefined

2002-03-13 Jrg Pommnitz <jpo@condat.de>
    * fix AT2 to work with Wavecom modem again. This should not hurt 
      anything else.

2002-03-12  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: fixed a typo, removed ceil function and fixed len in 
      alphanumeric text

2002-03-12  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: increased timeout when sending the +CPIN? command; added
      a colon to +CMT so kannel doesn't interpret +CMTI; added alphanumeric
      sender interpretation to received messages; added interpretation of
      international sender to received messages, adding a '+' on it; added
      setting pid field in message received; 

2002-03-09  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c, gwlib/cfg.h: fixed some compilation warnings

2002-03-08 Andreas Fink <andreas@fink.org>
    * gw/smsc_at2.c: fixed a bug for +CPIN which wasnt waiting for OK after
    +CPIN answer. This was screwing up AT command answers and Siemens TC35
    couldnt get initialized anymore.

2002-03-08  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * doc/userguide/userguide.xml: added mysql config information from Oded 
      Arbel patch 
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B166DF5@exchange.m-wise.com>]

2002-03-08  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gwlib/cfg.h: removed two warnings

2002-03-08  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/bearerbox.c, gwlib/cfg.def: Added mysql-* configuration variables to 
      define the hostname, user, password and database name (It's still missing
      documentation about mysql) - Oded Arbel Patch
    * gw/emimsg.c, gw/emimsg.h, gw/smsc_at2.c, gw/smsc_emi2.c: Uniformization
      of log files: now AT2 and EMI2 always say "AT2[name]: something" and 
      "EMI2[name]: something". 
    * gw/smsc_emi2.c: Added name to privdata. Name is equal to smsc-id or, if 
      undefined, is [[our-host|kannel]:[our-port|*]->]host:port. (Sorry for 
      passing "whoami" Octstr through some functions, but later we should remove
      all debug() from them and only debug() at the parent and make all function
      "childs" return -1 or something)
    * gw/smsc_at2.c: Added name to privdata. Name is equal to smsc-id or, if 
      undefined, is device-name as before
    * gw/smsc_emi2.c, gwlib/cfg.def: Added our-host configuration value to define 
      kannel local ip
    * gw/smsc_emi2.c, gwlib/cfg.def: Added alt-host and alt-port configuration 
      value. If main connection fails, emi2 switch to a alternate connection. 
      Both are optional and emi2 defaults to original host/port. (ex: if 
      our_port is undef, emi2 switches to alt-host:port) (should be used with 
      retry = true)
    * gw/smsc_emi2.c: Always set status=RECONNECTING on entering 
      open_send_connection and status=ACTIVE on sucessful connection
    * gw/smsc_emi2.c: Don't set why_killed=SMSC_KILLED_PASSWORD when retry is 
      true, because emi2 won't be really killed
    * gw/smsbox.c: Added octstr_destroy to sendsms_url and sendota_url
    * gw/urltrans.c: Added %u value to sms-service, dumping UDH 
    * gwlib/cfg.def: Fixed a bug in Stipe Tolj patch that were creating a new 
      Octstr for each config line read
    * gw/http.c: Added a new header to kannel "httpd": "Server: Kannel-VERSION"
    * doc/userguide/userguide.xml: added a missing <para>

2002-03-07 Andreas Fink <andreas@fink.org>
    * gw/smsc_http.c: Made kannel accept a more structured reply
      besides "Sent". Used by some sms aggregators.

2002-03-07  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/wap_push_ppg.c, test/test_ppg.c, wap/wsp_strings.def: corrected
      MMS related well known values and stuff that is required to use
      the PPG part for the M.notification-ind processing.
    
2002-03-07  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/cfg.[ch]: implemented inclusion feature for configuration file
      processing. Now you may use 'include = "foobar.conf"' anywhere in
      the config file to include sub-configuration parts. 
    * doc/userguide/userguide.xml: added section which describes the new
      'include' configuration directive.

2002-03-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c: keepalive time is now only updated after sending an
      operation 51 or the keepalive itself
    * doc/userguide/userguide.xml: added my-number information to at2 group
    * gw/smsc_emi2.c: added my-number configuration to emi2. Sometimes, the
      large account number is not the same as the short number. 
    * doc/userguide/userguide.xml: added my-number information to emi2 group
    * gw/msg-decl.h, gw/smsbox.c, gw/urltrans.c: added charset field to 
      message. If undefined, kannel should assume default charsets by looking 
      at coding value
    * gwlib/cfg.def, gw/smsbox.c: added mo-recode boolean value to ask smsbox
      to try to recode a UCS2 received message to iso-8859-1.
    * gw/smsbox.c: commented the debug lines in charset_processing. It works,
      we don't need them anymore
    * gw/urltrans.c: added variables %c for coding and %C for charset
    * gwlib/octstr.c: added check to avoid converting from utf-8 to utf-8
    * doc/userguide/userguide.xml: added mo-recode information to smsbox group,
      and %c and %C information

2002-03-03  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_at2.c: applied sms-center configuration for at2, based on patch
      privided by Oded Arbel 
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B166D5E@exchange.m-wise.com>]
    * gw/smsbox.c: fixed a panic when text is empty and kannel try to print it
    * gw/smsc_at2.c: set keepalive to 0 if not defined in configuration; close
      device after auto-detecting modem; return ok(4) when receive the 
      +CPIN:READY reply
    * gw/smsc_at2.c, gw/smsc_emi2.c: set retry to 0 if not defined in 
      configuration

2002-02-25  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * contrib/web/*: Added a form and a php file to send messages.
      Includes text, mwi, NSM, Wap related and Siemens MMC.
      There's still some portuguese strings in it and it misses to
      java applets, but it's usable.
      I just hope that there's no problem with copyrights...
      .(and yes, you can send a mp3 via sms to a Siemens SL45i)

2002-02-25  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * Changelog: fixed spaces in my last entries.
    * gw/smsc_at2.c: fixed a bug introduced by my last patch that even on
      successful modem connection, kannel would still stay inside the 
      connection cicle (a missing "break" command).
    * gw/smsc_at2.c: Changed a possible bug. On timeout, at2_wait_modem_command
      returned -10, and every other line shows that it should be -1;
    * gw/smsc_at2.c: When auto-detecting speed, try 57600 too (if defined) 
      Siemens SL45 only uses 57600. :)
    * gw/msg-decl.h, gw/smsbox.c, gw/smsc_emi2.c, gw/smsc_at2.c: added pid http
      argument. Pid is used to send Sim Toolkit Messages.
      A get like: ...&pid=127&coding=2&alt-dcs=1&mclass=3 passes without error 
      on emi but not yet on at2. (I'm checking on that)
    * gw/msg-decl.h, gw/smsbox.c, gw/smsc_emi2.c, gw/smsc_at2.c: added alt-dcs 
      http argument. Like the configuration variable in AT2, this is used to 
      force the 0X or FX kind of DCS when sending the message. (Fixes a bug 
      when sending flash messages to old mobiles).
    * gw/smsc_at2.c: Added my-number configuration variable, so the message 
      appears in logs with the correct number instead of "1234"
    * gw/smsc_at2.c: Added keepalive configuration variable. From this many
      seconds, kannel sends an AT command and if it fails, reconnect to the
      modem (We could later use other command instead of a simple AT, to check
      if we are still connected to the GSM Network :) )
    * doc/userguide/userguide.xml: Added pid, alt-dcs and at2-keepalive info;
      Separated at and at2 in feature tables

2002-02-23  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_emi2.c: removed unused variable `retry' to make 
      kannel-nag script happy again.
      
2002-02-22  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsc_emi2.c, gw/smsc_at2.c, gwlib/cfg.def: Added retry configuration
      boolean value to force these to smsc to always try to reconnect.  The 
      idea is that if the connection went ok once, it should retry it.
      Example: M20 sometimes don't start. EMI with multiple smsc's or a bad
      terminated connection could reply with a "Too many sessions".
    * gw/smsc_at2.c: In initialization, the modem could be probbed for speed
      and modemtype. Changed code to exit or retry if one of these fail; in
      detect_speed, if every speed probe fail, speed would be 0. Now it returns
      an error
    * doc/userguide/userguide.xml: added retry configuration information

2002-02-22  Bruno Rodrigues  <bruno.rodrigues@litux.org>
    * gw/smsbox.c: fixed a bug when reply_requestfailed message was used, 
      because the memory wasn't duplicated and is deleted later

2002-02-21  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: fixing memory leak
      reported by: "Oded Arbel" <oded@m-wise.com>
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B166D80@exchange.m-wise.com>]
    * gw/smsbox.c, gwlib/http.c: fixing memory leaks
      reported by: "Nektarios K. Papadopoulos" <npapadop@inaccessnetworks.com>
      [Msg-ID: <3C73F986.58353A9F@inaccessnetworks.com>]

2002-02-20  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: fixing a list_search() mistake
      reported by: "Nektarios K. Papadopoulos" <npapadop@inaccessnetworks.com>
      [Msg-ID: <3C72B61A.1BC22DD7@inaccessnetworks.com>]

2002-02-20  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/conn.c: fixing mutex race condition in conn_register()
      suggested by: Uoti Urpala <uoti.urpala@netikos.com>
      [Msg-ID: <3C724267.1040508@netikos.com>]
      
2002-02-20  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/conn.c: fixing major bug in poll_callback() that
      caused heavy CPU cycling impact on Linux and system error
      on Solaris and Cygwin while handling the poll in/out.
      suggested by: Uoti Urpala <uoti.urpala@netikos.com>
      [Msg-ID: <3C724267.1040508@netikos.com>]

2002-02-18  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: fixed bug in smsbox_req_sendota()
      reported by Peter Lfman <petlof@aland.net>
      [Msg-ID: <004e01c1b32b$98c8b2e0$9d0a70c2@mtel.mtel.aland.fi>]

2002-02-12 Andreas Fink <andreas@fink.org>
    * gwlib/octstr.c: removed annoying info message for making gwlib
      be better usable for command line tools.

2002-02-10  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_ois.c: removed unused ois_convert_from_iso88591() for the
      sake of kannel-nag

2002-02-08  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: added Alcatel support as AT GSM modem SMSC
      submitted by: Olivier Durcu <olivier.durecu@ms.alcatel.fr>
      [Msg-ID: <3C63AA61.7000208@ms.alcatel.fr>]

2002-02-07  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/octstr.c: removed unused variable from octstr_read_pipe() in 
      order to make kannel-nag run happily.

2002-02-07  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added documentation for "exec" sms-service
    * gwlib/cfg.def: added "exec" translation type to sms-service multi
    * gwlib/octstr.[ch]: added function octstr_read_pipe() to read 
      everything from a file descriptor to an octstr.
    * gw/smsbox.c: added translation type TRANSTYPE_EXECUTE and the 
      corresponding popen() logic to execute shell commands for sms-services.
    * gw/urltrans.[ch]: added translation type TRANSTYPE_EXECUTE
    
2002-02-07  Stipe Tolj  <tolj@wapme-systems.de>
    * STATUS: added Oded Arbel's fix for timestamp issue in at2
    * gw/smsc_ois.c: Applied patch for handling 7bit encoded messages
      submitted by: Oded Arbel <oded@m-wise.com>
      [Msg-ID: <1013025181.2798.3.camel@preceptor.m-wise.co.il>]

2002-01-31  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/bearerbox.c, gw/smsbox.c: added SIGQUIT signal handling in
      signal_handler() to call gw_check_leaks() like in gw/wapbox.c.

2002-01-31  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: applied missinc forced-smsc patch for sendota service in
      smsbox_req_sendota(), sumbited by Indrek Mandre <indrek.mandre@trigger.ee>
      [Msg-ID: <B9A4FDCD41EAD411B0C900D0B7A959211451D8@EXCHANGE>]

2002-01-31 Andreas Fink <andreas@fink.org>
    * gwlib/gwlib.h: included string.h to avoid compilation warnings

2002-01-29  Stipe Tolj  <tolj@wapme-systems.de>
    * STATUS: added Alex Judd's smsc_smpps.c TON patch and added 
      an open issue for re-connect trying of smsc_emi2.c
    * gw/smsc_smpp.c: Applied patch for checking host config directive
      submited by Alex Judd <ajudd@jantar.kgbinternet.com>
      [Msg-ID: <Pine.LNX.4.33.0201290420170.22043-100000@jantar.kgbinternet.com>]
      Applied patch fixing timestamping of messages 
      submited by "Angel Fradejas" <afradejas@mediafusion.es>
      [Msg-ID: <FMEKKCFKIGBADHGIJKPJAEBNCNAA.afradejas@mediafusion.es>]

2002-01-29  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/thread.c: minimal debug output change in
      mutex_unlock_real() to be of same style as others.

2002-01-29  Stipe Tolj  <tolj@wapme-systems.de>
    * STATUS: added file to hold any relevant information about
      open issues, release showstoppers and patches that have been
      proposed and have to be reviewed. Any CVS commiter may grap
      open issues and work on this, please update status information
      as frequently as possible to hold this file up to date.

2002-01-29  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/conn.c, gwlib/thread.[ch]: revised Andreas changes
      for the debugging code of mutexes to be more gwlib/gwassert.h
      style. This should help in reading the logs more cleanly.

2002-01-28 Andreas Fink <andreas@fink.org>
    * gwlib/thread.c/h: some debugging code for Mutex problems.
      seems to fix a problem on solaris for no obvious reasons

2002-01-28 Andreas Fink <andreas@fink.org>
    * gw/smsc_smpp.c: fixed SMPP for unicode sending
    * gwlib/conn.c: reported better where mutex fails

2002-01-28  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/bb_udp.c: bind to WTLS ports 9202 and 9203 only in case we
      have HAVE_WTLS_OPENSSL defined, otherwise kwtls may be used to
      bind to those.
    * gw/shared.c: added WTLS reporting in version_report_string()

2002-01-28  Stipe Tolj  <tolj@wapme-systems.de>
	* configure{,.in}: modified --with-wtls implementation to be
      more --with-ssl style and moved it to the end.
    * gw/pki.[ch], gw/wapbox.c, wtls-secmgr.c, wtls.c, wtls_pdu.c,
      gw/wtls_pdusupport.c, wtls_statesupport.c: make at least the
      whole thing compile and build using --with-wtls=openssl.

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: added multi-cast support in smsbox_req_handle(), see 
      [Msg-ID: <3C45F6E8.F677C8D1@wapme-systems.de>]

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/wap_ota_prov.h: moved to gw/ota_prov_attr.h and added MMSURL type
    * gw/ota_prov.c, gw/smsbox.c: changed header include to ota_prov_attr.h.
    * gw/ota_compiler.c: added MMSURL type.

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/ota_prov.[ch]: fixed typo in ota_tokenize_bookmarks(). Removed 
      static function declarations from header file.

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: updated SMPP documentation for port = 0
    * gw/smsc_smpp.c: applied patch to allow disabling of SMPP threads, using
      values for the ports, suggested by Nisan Bloch <nisof@amagoblin.co.za>
      [Msg-ID: <5.1.0.14.0.20020117224637.00a845b0@amagoblin.ialien.co.za>]

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/date.c: applied fix to solve date_convert_universal()
      misbehaviour, suggested by "Angel Fradejas" <afradejas@mediafusion.es>
      [Msg-ID: <FMEKKCFKIGBADHGIJKPJEEIDCLAA.afradejas@mediafusion.es>]

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added 'ota-bookmark' documentation

2002-01-27  Stipe Tolj  <tolj@wapme-systems.de>
    * Incorporated a patch for fixing GSM 7 bit escape issue, 
      submited by "Oded Arbel" <oded@m-wise.com>
      [Msg-ID: <2CFC21DAF860CC49AF57333C4459DD4B166D19@exchange.m-wise.com>]
    * gw/shared.c: added extract_msgdata_part_by_coding()
    * gw/sms.[ch]: added sms_msgdata_len()
    * gw/smsc_at2.c: using sms_msgdata_len() now for length calculation

2002-01-26  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: Updated changes to OTA documentation
    * gw/ota_prov.[ch]: Added OTA provisioning routines in an own
      module so we keep smsbox.c more clean from those. Fixes a bug
      in ota_tokenize_settings(), previously in smsbox_req_sendota()
      which did not set PPP authentication and WTLS flags accordingly.
      Seems the logic for the two parameters have been swapped.
    * gw/smsbox.c: harmonized the literal names for the two options in 
      sending OTA messages, via Aarno's OTA xml compiler or via the 
      configuration groups in the config file. The 'otaconfig' group
      has changed to 'ota-setting' group so we have the same "terms" for
      both methods. *** BEWARE: this breaks backward compatibility with 
      the previous gw/cfg.def rules for 'otaconfig' groups! ***
      Added 'ota-bookmark' group logic to smsbox_req_sendota().
    * gwlib/cfg.def: changed declaration of 'otaconfig' group to
      'ota-setting' group to be harmonized with the OTA compiler CGI
      type names and added 'ota-bookmark' group for OTA bookmarks.

2002-01-25 Aarno Syvnen <aarno@wiral.com>
    * gw/ota_compiler.[ch]: Added compiler for XML OTA configuration documents
    * test/test_ota.c: Added a test program for it
    * gw/settings.dtd: Added a DTD for OTA compiler
    * test/test_http.c: Better debugging. Added an option for reading the 
      test message from a file; usefull when it contains lots of unsafe
      characters
    * gwlib/charset.c: In function charset_to_utf8:  If the original charset
      is utf8, return immediately (to still an annoying error message)
    * gw/wap_push_pap_compiler.c: Remove one use of string library (we should
      use octstr instead). Updated the interface comment.
    * test/test_pap.c: Added test program for pap compiler
    * gwlib/cfg.def: Added configuration variable no_sep. Some network 
      programs misshandle escaped characters.
    * gw/smsc_http.c: Implement no_sep option: URL and text as a numeric hex
      string
    * gw/smsbox.c: Dump a message with UDH, too. Added calling of the ota 
      compiler.
    * doc/userguide/userguide.xml: Updated push and OTA documentation
    * test/test_ppg.c: -H and -r options work again. Added option -k, for
      sending Connection header.
	
2002-01-23  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: added another docbook.dsl path to test for, there are
      for some BSD systems, reported by "Bernino Lind" <lind@catpipe.net>
      [Msg-ID: <OPEOKAFGKKMPLPGLEINCAEBGCGAA.lind@catpipe.net>]
    * configure: the resulting outout of configure.in produced
      by autoconf 2.13.
    * Makefile.in: changed target .xml.ps to call true(1) without absolute
      path. Some systems have /bin/true (i.e. Linux), some have /usr/bin/true
      (i.e. Cygwin). Usually true(1) should be in $PATH and hence we don't
      need any absolute path here I guess.

2002-01-23  Stipe Tolj  <tolj@wapme-systems.de>
    * Makefile.in: fixed tab layout error from previous commit (Andreas) for 
      target pkg. This has broken make.
    * solaris/mk-solaris-package.sh: fixing obviously type in referencing
      var VERSION. Andreas, this needs to be some more stylisher code here?! 

2002-01-23 Andreas Fink <andreas@fink.org>
    * Makefile.in, solaris/mk-solaris-package.sh, solaris/pkginfo,
    solaris/pkginfo.tmpl: updated packaging for solaris8.
    You now can type "make pkg"
    * gw/smsc_at2.c: fixed memory leaks as inidcated by Oded Arbel <oded@m-wise.com>

2002-01-22  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: added /usr/local tree checking for docbook.dsl.
      Reported by "Bernino Lind" <lind@catpipe.net>
      [Msg-ID: <OPEOKAFGKKMPLPGLEINCGEBECGAA.lind@catpipe.net>]
    * configure: the resulting outout of configure.in produced
      by autoconf 2.13.

2002-01-18  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* gwlib/http.c (http_header_find_first): A bug corrected so that the 
	function returns "<value>" instead of " <value>".

2002-01-18  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: added EXE_EXT variable to be used for systems that
      have executable extensions, i.e. Cygwin 1.x. This makes certain
      Makefile targets working more cleanly.
    * configure: the resulting outout of configure.in produced
      by autoconf 2.13.
    * Makefile.in: added @EXE_EXT@ substitution tags for the executable
      extensions.

2002-01-17 Andreas Fink <andreas@fink.org>
    * gw/smsc_emi2.c fixed small and rare memory leak 
    * gw/smsc_smpp.c  corrected sender of DLR
    * gw/bb_store.c removed compiler warnings
    * gwlib/conn.c typecast to get rid of CRYPTO_set_id_callback warnings
    * gw/smscconn_p.h added smsc_cgw prototype

2002-01-16  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: fixed a typo
 
2002-01-16  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_cgw.c: applied patch for trn bug fix and minor changed
      send in by Anders Lindh <alindh@flyerone.com>
      [Msg-ID: <004601c19eb0$5769f8c0$8078a8c0@alindh>]

2002-01-16  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/list.h: added declaration of new function list_append_unique()
    * gwlib/list.c: added implementation of new func list_append_unique()

2002-01-16  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: fixed a typo in smsc_http.c module 
      documenation block, where "username" and "password" where used
      instead of "smsc-username" and "smsc-password".

2002-01-16  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* gwlib/http.c (client_is_persistent): A function added to the HTTP 
	server to define whether the connection from the client is persistent 
	or not. The value is stored into the client object and used to decide 
	whether to close or reuse the client.
	(http_send_reply): Added a check to the outgoing headers to cut the 
	connection if there is "Connection: close" header.

2002-01-15  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/urltrans.c: fixed a bug while sending an empty SMS message
      and servicing it with the default sms-service and using the
      %k escape code. Reported by Angel Fradejas <afradejas@mediafusion.es>.
      [Msg-ID: <FMEKKCFKIGBADHGIJKPJIEABCLAA.afradejas@mediafusion.es>]
      
2002-01-15  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: fixed a bug regarding MWI messages reported by
      Bernino Lind <lind@catpipe.net> 
      [Msg-ID: <OPEOKAFGKKMPLPGLEINCAEKICFAA.lind@catpipe.net>]
      caused by the commit to revision 1.162.
      
2002-01-15  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_cgw.c: added interface implementation to Sonera 
      ContentGateway. Contributed by Anders Lindh <alindh@flyerone.com>.
      [Msg-ID: <000a01c19931$f126e5b0$8078a8c0@alindh>]
    * gw/smscconn.c: added call to smsc_cgw_create()
    * gwlib/cfg.def: added "appname" configuration directive for
      smsc group.
    * doc/userguide/userguide.xml: added "appname" documentation to
      smsc group.

2002-01-09 Andreas Fink <andreas@fink.org>
    * gw/smsc_at2.c: fixed missing parameter

2002-01-09 Andreas Fink <andreas@fink.org>
    * gw/smsc_at2.c, gw/smsc_emi2.c, gw/smsc_smpp.c, gw/wap_push_pap_compiler.c
    gwlib/conn.c, gwlib/conn.h, gwlib/date.c, gwlib/gwthread-pthread.c
    gwlib/http.c. gwlib/thread.c, test/test_smsc.c, test/test_udp.c
    minor cleanups to remove some compilation warnings.

2002-01-08 Andreas Fink <andreas@fink.org>
    * gw/smsc_at2.c: cleaned up a few things. introduced line sleep
    to replace old debugging sleep(1)'s in the code.

2002-01-04 Andreas Fink <andreas@fink.org>
    * gw/smsc_emi2.c: fixed a PANIC situation after idle expired

2002-01-03 Andreas Fink <andreas@fink.org>
    * gwlib/thread.c: changed mutex_unlock to report calling location
    in case of failure
 
2002-01-03  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed an NULL pointer assertion reported
      by Stefan Cars <stefan@globalwire.se>.
      [Msg-ID: Pine.BSF.4.21.0112312155080.28423-100000@jocke.transit.net]

2002-01-03  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added documentation entries for
      "sendsms-url" and "sendota-url" directives within the smsbox
      group. Added optional (o) flag to all ssl-enabling boolean
      directives.

2002-01-03  Stipe Tolj  <tolj@wapme-systems.de>
    * aclocal.m4: added file for autoconf macros. Included 
      AC_CHECK_VERSION macro which is capable of comparing 
      installed and required version strings for software
      dependencies, libxml2 in our case.
    * configure.in: changed the way libxml2 version is checked.
      We not use AC_CHECK_VERSION from the aclocal.m4 file.
      This obsoletes the changequote() calls which are not 
      supported for autoconf 2.5x, hence we are now 2.52 
      compatible. Rearranged --with-ssl and --enable-ssl to 
      ensure the right lib and header include paths are displayed.
      Minor additional changes.
    * configure: the resulting outout of configure.in produced
      by autoconf 2.13. (autoconf 2.52 also works)

2001-12-31  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsbox.c: changed hardcoded HTTP return status values to
      use HTTP_* enum defines instead. Added config directive to
      set sendsms and sentota request URLs, defaulting to
      /cgi-bin/sendsms and /cgi-bin/sendota respectivly. The user
      may change these with "sendsms-url" and "sendota-url" directives
      within the smsbox group.
    * gw/wap_push_ppg.c: substituted hardcoded HTTP return values
      with HTTP_* enum defines.
    * gw/wap_push_ppg_pushuser.c: same as wap_push_ppg.c
    * gwlib/cfg.def: added allowed directives "sendsms-url" and
      "sendota-url" to the smsbox group.
    * gwlib/http.h: added a couple of additional HTTP_* return 
      values specified in HTTP/1.1 from RFC2616.
    * test/drive_wapbox.c: substituted hardcoded HTTP return values
      with HTTP_* enum defines.
    * test/test_ppg.c: same as drive_wapbox.c 

2001-12-28  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: fixing the ls option --full-time which is not 
      supported on Solaris 2.6.
    * configure: the resulting output of configure.in produced by
      autoconf 2.13.
 
2001-12-27  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: re-wrote checking for openssl library and headers
      and a couple of cosmetic clean-ups and re-arrangement of single 
      checking routines. Added Solaris pkgadd support definitions.
    * configure: the resulting output of configure.in produced by
      autoconf 2.13.
    * gw/shared.c: added mysql version output in version_report_string()
      
2001-12-25  Stipe Tolj  <tolj@wapme-systems.de>
    * gwlib/conn.c: remoted label error for conn_wrap_fd() in case
      the ssl specific code causes an connection error. This also fixes
      an warning message while compiling.

2001-12-25  Stipe Tolj  <tolj@wapme-systems.de>
    * utils/attgetopt.c: exclude implementation of getopt() if config.h
      has HAVE_GETOPT_IN_STDIO_H defined. This fixes make run bug
      for Solaris 2.6 (at least).

2001-12-25  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: fixed -L/<path> linked flag option for configure's
      --with-mysql option [thanks to Abd Rahman Johari 
      <ajohari@man.iwpowerhouse.com> for pointing this out]
    * configure: resulting output of fixed configure.in

2001-12-23  Stipe Tolj  <tolj@wapme-systems.de>
    * utils/kannel-nag: changed cvsroot and added output support for
      different platforms

2001-12-23  Stipe Tolj  <tolj@wapme-systems.de>
    * configure.in: added options --with-mysql and --enable-mysql-dlr
    * configure: resulting output of configure.in
    * config.h.in: added #define HAVE_MYSQL and MYSQL_DIR
    * gw/bb_box.c: fixed undefined reference error for conn_get_ssl()

2001-12-21  Stipe Tolj  <tolj@wapme-systems.de>
    * doc/userguide/userguide.xml: added documentation for the introduced
      configuration directives "smsbox-port-ssl" and "wapbox-port-ssl" in
      the core group.
    * gw/bb_boxc.c: added parameters for calling ssl-enabled box connection
      using boolean configuration directives "smsbox-port-ssl" for bearerbox
      to smsbox communication and "wapbox-port-ssl" for bearerbox to wapbox
      communication. Changed the way boxc_status() displays the current 
      status of kannel's boxes, including ssl information for internal conn.
    * gw/bb_http.c: Commented out call to use_global_server_certkey_file()
      within httpadmin_start(), this is now done globaly by conn_config_ssl().    
    * gw/bearerbox.c: added checking in starter() if corresponding cert and 
      key files are specified in the conf file for ssl-enabled inter-box 
      connections. Changed the way the status is displayed.
    * gw/shared.c: added OpenSSL version string within widely used 
      version_report_string(). Added information that established inter-box
      connections are ssl-enabled if so.
    * gw/shared.h: changed declaration of connect_to_bearerbox() to include
      ssl flag.
    * gw/smsbox.c: added handling for "smsbox-port-ssl" conf directive.
    * gw/wapbox.c: added handling for "wapbox-port-ssl" conf directive.
    * gwlib/cfg.def: added "smsbox-port-ssl" and "wapbox-port-ssl" to allow
      boolean configuration of ssl-enabled internal box connections.
    * gwlib/conn.c: changed the way ssl connections are established in 
      conn_wrap_fd() and checked. Fixes also a not previosly detected bug,
      that causes non-ssl enabled connections on the same port as wanted 
      for ssl, hence SSL_accept() = -1 was not handled correctly. Fixed
      a potential (non-reported) bug in conn_destroy() that causes errors
      if we call unlocked_write() in case of ssl-enabled connection.
      Added function conn_get_ssl() to return the corresponding pointer.
    * gwlib/conn.h: included declaration of conn_config_ssl() and 
      conn_get_ssl().
    * gwlib/gwlib.h: added header file inlusion for ssl.h.
    * gwlib/http.c: added information to display if HTTP clients are using
      ssl to connect to an ssl-enabled HTTP server.
      Fixed potential bug if client_create() is called, but the previous
      ssl-enabled conn_wrap_fd() has failed, now we check.
    * gwlib/http.h: added response code for HTTP_BAD_REQUEST.
    * gwlib/ssl.c: added file to hold all ssl specific code.
    * gwlib/ssl.h: added file for declaration of all code implemented 
      in ssl.c. 

2001-12-20: Andreas Fink <andreas@fink.org>
   * gw/smsc_emi2.c: fixed a problem resulting in timing out at high load.
   *gw/bb_smscconn.c, gw/msg-decl.h, gw/smsbox.c:
      introduced field "account" for accounting purposes.
   *docs/userguide/userguide.xml: updated documentation for &access=...

2001-12-19 Andreas Fink <andreas@fink.org>
    *configure.in: added changes made to configure too.

2001-12-18 Andreas Fink <andreas@fink.org>
    * gw/dlr.c: corrected missing comma

2001-12-18 Andreas Fink <andreas@fink.org>
    * configure: include mysqlclientlib into linking if on the system to make dlr with mysql happy
    * gw/dlr.c: use a mutex with mysql variant to avoid mysql errors because two commands
      execute at exactly the same time under high load. Some other cleanups.
    * gwlib/cfg.def: some config stuff for future modules

2001-12-13 Aarno Syvnen <aarno@wiral.com>

    * test/test_ppg.c: Reading a configuration file, using it. This is for
      future, command line should work, too. Return 1 for abnormal exit and
      0 otherwise.
    * gw/wap_push_ppg.c: A bug and bad design spotted by Jrg Pomnitz correct-
      ed: do not overload required attributes, use address type for selecting
      the bearer. Corrected use of any values: in this case, revert to default
      bearer and network, depending on address type (GSM+CSD or GSM+SMS). IP
      bearer should work again.
    * gw/wapbox.c: Related change. Another bugfix.
    * wap/wsp_unit.c: Related change.
    * gw/wap_push_ota.c: Related change.
    * gw/wap_ppg_push_machine.def: Related change. Another bugfix.
    * checks/check_ppg.sh: Added a shell script for testing ppg.
    * test/*.txt: Files used by this shell script
    * gwlib/conn.c: Removed a debug message telling about initialisation of
      SSL libraries (caller can log this). Make check expect only error logg-
      ing (problem here are test functions using gwlib).

2001-12-13 Jrg Pommnitz <jpo@condat.de>
    * gw/smsc_emi2.c: fix bug that could cause SMSC flooding under
      heavy load.

2001-12-12 Jrg Pommnitz <jpo@condat.de>
    * gw/smsbox.c: fix charset handling for sendsms POST requests
      and use octstr_case_compare when comparing Content-Types
      (Quote RFC2045, page 12: Matching of media type and subtype
      is ALWAYS case-insensitive).

2001-12-11 Jrg Pommnitz <jpo@condat.de>
    * gwlib/octstr.c: libxml seems to dislike a conversion from utf-8 
      to utf-8, so this works around this problem.

2001-12-10 Jrg Pommnitz <jpo@condat.de>
    * gw/smsbox.c: rewrite of charset_processing
    * gwlib/octstr.c, gwlib/octstr.h: new function octstr_recode

2001-12-07  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* gwlib/charset.[ch]: Function charset_shutdown added to release the
	libxml charset aliases.

	* gwlib/gwlib.c (gwlib_shutdown): Call to the charset_shutdown added.

2001-12-07 Jrg Pommnitz <jpo@condat.de>
    * gwlib/conn.c: fix error handling in conn_open_ssl

2001-12-07  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_at2.c: fixed a typo for the ericsson R520m,
      reported by Bob Pepin <bob@gms.lu>

2001-12-06 Jrg Pommnitz <jpo@condat.de>
    * gwlib/cfg.def: introduce new config option ssl-trusted-ca-file
    * gwlib/conn.c: implement client side SSL certificate verification
    * doc/userguide/userguide.xml: document new option ssl-trusted-ca-file
	
2001-12-06 Jrg Pommnitz <jpo@condat.de>
    * gwlib/conn.c, gwlib/conn.h: new function 
      void conn_config_ssl (CfgGroup *grp); to uniformly configure
      the SSL 
    * gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c: use conn_config_ssl
      to configure SSL code.

2001-12-05  Stipe Tolj  <tolj@wapme-systems.de>
    * gw/smsc_smpp.c: fixed bug in smsc-id setting, 
      reported by Indrek Mandre <indrek.mandre@trigger.ee>

2001-12-05 Jrg Pommnitz <jpo@condat.de>
    * gwlib/conn.c: fix longstanding bug in SSL locking. This fixes the
      crashes in gwlib_shutdown()
	
2001-12-05 Jrg Pommnitz <jpo@condat.de>
    * gw/smsc_emi2.c: code cleanup/reorganization, new feature "idle-timeout"
    * gwlib/cfg.def: add new smsc config option "idle-timeout"
    * doc/userguide/userguide.xml: document new config option "idle-timeout"

2001-12-05 Andreas Fink
    * gw/smsc_smpp.c, gw/smpp_pdu.h: introduced some constants for number type

2001-11-30 Jrg Pommnitz <jpo@condat.de>
    * gw/wap_push_ppg.c: fix octstr_destroy of uninitialized username

2001-11-28  Stipe Tolj  <tolj@wapme-systems.de>

    * gwlib/conn.c: fixed the SSL server shutdown bug reported by Aarno.

2001-11-23 Aarno Syvnen <aarno@wiral.com>

    * gw/wap_push_ppg.c: Added calling of SL compiler. Bugfixes. Specially,
    Kannel again uses international phone number format. (And will use now on:
    this is a  requirement of pap compiler, which needs an unique client 
    identifier.)

    * gw/wml_compiler.c: To avoid conflicts, give new name (containing st) to
    parsing functions operating on compiler data structure containing string
    tables.

    * gw/wap_push_sl_compiler.[ch]: Added SL compiler

    * gw/wap_push_si_compiler.c, gw/xml_shared.[ch]: Transferred parsing 
    functions operating on compiler data structures not containing a string
    to xml_shared.

    * test/test_ppg.c: Added content type for SL and sia.

    * test/test_sl.c: Added test program for SL compiler.

    * gw/wap_push_ppg_pushuser.c: A bugfix: Do not check whitelist and black-
    list when we have an IP address. Another.

    * gw/wap_push_pap_compiler.c: A related change. A problem noticed by Jrg
    Pomnitz: Do not reject a pap document without qos element (it is optional)
    Instead, set default bearer and network based on address type (GSM+CSD for
    IP addresses. GSM+SMS for MSISDN addresses)

    * wap/wap_events.def: Ditto.

    * gwlib/charset.c: Removed debug message from charset_init. Make check
    assumes error logging only.

    * gwlib/cfg.def: Added attribute for server size configuration files.
    Added first part of test_ppg configuration.

2001-11-22 Jrg Pommnitz <jpo@condat.de>
	* doc/userguide/userguide.xml: fix doc to get through Jade.

2001-11-22 Andreas Fink <andreas@fink.org>
    * gw/smsc_smpp.c: set number plan indicator and type of number for
    international numbers and alphanumeric ones.

2001-11-20  Stipe Tolj  <tolj@wapme-systems.de>

    * gateway/doc/userguide/userguide.xml: added documentation about SSL 
      specific configuration directives and changed some typing from PPG
      part for cosmetical reasons.  

2001-11-15  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

    * gw/wml_definitions.h, gw/wml_compiler.c: Removed the windows character 
      set registration from this module; it shouldn't have been here in the 
      first place.

    * gwlib/gwlib.c (gwlib_init): Added a call to charset_init.

    * gwlib/charset.[ch]: New function charset_init added that registers 
      windows charsets into the libxml character set aliases.

    * gw/xml_shared.c: Added #include <string.h> to eliminate a compiler 
      warning.

2001-11-14 Jrg Pommnitz <jpo@condat.de>
    * gw/wap_push_ppg.c: fix octstr_destroy of uninitialized username
    * gw/smsc_at2.c: new function: at2_octstr_destroy(Octstr *ostr)
      that makes function pointers work when octstr_destroy is a macro
    * gwlib/octstr.c.debug,gwlib/octstr.h.debug: debug versions
      of gwlib/octstr.[ch]

2001-11-13 Jrg Pommnitz <jpo@condat.de>
    * test/test_ppg.c, gw/smsc_emi.c: minor fixes to get through
      Intel C/C++ compiler for Linux 5.0.1

2001-11-12 Jrg Pommnitz <jpo@condat.de>
    * gw/bb_smscconn.c: fix status reporting without a SMSC 
      connection id (might legally be NULL).

2001-11-12 Aarno Syvnen <aarno@wiral.com>
    * gw/wap_push_pap_compiler.c: More debugging statements 

2001-11-12 Aarno Syvnen <aarno@wiral.com>
    * doc/userguide/userguide.xml: Documented ppg authentication configuration.

2001-11-09 Jrg Pommnitz <jpo@condat.de>
    * gateway/gw/wap_push_ppg.c: change Content-Transfer-Encoding to 
      "binary" after successful decoding.

2001-11-09 Aarno Syvnen <aarno@wiral.com>
    * gw/wap_push_pap_compiler.c: Accept lowercase versions of bearer and net-
      work

    * gw/wap_push_ppg_pushuser.c: Drop a strange warning

2001-11-09 Aarno Syvnen <aarno@wiral.com>
    * gw/pushkannel.conf: Updated the sample configuration file
	
    * test/test_ppg.c: Handle http level responses. Added a switch for sending
      authorization in headers. Response server challenge with authorization.
	
    * test/test_http_server.c: Answer whitelist and blacklist requests with
      a hardcoded response.
	
    * gw/wap_push_ppg_pushuser.c: Rewrote. Do not close connection ever. Treat
      username and password as a pair.
	
    * gw/wap_push_ppg.c: Fixed a memory leak. A bugfix.
	
    * gwlib/cfg.def: Added configuration variables.

2001-11-08 Jrg Pommnitz <jpo@condat.de>
    * gateway/gw/wap_push_ppg.c, gateway/test/test_ppg.c:
      Add support for BASE64 encoded WAPPush content.

2001-11-08 Andreas Fink <andreas@fink.org>
    * gw/smpp_pdu.c, gw/smpp_pdu.def, gw/smsc_smpp.c
      Added patch from Nisan <nisof@clickatell.com>
      to support delivery reports on SMPP

2001-10-31 Aaarno Syvnen <aarno@wiral.com>
    * gwlib/cfg.def: Added new configuration variables.
    
    * gw/pushkannel.conf: Updated sample configuration file.

    * gw/wap_push_ppg.c: A bugfix: Reject a push attempt without headers. This
      was spotted by Jong Hien Zin. Reject a PAP document when network or 
      bearer is required (by setting corresponding attribute) but not set.
      This was spotted by Stipe Tolj. Reject other application ids than 
      push.sia when push is confirmed. This was spotted Jong Hien Zin.
	
    * gw/wap_push_ppg_pushusers.[ch]: Added pi authentication. Not tested, yet.

    * gwlib/dict.c: Dict_destroy now ignores silently NULL input.

    * test/test_ppg.c: Change the hardcoded document. Now is is SI over SMS.

2001-10-29 Andreas Fink <andreas@fink.org>
    * gw/smsc_at2.c: changed default speeds for siemens to 19200
      also updated so Siemens do a sleep wait after opening the port
      as suggested by "Alexei Pashkovsky" <alexei@m-wise.co.il>

2001-10-26  Stipe Tolj  <tolj@wapme-systems.de>

    * gw/wap_ota_prov.h: added file containing WAP OTA configuration 
      message tokens for the WBXML encoding.

    * gw/smsbox.c: refined static Octstr *smsbox_req_sendota() to use official
      WAP OTA configuration specification to support all new handsets capable
      of receiving OTA configuration messages via SMS bearer.

2001-10-24  Stipe Tolj  <tolj@wapme-systems.de>
 
    * gw/connc.c: fixed a typo in void
      use_global_client_certkey_file(Octstr *certkeyfile)

    * doc/userguide.xml: fixed some minor typos in new PPG documentation
      
2001-10-24 Aarno Syvnen <aarno@wiral.com>

    * gw/wap_push_ppg.c: A bugfix. And another: do not send password/username
    pairs to lower layers. Some authentication code.

    * wap/wap_events.def: Removing username/password pairs from events.

    * gw/wap_push_ota.c, wap/wsp_unit.c: Related changes.

2001-10-19  Stipe Tolj  <tolj@wapme-systems.de>
    
    * README: replaced kannel.org with kannel.3glab.org to make the 
    current home of Kannel more clear. Added a note that Win32 systems
    are supported too using Cygwin 1.x and pthreads-win32 library.

2001-10-19  Stipe Tolj  <tolj@wapme-systems.de>

    * gw/bb_boxc.c: changed conn_wrap_fd() prototype call (see
    gwlin/conn.c)

    * gw/bb_http.c: required additions in httpadmin_start() to detect in
    the config file (core group) if the admin HTTP server should use SSL,
    indicated by "admin-port-ssl = yes", then load the global server
    certificate and key. Changed http_open_port() prototype call (see
    gwlib/http.c)

    * gw/cert.pem: added x509 PEM encoded sample public certificate used
    in gw/smskannel-ssl.conf.

    * gw/key.pem: added x509 PEM encoded sample private key used in
    gw/smskannel-ssl.conf.

    * gw/smsbox.c: required additions in init_smsbox() to detect in the
    config file (smsbox group) if the sendsms HTTP server should use SSL,
    indicated by "sendsms-port-ssl = yes", then load the global server
    certificate and key. Changed http_open_port() prototype call (see
    gwlib/http.c)

    * gw/smsc_emi2.c: changed conn_wrap_fd() prototype call (see
    gwlin/conn.c)

    * gw/smsc_fake.c: changed conn_wrap_fd() prototype call (see
    gwlin/conn.c)

    * gw/smsc_http.c: changed http_open_port() prototype call (see
    gwlib/http.c)

    * gw/smskannel-ssl.conf: added sample configuration file for SSL
    enabled HTTP servers using sample certificate (cert.pem) and key
    (key.pem).

    * gw/wap_push_ppg.c: changed http_open_port() prototype call (see
    gwlib/http.c)

    * gwlib/cfg.def: added "admin-port-ssl" to core group and
    "sendsms-port-ssl" to smsbox group. Changed "ssl-certkey-file" to
    "ssl-client-certkey-file" to make it more semantic and added
    "ssl-server-cert-file" and "ssl-server-key-file" within the core group
    for the server side.

    * gwlib/conn.c: added global server SSL context, X509 cert and RSA
    key for server side. Changed conn_wrap_fd() to include ssl enable or
    disable flag and included the SSL magic here. Added tmp_rsa_callback()
    function for the private RSA key. Added server side mutex. Added
    server_ssl_int() function which initialized server side SSL stuff.
    Added server_shutdown_ssl() function which is used for server side
    shutdown. Changed use_client_certkey_file() prototype to
    use_global_client_certkey_file() to be more semantic. Added
    use_global_server_certkey_file() routine to load global server
    certificate and private key.

    * gwlib/conn.h: changed prototype definition for conn_wrap_fd().
    Added prototype definitions for openssl_locking_function(),
    server_init_ssl(), server_shutdown_ssl(). Changed prototype name
    use_client_certkey_file() to use_global_client_certkey_file(). Added
    prototype definition for use_global_server_certkey_file().

    * gwlib/http.c: added int ssl to struct server to reflect if this
    server is SSL enabled. Added array int ssl[MAX_SERVERS] within
    server_thread() to reflect which servers are SSL enabled and how
    conn_wrap_fd() has to be called. Changed http_open_port() to include
    boolean flag if this port is used for an SSL enabled server. Added
    server_ssl_init() call within http_init(). Added server_shutdown_ssl()
    all within http_shutdown().

    * gwlib/http.h: changed prototype definition for http_open_port(). 

    * test/drive_smpp.c: changed conn_wrap_fd() prototype call (see 
    gwlin/conn.c)

    * test/drive_wapbox.c: changed http_open_port() prototype call (see
    gwlib/http.c) and conn_wrap_fd() prototype call (see gwlin/conn.c)

    * test/test_http_server.c: changed http_open_port() prototype call
    (see gwlib/http.c)

    * test/test_smsc.c: changed http_open_port() prototype call (see
    gwlib/http.c) and conn_wrap_fd() prototype call (see gwlin/conn.c)
    
2001-10-18: Aarno Syvnen <aarno@wiral.com>

	* doc/arch/arch.xml: Documented sessionless wsp and unconfirmed push
	architecture.
	* doc/userguide/userguide.xml: Documented use of Nokia Toolkit as a
	part of push server developing enviroment. 

2001-10-18 Andreas Fink <andreas@fink.org>
	* gw/dlr.c: added support for MySQL based delivery reports
	* gw/smsc_emi2.c: fixed delivery report failure if text
	contained slashes. They are now replaced with a dot

2001-10-17 Jrg Pommnitz <jpo@condat.de>
	* doc/userguide/userguide.xml: fix doc to get through Jade.

2001-10-17  Nick Clarey  <nclarey@3glab.com>

        * smsc_at.c: Added change from Matt Flax <flatmax@cse.unsw.edu.au>
        which logs retry failures correctly.

2001-10-17 Aarno Syvnen <aarno@wiral.com>

	* gw/wapbox.c: Added ppg configuration group. This is passed to the
	ppg module. Currently enough for a ppg working with a trusted pi.
	* gwlib/cfg.def: Added ppg configuration group definitions.
	* gw/wap_push_ppg.c: Read ppg group. Use it for program control.
	* gw/wap_push_ppg.h: Changed the prototype of function wap_push_ppg_
	init.
	* gw/pushkannel.conf: Updated the sample configuration file.
	* doc/userguide/userguide.xml: Document ppg configuration group.

2001-10-16 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* smsc_emi2.c: corrected a bug when username and keepalive aren't
	defined and timeout would be undefined
	* smsc_at2.c: changed position of speed config reading to be able
	to force a serial speed

2001-10-16 Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_pap_compiler.c: Reject wrong address type for a
	bearer (a phone number for IP bearer, IP address for SMS).
	* gw/wap_push_pap_compiler.h: Tell this in the module comment.

2001-10-15 Jrg Pommnitz <jpo@condat.de>

	* doc/userguide/userguide.xml,doc/arch/arch.xml: fix doc to get 
	through Jade.

2001-10-12 Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_ota.c, gw/wap-appl.c, gw/wap_push_pap_compiler.c, 
	gw/wap_push_si_compiler.c, gw/wap_push_ppg.c: Better module comments.

2001-10-12 Aarno Syvnen <aarno@wiral.com>

	* gwlib/dict.c: A bugfix in function dict_put_once.
	* gw/wap_push_pap_compiler.c: Reject unparsable phone numbers properly.
	(Global phone number is here an unique identifier, so we must insist
	it.)
	* gw/wap_push_ppg.c: Stylised warnings. Updated comments. Add calling
	of dict_put_once.

2001-10-11 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* dlr: Changed Delivery Reports Code. Instead of having a DLR sms-
	-service, each service has a dlr-url field where is defined the url
	to get when a delivery report arrives. DLR are routed based on the
	existing field "name" of sendsms-user.
	* userguide.xml: documentation for delivery reports and some minor 
	corrections
	* bb_smscconn.c: added dlrmask field to alog; added code to expect 
	a report type of sms and write to log correctly
	* bb_store.c: when loading store, ignore all delivery report kind 
	of messages.  SMSC wouldn't sent them to us anyway.
	* dlr.c: removed keyword and id variables and added service and url. 
	Service is the service name (defined by name= on sendsms-user or 
	sms-service groups) and url is the url to fetch. Added DLR_BUFFERED 
	awareness (don't delete dlr if it's expecting DLR_SUCCESS or 
	DLR_FAIL. dlr message text now contains the url, if given by dlrurl 
	CGI parameter. later the text will be replaced by smsc text 
	reply (if any) plus '/' separator plus this url.
	* dlr.h: added DLR_BUFFERED, DLR_SMSC_SUCCESS and DLR_SMSC_FAIL
	* msg-decl.h, shared.c, smsbox.c: replaced dlr_id and dlr_keyword 
	for dlr_url
	* msg.h: added message type 3: report
	* smsbox.c: if it's a http get for a delivery-report, don't log nor 
	reply back to user. 
	* smsc_cimd2.c: added & 0x03 to mantain compatibility.  Someone 
	please encode the DLR_SMSC_* and DLR_BUFFERED
	* smsc_emi2.c: added DLR_BUFFERED awareness and code to generate 
	delivery-reports when message hits SMSC (ACK) or fails (NACK). If 
	SMSC replyes with text, include it on delivery message as 
	"smsc-text"/"given-url"
	* urltrans.c: added a new dict with the service names to able 
	delivery reports to search back for which service the original 
	message was sent. Added urltrans_find_service. Changed get_pattern 
	to be aware of delivery reports and return correct values (pattern 
	would be the dlr-url); added %n (service name), %d (dlr value) and 
	%A (smsc reply on delivery  report)
	* : It's still missing some kind of DLR_SMSC_FAIL reports when a 
	message cannot be routed

2001-10-11 Andreas Fink <andreas@fink.org>
	* smsc_at2.c: fixed bugs while sending SMS, autosensing speed
	* config.guess, config.sub: updated to detect MacOS X correctly
	Note: MacOS X doesnt support signals being sent to threads so
	we cant disable them.

2001-10-10 Aarno Syvnen <aarno@wiral.com>

	* doc/userguide/userguide.xml: Some corrections.
	* doc/arch/arch.xml: Wrote document about push architecture. 

2001-10-08 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gwlib/http.c: When url was like http://user:pass@site, the first
	colon was changed to @ to differentiate from the colon for port
	number. Now the code replaces it back to colon and replaces password
	with "*". (unfortunatly keeps the same amount of chars)
	* gw/smsc_at2.c: added a select command before the read, so kannel
	delays some time if there's nothing to read (copy from old at). This
	way, at2 doesn't eat my cpu :)
	* gw/smsc_emi2.c: delay in x miliseconds was incorrect. Fixed.

2001-10-08 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsc_emi2.c, gwlib/cfg.def: Added "throughput" (messages per
	second) variable to configuration. Delays 1/throughtput seconds 
	between sending messages.
	* gw/smsc_emi2.c, gwlib/cfg.def: Added "window" configuration that
	defines the window size when using windowed flow-control (flow-
	control=0). Defaults to 100, like before.
	* gw/bb_boxc.c, shared.c, shared.h, smsc_cimd.c, smsbox.c, 
	smsc_cimd2, smsc_emi.c, smsc_emi2.c, smsc_fake.c, smsc_ois.c, 
	smsc_smpp.c, wapbox.c, gwlib/conn.c, conn.h, http.c, socket.c, 
	socket.h, test/drive_smpp.c, drive_wapbox.c, fakesmsc.c, 
	test_cimd2.c, test_smsc.c: Added preliminary our_host parameter to
	later someone code our_host config parameters. Will be needed if we
	want to fix our ip-address when we have ip aliases or to define the
	ip we listen to (instead of ANY) to limit connections: bind bearerbox
	to localhost only, for example.

2001-10-08 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsc_emi2.c: Support ACK without timestamp. Note that if smsc
	doesn't send timestamp in ACK, delivery reports wouldn't work.

2001-10-03 Aarno Syvnen <aarno@wiral.com>

	* doc/userguide/userguide.xml: Added documentation for push proxy
	gateway

2001-09-27 Aarno Syvnen <aarno@wiral.com>
	
	* gw/wap_push_ppg.c: Removed #if 0 -code. Send username-password-pair
	to OTA layer. Accept GSM SMS bearer. Correct comparisions between
	signed and unsigned types. Remove MIME headers. Committed bugfixes by
	Bernard Valton. Do confirmed push when preferconfirmed QoS is request-
	ed, because Kannel supports confirmed push (a suggestion by Bernard
	Valton). 
	* test/test_ppg.c: Added HTTP status checking. Added an option for
	interval between pushes.
	* gw/wap_push_ota.c: Send username-password-pair to WSP layer. Accept
	GSM SMS bearer.
	* wap/wsp_unit.c: Send username-password-pair to wdp layer. Accept
	GSM SMS bearer.
	* wap/wap_events.def: Added username-password pair to events. Added
	bearer and network fields to events.
	* gw/wapbox.c: Added an ability to send SMS message from wapbox. It
	is splitted when necessary.
	* gw/smsbox.c, gw/shared.[ch]: Transferred SMS message splitting code
	to the module shared.
	* gw/bb_boxc.c: Accept sms messages from wapbox, route them to smsc.
	* gw/wap_push_pap_compiler.c: Correct comparisions between signed and
	unsigned types. A bugfix.
	* gw/wap_push_si_compiler.c: Correct comparisions between signed and
	unsigned types.
	* gw/xml_shared.h: Added missing declarations.
	* test/test_http_server.c: Better debugging of received requests.
	* gw/wap_push_pap_mime.c: MIME parser expected a surplus crlf. Correct-
	ed this. Accept lower case versions of the headers.
	* gw/smsc_http.c: Added new configuration variables no-sender and no-
	coding to make URLs simpler.
	* gw/cfg.def: Added these variables.
	* gwlib/dict.[ch]: Currently outcommented code for dict_put_once. This
	function puts key to the dict, and doing this again is an error.
	* checks/check_httpsmsc_kannel.sh: Corrected an infinite loop.
	* gw/pushkannel.conf: Added sample configuration for push.

2001-09-21 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsbox.c: Forced 7bits coding if coding=DC_UNDEF and udh is 
	empty. Fixed bug in text concatenation

2001-09-21 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsbox.c: Fixed a bug in reply-* octstr. Smsbox panics
	on second error reply

2001-09-20 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsbox.c: Check for msgdata=NULL when loggin to alog
	* gwlib/http.c: Added sms-service basic authentication.
	url = "http://user:pass@host:port/path/file". Added parsing to 
	parse_url and used existent http_add_basic_auth call
	* gw/smsc_emi2.c: when using flow-control (stop-and-wait), if a
	-31 message is not ack, make write=1 again to restart sending 
	messages 

2001-09-19 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/bb_store.c: Fixed two bugs that don't close store.lock when
	store_dump is called. One was (introduced by me) in store_rename
	and the other was a missing close in store_dump to close old file.
	* gw/smsc_emi2.c: Removed alert (31) sending just after login and
	forced it in send_loop. This way, first message received will be
	correctly processed.

2001-09-19 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/sms.c: fields_to_dcs correctly encodes mclass=MC_UNDEF and
	dont set bit "mclass present"
	* gw/smsc_at.c, smsc_at2.c, smsc.c, smsc_p.h, docs/userguide: 
	Added alt-dcs configuration field to smsc = at, to use the 0xFX 
	mode if set. Removed fixed mode=1 when modem = SIEMENS
	* gw/Smsc_emi.c: Corrected a bug. Old flag_8bit != 0 should be
	coding = DC_7BITS

2001-09-17 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/sms.c: Fixed a bug in mode=1 dcs encoding and some other in
	dcs_to_fields ('cause mclass and coding starts with 1, not 0)
	* gw/bb_store.c: When I added a line saying which store file was
	kannel reading, I had a mistake. Instead of printint the filename, 
	I was printing the file. Ops, sorry. Fixed now.

2001-09-14 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c
	added some callbacks to bb_smscconn_sent and 
	bb_smscconn_send_failed as suggested by Paul Keogh

2001-09-12 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* bb_store.c: don't try to rename store.lock to store.lock.bak if
	store.lock does not exists

2001-09-10 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c gw/smsc_emi2.c
	incoming messages where counted twice.

2001-09-10 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c
	made the counters really count
	the SMSC ID is now set on incoming

2001-09-07 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c
	some systems dont have SSIZE_MAX defined
	so I presume its larger than 1024 in those cases
	On my system SSIZE_MAX is INT_MAX which is ((int)(~0U>>1))
	
2001-09-07 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c
	fixed to wait for OK while sending
	AT+CNMS to acknowledge the received
	packet. Changed the doc

2001-09-06 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* userguide.xml, bb_smscconn.c, control.html, msg-decl.h, sms.c, smsbox.c,
	smsc_http.c, smsc_ois.c: replaced "class" to "mclass" to avoid future C++
	conflits
	* gw/http.c: in http_status_class, changed int class to sclass
	* gw/smsc_at2.c: removed some unused variables and added some '(' ')' to
	clean gcc warnings

2001-09-06 Andreas Fink <andreas@fink.org>
	* gw/smsc_at2.c
	fixed some oddities left over from the old driver.
	debugged for nokia and siemens. enabled hardware
	handshake for better performance.

2001-09-05 Andreas Fink <andreas@fink.org
	* gw/smscconn_p.h gw/smscconn.c gw/smsc_at2.c
	new AT driver for GSM modems. This one is operating
	in GSM Phase 2+ mode. Well tested with siemens TC35
	config options are as in old at driver with addionally:
	  speed = speed in bps. 0 = autobaud
	  modemtype = as in old driver but defaulting to autodetect
	  (can be specified by passing "auto")

2001-09-03 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* Makefile.in, docs/*/*.xml: Corrected Makefiles, xml and other 
	files so now all documentation should compile
	* Makefile.in: Added RTF generation of documentation; install-docs
	now install userguide, alligata and wtls files; tweaks in jade lines
	* configure.in (and configure): changed --disable-ssl code, ssl is
	still enable per-default, but before --enable-ssl would triger 
	incorrectly --disable-ssl; 
	* debian/changelog, debian/rules: some tweaks to generate CVS deb file
	* user2.1.xml and wtls.xml: moved to own directories and renamed 
	user2.1 to alligata. Present on doc/alligata and doc/wtls
	* Makefile.in: added "convert" dependency to generated .ps files 
	from .png to be able to compile documents and done some tweaks to xml
	* gw/smsbox.c: charset_processing now returns -1 for error and 0 for ok

2001-09-02 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* userguide.xml: Written information about latest patch. Added 
	"Installing Kannel from DEB packages" section. Added info about
	removing prefixes using unified-prefix. Corrected some glitches.
	Added status.[txt|html|xml] information. Corrected validity and
	deferred text (it's minutes, not seconds). Added modem types table
	(well, just the table, we could add a list of tested modems in there).
	Splitted "feature list". One list have the "user" features (what 
	matters for who is using kannel. The other have "internal features" 
	(what matters for coders/administrators). Added X-Kannel headers
	list.
	* gw/control.html: Added new fields to form and included some 
	javascript (I hope it's ok) to select host and port to compose URL.
	* gw/smsbox.c: Added charset processing to sms-service (and hopefully
	to sendsms push). Tested sms-service functionality. 
	* gw/smsbox.c: Unicode Patch: I need help to test and improve the 
	code using other charsets.
	* doc/kannel.conf: Added ALL possible fields, commented, so it's
	easier to see what we want and uncomment it.

2001-09-01 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/smsbox.c, gw/msg-decl.h, gw/smsc_*.c: "charset", "class" and 
	"coding" patch. Use class to define Message Class (older flash). 
	Use coding to select manually 7/8bit or UCS2.  Use charset to tell 
	kannel which charset the text is.
	* gw/smsbox.c, gw/smsc_emi2.c, gw/msg-decl.h: Removed mwimessages 
	(udh string will be included on userguide)
	* gw/smsbox.c, gw/msg-decl.h: Added compress field (compress code not 
	yet included)
	* gw/sms.c, gw/smsc.h: Added fields_to_dcs and dcs_to_fields to 
	encode/decode DCS field according to ETSI GSM 03.38 in new sms.c. 
	Added MC_*, MWI_* and DC_*
	* gw/smsbox.c: Added reply-requestfailed and reply-emptymessage 
	configuration strings.
	* gw/smsc_*.c: coding (older flag_8bit) is retro-compatible. 
	* gw/smsbox.c, gw/urltrans.c: If unset, defaults to 7 bit, or 8 bit 
	if udh is set. 
	* gw/smsbox.c: charset defines which charset text field is. default 
	to ISO-8859-1 for coding=DC_7BIT, UTF16BE for DC_UCS2 (%00%33%00%34) 
	or raw (ignored) for DC_8BIT
	* gw/smsc_emi2.c: Tested in emi2. 
	* gw/smsc_at.c: Changed dcs processing using fields_to_dcs. 
	* gw/smsc_at.c: Added validity field to AT code. If unset, uses older 
	validity configuration value. 
	* gw/smsc_at.c: If modem is a Siemens, use Fx mode of DCS.
	* gw/smsc_cimd.c: If message is empty, in cimd, change to a one-space 
	message. (Can't cimd send empty messages ?)
	* gw/smsc_emi.c: In old emi, is DCS defined in XSER2 like in emi2 ?
	* gw/urltrans.c: Added allowed/denied-prefix to sms-service too. Just 
	like accepted-smsc, if a number prefix is denied on one service, kannel 
	will search for other service. This way, we can have one service for 91 
	started numbers and other for other prefixes.
	* gw/urltrans.c: Added black/white list to urltranslations. If rejected, 
	search for a "black-list" service (just like default works)
	* Just try 
	http://...&class=0&text=%00%33&coding=3
	http://...&class=0&text=&coding=3&charset=ISO-8859-1

2001-08-31 Bruno Rodrigues <bruno.rodrigues@litux.org>
	* gw/bb_smscconn.c: If message is NACKed, write it to store so 
	message got out of queue.
	* gw/smsbox.c, gwlib/cfg.def: Added white/black-list send filter to 
	sms-user and global smsbox.
	* gw/smscconn.c, gw/smsc.c: Added allowed-prefix send filter to 
	smsc (besides denied-prefix)
	* gw/bb_smscconn.c: Added more fields to bearerbox_access.log
	* gw/: Added dlr.h and dlr.c from Andreas Fink <andreas@fink.org> as of
	Message-Id: <p05100301b7b0fc812c5c@[x]> [delivery reports (update)]
	* Corrected some glitches, cleaning some warnings when using gcc -Wall

2001-08-30 Andreas Fink <andreas@fink.org>
	* gw/bearerbox.c, gw/emimsg.c, gw/msg-decl.h, gw/smsbox.c,
	* gw/smsc_cimd2.c: Added delivery report mechanism.
	* to use it: ask for a DLR by specifying &dlrmask =
	* 0 = no dlr, 1 = success, 2 = failure, 3 both.
	* and &dlrid= a unique application specific ID.
	* the DLR is treated as an incoming message of the style:
	* "DLR 1/2 uniqueid  smscname" (1 = success, 2 = failure).
	* gw/smsc_http.c: if charset is specified 7 bit is assumed.
	* make it work with kannel/kannel SMSC links so concatenation
	* works again in that case.

2001-08-28 Andreas Fink <andreas@fink.org>
        * gw/smsc_emi2.c: fixed alphanumeric sender ID to
        use GSM character set (added charset_latin1_to_gsm(str);)

2001-08-21 Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_ppg.c: Implement response-result
	* wap/wap_events.def, gw/wap_push_pap_compiler.c: Corresponding
	changes
	* gw/wap_push_ppg.c, gw/wap_push_pap.c: Merge these modules
	* gw/wapbox.c: Corresponding changes 

2001-08-15 Aarno Syvnen <aarno@wiral.com>

	* test/test_mime.c: Added a program for testing the mime parser
	* test/test_si.c: Added a program to test the si compiler
	* gw/wap_push_ppg.c: Send no X-Wap-Application-Id header, when 
	push application id is wml.ua.
	* gw/wap_push_pap_mime.c: Bugfixes. Return NULL instead of contents
	when parsing not successfull.
	* gw/wap_push_pap.c: Change code accordingly. Set ppg listening port
	to 8080.

2001-08-13 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* smsc_emi2.c: Added waiting for first alert command and fixed other 
	small issue that, when using stop-and-wait flow-control, messages 
	stayed on queue if received a message between a send and a ack wait.

2001-08-13 Andreas Fink <andreas@fink.org>
	* gw/smsc_at: added new modem type siemens-tc35
	
2001-08-08  Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Better help. Added option to set push application
	id. Set content type default to si.
	* gw/wml_definitions.h, gw/xml_definitions.h: Created a file for
	definitions common to all xml compilers.
	* gw/wap_push_pap_compiler.c: A bugfix
	* gw/shared.[ch], gw/wap_push_pap_compiler.c: Transferred OSI date
	validation. Made it more picky.
	* gw/wap_push_si_compiler.[ch]: Wrote si tokenizer
	* gw/wap_push_ppg.c: Added calling of the si compiler. Set push 
	application id wml.ua, when this header is missing or unparsable.
	* gw/xml_shared.[ch], gw/wml_compiler.c: Transferred function common
	to xml compilers to a specific file.
	* gw/wap_push_pap.c: Called push server listening port to 8080.

2001-08-02  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* gw/wml_compiler.c (parse_attribute): A bug reported by Bernard 
	Valton fixed: unknown attribute is encoded with LITERAL and a string 
	table reference.

2001-08-01  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* gwlib/charset.h: Updated the comments about the supported character 
	sets.

2001-07-31 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* bearerbox.c, smsbox.c: added alog_reopen to HUP signal handler.
	* smsbox.c: removed "include <strings.h>" -> not needed anymore;
	set sms_type to mt_push when receiving messages through http 
	interface: When I restarted kannel, all messages on store were
	returned to the default service instead of beeing retransmitted.
	* smsc_at.c: added some ATI queries to modem; On the while loop
	to retransmit PDU, added sending AT+CMGS; removed \n from AT:command;
	Added "Read from modem" debug dump; 
	* smsc_emi2.c: accept XSER 02 with DCS, but didn't yet convert it 
	to other fields (flash, encoding, etc); Added wait-ack configuration
	to define for how long to wait for (N)ACKs (default still 60 secongs).
	* smsc_emi2.c: added flow-control configuration. If unset or 0, stays
	in windowed mode (I'll do later the code to define the window value).
	If 1, uses stop-and-wait flow control. 
	
2001-07-28 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* bb_http.c: There were two cgi-bin/status.xml.
	* utils.c: if first parameter in unified-prefix is a -, 
	that means to remove the other prefixes from number
	
2001-07-27 Jrg Pommnitz <jpo@condat.de>
	* add X-Kannel-From header to HTTP GET requests from smsbox
	  (configurable in the config file, use the send-sender=1 option).

2001-07-23 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* userguide.xml: in emi2 section, username and password ain't
	mandatory.
	* smsbox.c, userguide.xml: There are at least two messages replied
	back to user via SMS that should be configurable. I've activated
	reply-couldnotfetch and reply-couldnotrepresent and added them to
	smsbox group variables.

2001-07-22 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* smsbox.c, smsc_emi2.c, userguide.xml: Added "validity" and
	"deferred" SMS fields.

2001-07-22 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* smsc_emi2.c, userguide.xml: receive-port now is optional

2001-07-19 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* userguide.xml: removed some extra characters.
	* smsbox.c, smsc_emi2.c: corrected some bugs.

2001-07-19 Jrg Pommnitz <jpo@condat.de>
	* add User-Agent header to HTTP requests from smsbox.

2001-07-19 Jrg Pommnitz <jpo@condat.de>
	* fix userguide.xml to get through Jade.

2001-07-19 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* gw/msg-decl.h, gw/smsbox.c and gw/smsc_emi2.c: Changed "flash" 
	to "flag_flash" and added flag_mwi, mwimessages and flag_unicode.
	* gw/smsbox.c: Added code to process the mwi and unicode flags. 
	Checked the flash code. Removed the "empty string from provider" 
	to allow sending messages without text. Added some missing 
	octstr_destroy in flags processing.
	* gw/smsc_emi2.c: Added code to encode DCS using flash, mwi and
	unicode flags. Corrected a typo :).
	* doc/userguide/userguide.xml: Added description for flash, mwi
	and unicode flags.
	* Note: not testet yet the X-Kannel replies and concatenation. :(

2001-07-19 Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Changed content type testing. Bug fixes.
	* gw/wap_push_ppg.c: Fixed a memory leak.
	* gw/wap_push_pap.c: Handle various push content type errors.
	* gw/wap_push_pap_compiler.c: Handle an empty attribute. 

2001-07-18 Bruno Rodrigues <bruno.rodrigues@litux.org>

	* gw/smsc_emi2.c: Added the "keepalive" code. If you want to keep
	your connection always opened, set "keepalive" in conf file and
	kannel will send alert commands to keep it alive.
	* doc/userguide/userguide.xml: added the "keepalive" description.

2001-07-18 Yann Muller <ymuller@3glab.com>

	* doc/userguide/user2.1.xml, wtls.xml: applied fix by Jrg Pommnitz
	to generate HTML docs.
	
2001-07-17 Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Added parameter for content type. Some of these
	(nil, multipart) are for testing. A bugfix.
        * gw/wap_push_pap.c: Fixed a memory leak.
	* gw/wap_push_ppg.c: Added handling of a SI source (this is not 
	compiled yet). Accept all content types, compiling only wap related
	ones. NOT_SPECIFIED is handled like UNCONFIRMED (suggestion by 
	Bernard Valton). Regard the message non-transformable when we have
	no content type. Fixed a memory leak. A bugfix. Committed bugfixes
	by Bernard Valton.

2001-07-16 Andreas Fink <andreas@fink.org
	* gw/smsbox.c gw/smsc_http.c: fixed some uninitialized values for flash
	* gw/bb_smscconn.c: changed status page to include SMSC name

2001-07-16  Tuomas Luttinen  <Tuomas.Luttinen@reach-u.com>

	* doc/userguide/userguide.xml: Updated the information about the 
	libxml version requierd to 2.2.5.

2001-07-11 Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Made help more helpful

2001-07-11 Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_ppg.c: Committed bug fixes made by Bernard Valton

2001-07-10 Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_ppg.c: Committed bug fixes made by Bernard Valton.
	Fixed a memory leak.

2001-07-10 Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Fixed a memory leak
	* gw/wap_push_pap.c: Do not panic when the order of command line files
	  is wrong. Tobias Seelig spotted this problem.
	* gw/wap_push_pap_compiler.c: Fixed a memory leak.

2001-07-09 Yann Muller <ymuller@3glab.com>

	* doc/userguide/user2.1.xml,wtls.xml,images/*: Documentation for Alligata
	  (3G Lab's version of Kannel) in XML format.

2001-07-06 Yann Muller <ymuller@3glab.com>

	* gw/wapbox.c, wap/wtls*.c, gwlib/pki.c: separated wtls specific code
	with #defines.
	
2001-07-06 Andreas Fink <andreas@fink.org
    * gw/smsbox.c, gw/smsc_emi2.c, gw/msg-decl.h, gw/smsc_http.c, smsc_smpp.c:
      added support for flash.

    * gw/smsc_emi2.c: forced maximum length for OAdC and AdC and set number type 
      correctly for international numbers starting with a + instead of using
      alphanumeric mode.

2001-07-05 Yann Muller <ymuller@3glab.com>

	* config.h.in, configure.in: added options for wtls.
	
	* wap/wtls*: all WTLS files (state machines, PDUs...)
	
	* wap/wap_event.*: added WTLSPDUS definitions and events.
	
	* gw/wapbox.c: load the certificates and keys for WTLS, inititialise,
	  dispatch datagrams according to port in main().
	  
	* gw/bb_upd.c: add_services for WTLS ports.
	
	* gwlib/cfg.def: added certificates options to the wapbox config.
	
	* gwlib/pki.[ch]: support functions for keys (incomplete).

2001-07-05 Aarno Syvnen <aarno@wiral.com>

	* test/test_ppg.c: Added a simple pi for testing ppgs

	* gw/wap_push_pap.c: Added communications with pi

	* wap/wap_events.def: Added an event Bad_Message_Response. 
	Corrected definitions of Push_response

	* gw/wap_push_pap_compiler.c: Rewrote. Corrected bugs spotted by 
	Bernard Walton

	* gw/wap_push_ppg.h: Added x000 pap result codes to enumerations

	* gw/wap_push_ppg.c: Added descriptions of aforementioned codes.
	Corrected a bug spotted by Bernard Walton

	* gw/wap_push_mime.c: Corrected handling of optional headers


2001-06-22  Dave Holland <david.holland@3glab.com>

	* configure.in, configure: added reference to html and tex
	stylesheets for RH7.1 (and hopefully future versions)

2001-06-11  Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_pap.c: Testing normally disabled

2001-06-11  Aarno Syvnen <aarno@wiral.com>

	* gw/wap_push_pap_mime.[ch]: Added MIME parser for PAP module (no 
	multipart push messages yet)

	* gw/wap_push_pap.c: Added calling of MIME parser and header handl-
	ing

	* gw/wap_push_pap_compiler.c: Corrected erroneous logic in enumer-
	ations checking.

2001-06-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c: Check for smpp->receiver instead of
	smpp->transmitter in smsc_smpp_create(). Pointed out by Le
	Nhu Hai.

2001-06-01  Jarkko Kovala  <jarkko.kovala@iki.fi>

	* gwlib/http.c, gwlib/gwthread-pthread.c: Move the OpenSSL 
        ERR_remove_state() from the http code to the gwthread code.

2001-05-31  Richard Braakman  <dark@wapit.com>

	* Making release 1.1.5.

2001-05-28  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Fixed handling of unrecognized %-escapes in
	sms-service URLs (for example, "%x" was supposed to stay
	unchanged, became "%%" instead).

2001-05-27  Richard Braakman  <dark@wapit.com>

	* doc/userguide/userguide.xml: Added big table of smsc_* features,
	to get an overview of which smsc driver supports what.  It's still
	mostly empty.

2001-05-26  Richard Braakman  <dark@wapit.com>

	* gw/urltrans.c: Fixed bug in find_default_translation() that would
	make the smsbox panic if there was no default.

2001-05-24  Paul Keogh <paul.keogh@anam.com>

	* gw/bb_http.c, gw/bb_boxc.c, gw/bb_smscconn.c, bearerbox.c: Added
	support for the cgi-bin/status.xml HTTP status command. Status is
	returned as a well-formed XML document.

2001-05-22  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Fixed two bugs with redirects. One happened when
	the redirect URL was recognized as unsupported/invalid
	(f0o://bar), the other when Kannel didn't get a proper HTTP reply
	from the server it was redirected to.

2001-05-18  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_at.c: Initialize some local variables to shut off compiler
	warnings and (possibly) fix bugs.

2001-05-17  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Added a new sms-service escape, %i, that adds the
	smsc-id of the message.

	* doc/userguide/userguide.xml: Documented above change.

2001-05-17  Richard Braakman  <dark@wapit.com>

	* gwlib/thread.h: Wrap gw_claim_area() around mutex_create(),
	so that the user of the mutex shows up in the report of leaked
	or damaged memory areas.

	* checks/check_fakewap.sh, checks/check_http.sh: Use port 8040
	instead of 8080, it's more likely to be free.

2001-06-17  Jarkko Kovala  <jarkko.kovala@iki.fi>

	* doc/userguide/userguide.xml: Documentation for the
	ssl-certkey-file variable.

2001-05-16  Richard Braakman  <dark@wapit.com>

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_cimd2.c, gwlib/cfg.def:
        Added configuration variable "sender-prefix" for CIMD2.

        * doc/userguide/userguide.xml: Documented new variable.

2001-05-16  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn.c, gw/bb_boxc.c: now that we have octstr_format, 
	fixed buffer overflow problems pointed out by Alexei Pashkovsky

2001-05-16  Uoti Urpala  <uau@wapit.com>

	* gw/bb_boxc.c: In boxc_sender(), flush outgoing data before
	doing list_consume()s than can block indefinitely.

2001-05-14  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c: Made system-id variable obsolete (i.e., if used,
	the user is warned and told to use smsc-username instead). Things
	should still work, and this allows us to remove the variable in a
	future version.
	
	* */*.conf: Renamed system-id to smsc-username in sample config
	files.
	
	* doc/userguide/userguide.xml: Updated to correspond to this.

2001-05-14  Lars Wirzenius  <liw@iki.fi>

	* test/fakewap.c: Applied (after two months of waiting!) Neil
	Hunter's patch for making fakewap more suitable for benchmarking
	WAP gateways.

2001-05-14  Lars Wirzenius  <liw@iki.fi>

	* benchmarks/bench_sms.conf: Add smsc-username, which is now
	used instead of system-id.
	
	* checks/check_list.c: #undef strcmp so that stupid glibc bug
	won't cause half a dozen of warnings for a single call.

2001-05-14  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gw/smsbox.c: Wrapped the ssl_certkey_file declaration in 
	ifdefs, like the code that uses it so that we don't have gcc
	complaining about unused variables.

2001-05-14  Nick Clarey  <nclarey@3glab.com>

	* gw/smsc_at.c: 7-bit messages plus UDH now encoded correctly. 
	Thanks to Paul Keogh for the patch, as well as Richard Braakman for
	supervising the change to the UDL calculation code.

2001-05-11  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: accept-x-kannel-headers and assume-plain-text
	were set incorrectly.

2001-05-09  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Fixed formatting of a message field (%04d vs
	%4d). Spotted by Andreas Fink.

	* gw/smsbox.c: Fixed a nasty typo in the previous change.

2001-05-09  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c: Return meaningful HTTP status codes when replying
	to requests to sendsms-port.

2001-05-08  Uoti Urpala  <uau@wapit.com>

	* gwlib/conn.c: Added missing unlock_out(conn) to conn_flush().
	Found by Michael Mulcahy. Since conn_flush() is currently unused
	this didn't cause any Kannel bugs.

2001-05-07  Jarkko Kovala <jarkko.kovala@iki.fi>
 
	* config.in, config.h.in: Added autoconfiguration for
	libssl and a --disable-ssl option. Checks for libssl
	libraries and compiles it in if found and not disabled.
	Also checks if the OpenSSL libraries are multithread-
	enabled.
 
	* gw/smsbox.c, gw/smskannel.conf, gwlib/cfg.def: Added 
	configuration of a global SSL certificate and key file 
	with variable 'ssl-certkey-file'.
 
	* gwlib/conn.[ch]: Added support for client-side thread-safe
	use of SSL; new interface conn_open_ssl() similar to 
	conn_open_tcp(). Also initialization functions for some
	stuff needed for SSL and interfaces to use global certificates
	and to get certificates from remote hosts.

	* gwlib/http.[ch]: Changed the http_start_request interface
	to accept variable certkeyfile for call-specific certificate &
	private key files. Changed to initialize the SSL stuff from
	conn.c at startup.
 
	* gw/smsbox.c gw/smsc_http.c, gw/wap-appl.c, test/test_http.c,
	gwlib/xmlrpc.c: Changed calls to http_start_request to use the
	new interface.

2001-05-07  Richard Braakman  <dark@wapit.com>

	* Making release 1.1.4.

2001-05-07  Richard Braakman  <dark@wapit.com>

	* gwlib/list.h: list_len(NULL) returns 0.  This has been true
	for some time now.  Make it part of the documented interface.

2001-05-07  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.[ch]: Added octstr_dump_short() for dumping octstrs
	that are expected to be short printable strings.  The output is
	much shorter for such strings, but the function can still handle
	any kind of octstr.

	* gwlib/smpp_pdu.c: Made smpp_pdu_dump() use octstr_dump_short().

2001-05-07  Richard Braakman  <dark@wapit.com>

	* Updated NEWS file.

2001-05-07  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Changed error handling for (re)opening
	connections, reorganized some code.

2001-05-07  Richard Braakman  <dark@wapit.com>

	* gw/smsc_smpp.c: Use system-type for receiver as well as transmitter.

2001-05-06  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Fix edge cases in octstr_get_bits and
	octstr_set_bits.

2001-05-04  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Made packet_encode_message() cope if the
        sender field is not set.

2001-05-04  Richard Braakman  <dark@wapit.com>

	* configure.in, configure: Made libxml version check require
	2.2.5 again, and added some output about the check.

2001-05-04  Aarno Syvnen <syvanen@wapit.com>

	* gw/wap_push_pap_compiler.c: Fixed an uninitialised variable

2001-05-03  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_text): A bug fix: added a check that around 
	text emphasis the white space is not removed.

2001-05-03  Lars Wirzenius  <liw@iki.fi>

	* Makefile.in, configure.in: applied patch from Craig Emery to
	slightly improve (and simplify!) building and configuring.

2001-05-03  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Log username (at info level) whenever someone
	uses the sendsms service. Based on request from Johan du Buson.
	
	* gw/smsc_smpp.c: The transmitter thread is woken up as soon as
	there is something to send. Previously it woke up only when it
	was time to send the next enquire_link PDU. This was slighly slow.
	
	* test/drive_smpp.c: Deal with enquire_link PDUs.

2001-05-03  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c: Implemented system-type and address-range
	variables from the config file. In the I/O thread, timeouts
	are calculated to the next time when enquire_link needs to be
	sent, instead of using 1.0 seconds always. Configuration file
	is checked that it specifies smsc-username and smsc-password.
	
	* test/drive_smpp.conf: Added missing smsc-username and
	smsc-password.

2001-05-03  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c: Partly rewritten to use a simpler thread
	structure and to deal with I/O errors (such as broken
	connections). Most of the code is the same, but it has been
	rearranged.
	
	* test/test_smsc.c, gwlib/date.[ch]: Moved function
	date_universal_now from test_smsc.c to date.c.
	
2001-05-03  Aarno Syvnen <syvanen@wapit.com>

	* gw/wap_push_pap_compiler.[ch]: A compiler for compiling pap control
	messages to wap events.

	* gw/wap_push_ppg.c: Do not panic, when pi message does not not have
	any headers (a warning instead). Corrected a misspelling. Use prefix
	PAP in all enumerations defined by pap protocol.

	* gw/wap_push_ppg.h: Another misspelling corrected. Hnadle default 
	values of pap attributes (by reordering, so that the numeric equi-
	valent of an attribute has value 0).

	* gw/wap_push_pap.c: A new test version of pap module.

	*wap/wap_events.def: Corrected a typo.

2001-05-03  Nick Clarey  <nclarey@3glab.com>

	* gw/smsc_at.c: Applied patch from Alex Judd (ajudd@snaz.com),
	adding an automatic retry to message sending should it fail.

2001-05-02  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Fix encoding of text messages that have UDH.
	(It got the length wrong due to a _probable_ misreading of the
	spec.  If SMSCs implement what we thought it had said, then we
        have a problem.)

2001-05-02  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Made octstr_get_char() not crash if pos < 0.
	It now returns -1 instead.

2001-05-02  Richard Braakman  <dark@wapit.com>

	* gw/wap_push_ppg.h, wap_push_pap.c: Renamed TRUE and FALSE
	to PAP_TRUE and PAP_FALSE.  (These are enumerated protocol
	values.)  Needed for portability to systems that predefine
	TRUE and FALSE macros.

2001-04-30  Richard Braakman  <dark@wapit.com>

	* gw/smsc_{at,cimd2,ois,smpp}.c, gw/sms.h, gw/smpp_pdu.h:
        Standardized on two data coding scheme values, called DCS_GSM_TEXT
        and DCS_OCTET_DATA.  Not all protocols can use these, but at least
	the ones that do will all use the same values.  Both have now been
        chosen to set only the alphabet, and leave message class alone.

2001-04-29  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* configure.in,configure: Allow libxml versions between
	2.2.10 and 2.2.19.

2001-04-26  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_smpp.c, gw/smscconn.c,
	gw/smscconn_p.h: Converted SMPP driver to use the SMSCConn
	interface. This is needed to improve reliablity of the driver,
	which will happen next.

2001-04-26  Richard Braakman  <dark@wapit.com>

        * gw/smsc_cimd2.c: Reopen connection if SMSC does not respond
        to "alive" request.

2001-04-26  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Handle 100-Continue responses.

2001-04-26  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Stopped sending "delivery request" when
        logging in.  It is not needed in the normal configuration, and
        it confuses some SMSCs.  Thanks to Antti Valtokari for tracking
	this down.  (If it _is_ needed in your configuration, then you
        will not get messages that arrived while Kannel wasn't connected.)

	* doc/userguide/userguide.xml: Explain what configuration the
	cimd2 driver expects from the SMSC.
	
2001-04-25  Tuomas Luttinen  <tuo@wapit.com>

	* configure[.in] : Kannel now requires libxml 2.2.5 or newer. Reasons 
	for this are: *encondingAliases functions that were included in 2.2.3
	              *a bug that affects XML attributes in 2.2.3 and 2.2.4

2001-04-25  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c, gw/emimsg.c: Changed debugging output, made
	reconnections more robust.

2001-04-25  Richard Braakman  <dark@wapit.com>

	* gw/smsc_at.c: In pdu_encode(), revert to using a Protocol-ID
        of 0 (implicit) rather than 0x1F (which doesn't seem to be
        defined).  This might be the key to the problems people have
        had with this module.  Please let us know.

2001-04-25  Richard Braakman  <dark@wapit.com>

	* doc/TESTCASES: Removed, we have "make check" now.

2001-04-24  Uoti Urpala  <uau@wapit.com>

	* doc/userguide/userguide.xml: Added information about emi2.

2001-04-24  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c, test/test_smsc.c: Implemented sending of
	enquire_link packets and handling of their responses. This is
	very simplistic, still: It doesn't check that the responses
	are actually received. That will have to be implemented later.

2001-04-24  Richard Braakman  <dark@wapit.com>

	* gw/smsc_wrapper.c: Produce an info log when a reconnection
	attempt succeeds.

2001-04-23  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c, test/fakesmsc.c, utils/start-stop-daemon.c,
	wap/wsp_push_client_machine.def, wap/wsp_session.c: Applied
	manually parts of patch send by Dirk-Willem van Gulik as
	improvements for MacOS X. Mainly this included renaming of some
	local variables (uint -> ui), presumably because MacOS X defines
	uint as a macro. Also reformatted fakesmsc and start-stop-daemon
	output and corrected preprocessor syntax.
	
2001-04-23  Richard Braakman  <dark@wapit.com>

	* gwlib/http.[ch]: Added support for HEAD method, supplied
	by Jarkko Kovala.

2001-04-23  Richard Braakman  <dark@wapit.com>

	* gwlib/socket.c: Clear sockaddr_in structure before using it,
	to make FreeBSD happier.

2001-04-21  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Fixed a stupid bug in the previous fix.

2001-04-20  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Fixed a bug in SMSC time stamp parsing.

2001-04-19  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: Fixed bad assertion in prepend_catenation_udh().

2001-04-18  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Made gwthread_join safe.

2001-04-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_store.c: updated writing to file a bit. Still problem if
	messages arrive faster than store_cleanup works, needs to modify
	to use hash at some point

	* gw/bb_smscconn.c: changed so that when shutting down, ignores
	messages that cannot be routed. So if you have not enabled
	SMS-store, some messages can be lost.
	
2001-04-18  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: fixed some typos 

2001-04-17  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c, gw/emimsg.[ch]: Added support for operation type
	01, other changes to work with different SMSC setups.

2001-04-17  Richard Braakman  <dark@wapit.com>

	* gw/urltrans.c: In strip_keyword(), use the right test for
	end of octstr.  This fixes handling of messages that only
	have the keyword.

2001-04-17  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: When the http module is shut down, set run_status
	to limbo so it can be restarted. Paul Keogh wanted this so that
	(parts of) Kannel can run as a COM object.

2001-04-17  Lars Wirzenius  <liw@iki.fi>

	* doc/CodingStyle: Added a paragraph about CVS tags.

2001-04-16  Richard Braakman  <dark@wapit.com>

	* gw/wap_push_ota.c: Removed <arpa/inet.h> and <netinet/in.h>
	includes.  They are not used by anything and cause portability
	problems.

2001-04-13  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c: Bugfix, messages sent with sendsms GET requests
	were always marked as binary (this bug was created when sendsms
	POST was added).

2001-04-12  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_smpp.c: Make it optional to dump or not dump SMPP pdus
	that are received or sent. Not dumping them reduces "make bench"
	log file sizes by about half a gigabyte.

2001-04-12  Kalle Marjola  <rpr@wapit.com>

	* gw/urltrans.c (urltrans_get_pattern): fixed that %s cannot cause
	overflow if there is catch-all argument

2001-04-11  Richard Braakman  <dark@wapit.com>

        * gw/urltrans.c: Slight simplification of strip_keyword().

2001-04-11  Kalle Marjola  <rpr@wapit.com>

	* README: changed smsc interface guidelines to point to
	smscconn_p.h

	* gw/smsc_interface.def: removed as depricated

	* doc/userguide/userguide.xml: fixed typo, it is strip-keyword,
	not split-keyword

	* gw/urltrans.c: modified strip-keyword function

	* gw/bearerbox.c: changed shutdown message a bit when killedby
	signal

2001-04-10  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_store.c: some little fixes, dumps acks to file, too, if
	any in memory

	* gw/bb_boxc.c: added some comments for possible future updates
	
2001-04-10  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_store.c: Bugfix: comprasion was wrong way around...

2001-04-10  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_store.c: Updated to use double-memory buffering and to do
	frequent dumps out of that data. Now it is fast and does not take
	much disk space. Interval is currently fixed (5 secs), and there
	is still no message queue limitations, and sendsms (push9 messages
	are not yet supported. But otherwise it should work.

	* gw/bearerbox.c|h: required little modifications

	* doc/userguide/userguide.xml: added notes of store-file variable
	
2001-04-10  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: Add no-cache headers to sendsms replies.

2001-04-05  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Fixed a bug in the sending of HTTP replies. It was
	unlikely to be triggered with replies as short as Kannel normally
	uses, though.

	* gwlib/conn.[ch]: The callback function of registered connections
	is called when all queued output is sent. This was required for
	the above fix.

2001-04-04  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: Bugfix. Fixed memory leak in header parsing

2001-04-03  Richard Braakman  <dark@wapit.com>

	* gwlib/fdset.c: When destroying an fdset with active fd's,
        simply ignore those fd's and make it the caller's responsibility
	to deal with them.  This reverses a change from 2000-11-22, which
	was made at the time to fix the http shutdown sequence.  It didn't,
	and now it's in the way of a better solution.

2001-03-30  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Enabled keepalive connections again.

2001-03-29  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Test in find_translation() was the wrong way
	around, 'accepted-smsc' actually worked like denied-smsc. Fixed.
	Also enabled using 'accepted-smsc' in default SMS-service groups.

2001-03-29  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Added support for the "our-port" parameter.

	* gwlib/conn.[ch]: Added function conn_open_tcp_with_port, which
	allows specifying the local port number.

2001-03-29  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Added a test that checks whether connections in
	the connection pool have been closed before trying to reuse them.

2001-03-28  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_emi2.c: Wrote. New implementation of the emi_ip protocol.

	* gw/emimsg.c, gw/emimsg.h: Wrote. Functions for working with EMI
	messages. Used by smsc_emi2.c and testing programs which I didn't
	add to CVS yet.

	* gw/smscconn.c, gw/smscconn_p.h: Modified to recognize the new
	smsc type.

2001-03-28  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: added content-type checking in sendsms POST, and
	set binary of sms.msgdata accordingly (note: UDH+7bit msgdata
	might not work with some SMSC center protocols currently)

2001-03-27 Aarno Syvnen <syvanen@wapit.com>

	* gw/wap_push_ppg.c: Fixed a compiler warning

2001-03-27  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: combatibility breaker: do not allow default sendsms
	user anymore (guess I thought that that has been disabled years
	ago...)

	* gw/smsbox.c: added POST support for send-sms, too. Hopefully
	works. Use is automatic, if request to Kannel is POST, body is
	used as message text, otherwise cgi-args are parsed. Username,
	password, receiver number etc. are taken from X-Kannel headers
	(like X-Kannel-Password) and are documented real soon...  

2001-03-27  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.txt: added new configuration variables,
	but missing X-Kannel header definations. Will add these later.

	* gw/smskannel.conf: changed 'url' to 'get-url' (althought plain
	url still works, for backward compability)

2001-03-27  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: added post-url support for sms-service
	group. Documentation in User's Guide RSN (hopefully)

	* gw/urltrans.c: added that strip-keyword with POST is done here,
	althougt that is ugly (but easier to do that way)
	
2001-03-27  Kalle Marjola  <rpr@wapit.com>

	* gwlib/cfg.h|c: added new function cfg_get_bool, taking
	true/false, on/off, yes/no or 0/1

	* urltrans.c: modified to use new bool type with concatenation,
	omit-empty and some new variables (theoretical compatibility breaker)

	* urltrans.c|h: added new variables for sms-service group:
	catch-all (should work as %a or %r in pattern),
	accept-x-kannel-headers (see below) and some variables for POST
	use

	* smsbox.c: Compatibility breaker: modified to allow from, to and
	UDH field set by SMS service, as X-Kannel- header, if
	accept-x-kannel-headers set for sms-service. The compatibility
	breaker is that X-Kannel-UDH does not work anymore unless
	accept-x-kannel-headers is set

	* smsbox.c: Compatibility breaker: if sms-service HTTP fetch reply
	is of content-type application/octet-stream set flag 8bit on. This
	can be prevented by setting assume-plain-text on for the service.

2001-03-27  Tuomas Luttinen  <tuo@wapit.com>

	* configure.in: Removed the earlier patch, the test was just on the 
	old implementation, I didn't run autoconf...

2001-03-27 Aarno Syvnen <syvanen@wapit.com>

	* gw/wap_push_pap.c|h. Testing  version of the pap module

	* gw/wap_ppg_push_machine.def, gw/wap_ppg_session_machine.def:
	Machines to store push data.

	* gw/wap_push_ppg.c|h: push proxy gateway main module

	* gw/wap_push_ota.c: Lots of bugfixes. Courtesy to Peter Galluc,
	Derry Hamilton and Uoti. (There were other bugs, too.) Trans-
	ferred handling of header X-Wap-Application-Id to module ppg.
        Fixing memory leaks.

	* wap/wap_events.def: push_id removed from Pom-Connect.req.

	* gw/wapbox.c: Initing and shutdown of new modules, include new
	headers.

	* gw/wap-appl.c: Added handling of the event Pom-Connect.req

	* wap/wsp_server_session_states.def: Corrected a typo spotted by
	Aymerick Jehanne.

	* wap/wsp_session.c: Added functions to create events for push 
	abort and confirmation, fixed bugs in functions make_confirmed_push
	pdu and make_push_pdu. Fixed memory leaks.

2001-03-27  Tuomas Luttinen  <tuo@wapit.com>

	* configure.in: Replaced the earlier way to detect xml2-config with 
	patch provided by Craig Emery that is shorter and as effective. Both 
	were tested with different libxml versions, also with both xml-config 
	and xml2-config.

2001-03-27  Richard Braakman  <dark@xs4all.nl>

	* gw/smsbox.c: Fix bad memory management of faked_sender string.

2001-03-26  Richard Braakman  <dark@xs4all.nl>

	* gw/smsbox.c: Converted some char * to Octstr *.

	* gw/smsc_cimd2.c: Changed "const static" to "static const" in
	variable declarations (ansification).

	* utils/run_kannel_box.c: In print_usage(), actually use the
	stream argument instead of always printing to stderr.

2001-03-26  Uoti Urpala  <uau@wapit.com>

	* gw/msg.c: Fixed bug when sizeof(long) != 4, removed unneeded
	code.

2001-03-23  Richard Braakman  <dark@xs4all.nl>

	* gw/smsbox.c: Fix call to alog (urltrans_username returns
	Octstr *, not char *).  Spotted by Paul Keogh and Gildas PERROT.

2001-03-23  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn_p.h: made interface a bit more clarified and
	moved counters to callback

	* gw/bb_smscconn.c: added counter increases

	* gw/smsc_wrapper.c, gw/smsc_fake.c: removed counter increases
	
2001-03-23  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_http.c: various little fixes

2001-03-23  Tuomas Luttinen  <tuo@wapit.com>

	* utils/kannel-stable-rh*.spec (Requires): Now requires libxml2 >= 
	libxml2-2.2.0. 

2001-03-22  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_http.c: put smsc-id to correct place
	
2001-03-22  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_http.c: fixed several memory leaks

2001-03-22  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Fixed memory leak.

2001-03-21  Lars Wirzenius  <liw@iki.fi>

	* gwlib/cfg.h: Commented return value policy for octet strings.

2001-03-21  Tuomas Luttinen  <tuo@wapit.com>

	* configure.in, configure: Added the xml2-config that libxml-2.3.* and 
	newer want instead of xml-config. Tested with libxml-2.2.11 and 2.3.4.
	Yet to be tested with both libxml1 and libxml2 installed.

2001-03-21  Kalle Marjola  <rpr@wapit.com>

	* gwlib/xmlrpc.h|c: Updated, still missing many things
	
2001-03-21  Kalle Marjola  <rpr@wapit.com>

	* gwlib/xmlrpc.h|c: Added. Initial code to implement XML-RPC
	specification.

2001-03-21  Lars Wirzenius  <liw@iki.fi>

	* checks/check_http.sh: Kill server via HTTP, instead of via
	a signal. This way, if the server has trouble dying properly,
	it will be quite visible, instead of possibly hidden by signal
	handling.

2001-03-21  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Fixed memory leaks, updated keepalive connections
	to work again after Richard's changes (still left them disabled by
	default though).

2001-03-21  Uoti Urpala  <uau@wapit.com>

	* gw/bb_smscconn.c: Fixed incorrect test in sms_router, the
	smsc_id of a discarded message was logged only if it _was_ NULL.

2001-03-20  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Server side now accepts POST requests.  This
	involved separating the header and body reading code into a
	section shared by server and client side.

	* Fixed a bug along the way which would cause busy-waiting in the
	client code when waiting for a result to arrive.
	Also made return codes consistent for the state functions, so
	that 0 means completion and 1 means waiting for more input.

2001-03-20  Richard Braakman  <dark@wapit.com>

	* Making release 1.1.3.

2001-03-19  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Fixed a warning.

	* checks/check_compiler.sh: A simple script added that takes a WML 
	source, runs it through the WML compiler and the decompiler and 
	diffes the original file to the output and reports an error if 
	they do differ.

	* test/testcase.wml: A testcase for the check_compiler added.

2001-03-19  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_http.c: Shutdown state was not initialized. Fixed.

2001-03-19  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Made parse_http_version() thread-safe.  (There is
	no guarantee that assignment of pointers or longs is atomic.)

2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: commented gwthread_join_all() away and now all
	checks pass. Have to investigate this more...

2001-03-19  Richard Braakman  <dark@wapit.com>

	* wap/wsp_session.c: Fix TR_Invoke_Cnf case in find_session_machine(),
	spotted by zig cats.

2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added HTTP SMSC chapter

	* gw/smskannel.conf: added sms-service and send-sms for relay use

	* gw/other_smskannel.conf: Added. For client Kannel in Kannel
	relay tests

	* gw/smsc_http.c: little bugfizes/updates

	* checks/check_httpsmsc_kannel.sh. Added. Note that currently
	there is a BUG in gwlib/http.c and/or gw/smsc_http.c and this
	tests always FAILS as client bearerbox (using other_smskannel.conf)
	never exits (HTTP client side thread does not die?)
	
2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* gw/http.c: Bugfix. Make shutdown work for multiple servers

2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_http.c: Added. New module to handle HTTP based SMS
	Center connections or other gateways (relay gateways). Currently
	only supports 'kannel' as relay gateway

	* gw/smscconn.c, gw/smscconn_p.h: modified to understand new
	SMSCConn type

	* gwlib/cfg.def: accept new configuration variable 'send-url' used
	with smsc_http

2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c|h: added new function connect_denied(..), which is
	like the old is_allowed_ip(..) except that deny-ip is no longer
	used as it is expected to be "*.*.*.*" and no allow-ip means
	localhost. This function will hopefully eventually replace all old
	ip-checkings, to tighten basic security

2001-03-19  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn.c (sms_router): Bugfix. Now hopefully router does
	not get stuck again if the list is successfully emptied

2001-03-16  Kalle Marjola  <rpr@wapit.com>

	* gwlib/http.c: Bugfix: wakeup server when new port added, so that
	it is added to select

2001-03-16  Tuomas Luttinen  <tuo@wapit.com>

	* test/decompile.c (DTDTypeList): Added the URLs for those DTDs whose 
	URL was easily located.

	* test/decompile.c (Read_termstr_rtn): Bug fix: double the dollar 
	signs, since dollar is escaped as $$ in WML.

2001-03-16 Nick Clarey  <nclarey@3glab.com>

	* gw/smsc_at.c: Repaired a bug in at_reopen which would cause 
	failed smsc_at connections to be reopened continuously, and
	repaired a bug in at_close which could possibly cause memory 
	leakage. Also fixed bugs in both which didn't reset the smsc's
	file descriptor correctly in case of failed closes.

2001-03-16  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_definitions.h: The WBXML_CHILD_BIT was changed into 
	WBXML_CONTENT_BIT for clarity.
	
	* gw/wml_compiler.c (only_blanks): A patch provided by Bernard Valton
	that prevents white space counted as element content.
	Also changed the WBXML_CHILD_BIT into WBXML_CONTENT_BIT for clarity.

2001-03-16  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Fixed memory leak of request_headers in request_data.
	Made return_result not destroy the WAP event passed to it (caller
	should do that).  Memory management in this file is still icky.

	* gw/wapbox.c: Always destroy a msg after processing it, this fixes
	a memory leak handling admin messages.

2001-03-16  Kalle Marjola  <rpr@wapit.com>

	* gwlib/octstr.h|c: added %E to octstr_format, which takes an
	Octstr and URL-encodes it into string

	* test/test_octstr_format.c: added test for that format

2001-03-16  Richard Braakman  <dark@wapit.com>

	* When logging errors, do not report errno if it's not relevant.
	Fixed 25 counts of this, leaving 81 valid uses.

	* Updated NEWS file to prepare for 1.1.3.

	* test/test_http_server.c: Run client_thread in a separate thread.
	This makes check_http.sh not fail.  (sigterm was calling
	http_close_all_ports while the main thread itself was in
	port_get_request).

2001-03-15  Uoti Urpala  <uau@wapit.com>

	* test/test_smsc.c: Fixed a memory allocation bug.

2001-03-15  Tuomas Luttinen  <tuo@wapit.com>

	* test/wml_tester.c: I refined the command line arguments a bit. Now 
	the output is either a normal dump, the dump with source or the binary 
	only. The output can be directed into a file that can then contain the
	binary only if that was the selected output.

	* test/decompile.c: Now decompiler accepts input from stdin. Added for 
	piping to make writing tests easier.

2001-03-15  Lars Wirzenius  <liw@iki.fi>

	* Changed the HTTP server side code so that it allows easily
	processing requests to different ports in different ways.
	
	* gwlib/http.[ch]: Renamed http_open_server to http_open_port,
	and http_close_all_servers to http_close_all_ports, since the
	concept of "server" is a bit confusing when used this way. Port
	is clearer.
	
	* gwlib/http.[ch]: Added port argument to http_accept_request
	so that the caller can specify which port she's interested in.
	This then required some changes in the internals of http.c
	because the clients_with_requests list had to be replaced
	with port specific lists, and this required some inter-thread
	communication, which was a bit tricky to get working (and it
	therefore likely to be buggy in non-obvious ways). Also added new
	function, http_close_port, to allow closing only a specific port.

	* gw/bb_http.c, gw/smsbox.c, test/drive_wapbox.c,
	test/test_http_server.c, test/test_smsc.c: Changed calls to http
	code based on interface code.

2001-03-15  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c, gwlib/http.h: Changed http_start_request and
	http_receive_result to identify the request with a void pointer
	from the caller.

	* gw/smsbox.c, gw/wap-appl.c, test/test_http.c: Related changes.

2001-03-13  Lars Wirzenius  <liw@iki.fi>

	* benchmarks/bench_sms.sh: Only plot the "submit" events; in long
	runs, the different graphs were on top of each other anyway.

2001-03-13  Lars Wirzenius  <liw@iki.fi>

    	* Various improvements to "make bench".

	* benchmarks/bench_http.sh, benchmarks/bench_sms.sh,
	benchmarks/run-benchmarks: Implemented --fast option.
	
	* benchmarks/functions.inc: Isolated common script stuff into
	a single file to make maintenance easier and scripts clearer.
	
	* test/test_smsc.c: Measure round trip times for requests and
	replies. Started coding "sustained level" benchmark; not useable
	yet, though.

	* gwlib/http.c: Commented out unused static functions.

2001-03-12  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_fake.c: Added test for errno == EINTR after
	gwthread_pollfd().

2001-03-07  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* mk-solaris-package.sh, prototype.tmpl, prototype: modified
	mk-solaris to create packages with the actual version rather
	than just assume that it is cvs.  Modified prototype to be
	prototype.tmpl and mk-solaris now uses it to generate the
	correct prototype.

2001-03-05  Lars Wirzenius  <liw@iki.fi>

	* benchmarks/bench_http.sh: Removed unnecessary cruft. Set number
	of HTTP requests made to 100 000 instead of 1000.
	
	* benchmarks/bench_http.txt, benchmarks/bench_sms.txt,
	benchmarks/report-begin.txt: Added missing </para>.
	
	* benchmarks/bench_sms.sh: Set number of requests to 100 000
	instead of 1000.
	
	* gwlib/http.c: Disabled re-use of TCP connections for HTTP
	transactions. There is a bug somewhere that makes this crash.
	
	* test/test_http.c: Allow client to queue multiple requests into
	a queue (up to MAX_IN_QUEUE #define in test_http.c), instead of
	doing the next one only after the response to the previous one
	has finished.
	
2001-03-01  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c: Added a temporary half-fix for a bug that could
	cause NULL references with sms-service HTTP requests. Has to be
	fixed properly later.

2001-03-01  Lars Wirzenius  <liw@iki.fi>

	* test/test_http.c: Reformatted to follow current coding style.

2001-03-01  Lars Wirzenius  <liw@iki.fi>

	* Implemented the beginnings of a framework for automated
	benchmarks.
	
	* Makefile.in: "make bench" now runs the automated benchmark.
    	"make clean" removes the cruft.
	
	* benchmarks/.cvsignore, benchmarks/bench_http.sh,
	benchmarks/bench_http.txt, benchmarks/bench_sms.sh,
	benchmarks/bench_sms.conf, benchmarks/bench_sms.txt,
	benchmarks/report-begin.txt, benchmarks/report-end.txt,
	benchmarks/run-benchmarks: Wrote.
	
    	* test/test_smsc.c, test/timestamp.c: Wrote.

	* test/test_http_server.c: Added option -l for setting logfile
	name.

2001-03-01  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c, gw/shared.c: Fix, modified so that error in read
	causes connection to be broken, instead of possible trap in
	infinite loop. Pointed out by Paul Keogh. 

2001-03-01  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Don't panic or crash if request contains spaces.

2001-02-28  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_udp.c: 'bugfix': modified so that all errors just make
	receiver to continue, instead of exiting loop

2001-02-28  Richard Braakman <dark@wapit.com>

	* gw/smsc_at.c: Made pdu_extract deal with the SMSC address field
	possibly being bad or too short.  Also made hexchar() take an
	int as argument, instead of char (which might be signed).
	toupper() is defined as taking an int, anyway.

2001-02-27  Kalle Marjola  <rpr@wapit.com>

	* gw/drive_smpp.c: modified to accept Msg 'admin', too

	* gw/bb_boxc.c: unused variable removed

2001-02-27  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: Modified to use Conn instead of raw TCP/IP with
	sms|wapbox connections

	* gw/msg[-decl].h: added new message type 'admin' for
	shutdown/suspend use.

	* gw/smsbox.c: modified to die when shutdown command
	received. Needs to implement suspend/shutdown, still

	* gw/wapbox.c: modified to die when shutdown command received and
	to ignore non-wdp messages

	* gwlib/octstr.h|c: removed now non-used octstr_send and
	octstr_recv

2001-02-27  Richard Braakman <dark@wapit.com>

	* Ran spelling check over userguide.xml.

2001-02-26  Richard Braakman <dark@wapit.com>

	* Making release 1.1.2.

2001-02-23  Peter Grnholm  <peter@wapit.com>

        * userguide: Wrote section "Setting up a dial-up line"

2001-02-21  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Suppress server-generated error pages if they
	are in a format (i.e. text/html) that the client does not accept.

2001-02-21  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: When suppressing an HTTP result body because it is
	too long for the client, also adjust the Content-Length header.

2001-02-21  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (set_charset): The function uses now 
	charset_to_utf8 function to convert the WML document into the 
	UTF-8 charset before feeding it to the libxml parser.

	* gwlib/charset.[ch]: Added the functions charset_to_utf8 and 
	charset_from_utf8. These are frontend for the libxml character set
	converion funtions.

2001-02-20  Peter Grnholm  <peter@wapit.com>

	* userguide: Updated section "Installing Kannel from RPM packages"

2001-02-20  Richard Braakman  <dark@wapit.com>

	* userguide: Explained more about syslog-level.

2001-02-16  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: Fix a potential buffer overflow in sms_split(),
	by removing the partlist array and using List directly.

	* gw/urltrans.c: Fix memory leak: destroy_onetrans also destroys
	"header" and "footer".

	* gw/urltrans.c: Warn if a service configures prefix or suffix
	when they will not be used.

	* userguide: Describe when prefix and suffix are used.

	* userguide: Improve description of "omit-empty".  (Suggested
	by Gildas Perrot.)

2001-02-16  Richard Braakman  <dark@wapit.com>

	* gw/bb_smscconn.c, gw/urltrans.c: Deal with cfg_get_multi_group()
	possibly being NULL.

	* gw/bb_smscconn_p.h: Add #include "smscconn.h" so that it doesn't
	depend on the caller having included that file already.

2001-02-15  Lars Wirzenius  <liw@iki.fi>

	* gw/smpp_pdu.def, gw/smsc_smpp.c: Implemented the enquire_link
	PDU and the corresponding enquire_link_resp PDU. This should keep
	Kannel connected to an SMPP SMS center even when the connection
	is otherwise idle.
	
	* test/drive_smpp.c: Cleaned up shutdown.

2001-02-15  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (set_charset): bug reported by Aymerick Jhanne
	fixed so no more 2*encoding in the XML-header.

2001-02-15  Richard Braakman  <dark@wapit.com>

	* gw/smsc_at.c: Corrected timestamp calculation.  mktime()
	uses local time, and it got a GMT time.  Converted to use
	date_convert_universal() from gwlib/date.c instead.
	(There is no function in the C library for this task.)
	It probably still doesn't work for negative timezones,
	I'll have to check the specs for that.

	* gwlib/date.[ch]: Make date_convert_universal() a public
	function.

2001-02-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch]: Changed the octstr_create_urlcoded to be
	similar in name and usage to octstr_url_decode.
	
	* gw/bb_store.c, gw/smsc_fake.c, gw/urltrans.c: Changed the
	places where the function is called.

2001-02-14  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.c, doc/userguide/userguide.xml: Restored the
	meaning of %a in sms-service, implemented and documented %b to
	support binary data.

2001-02-14  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, doc/userguide/userguide.xml: Implemented
	X-Kannel-UDH header in responses to keyword fetches.

2001-02-13  Uoti Urpala  <uau@wapit.com>

	* gw/smsc.c: Fixed octstr_get_cstr(NULL) when username, password
	or allow_ip wasn't specified in emi_ip smsc group. This bug
	probably appeared when smsc.c was converted to use cfg.c.

2001-02-13  Richard Braakman  <dark@wapit.com>

	* gw/wml_definitions.h: Applied patch from Aymerick Jhanne
	to correct encodings for "ordered true" and "ordered false".

2001-02-12  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn.c, gw/bb_boxc.c, gw/bearerbox.h: Modified so that
	SMS messages from smsbox are directly put into corresponding SMS
	centers, or if not able, either rejected (i.e. discarded right
	now) or put to outgoing_sms queue which acts like delayed list

	* gw/bb_smscconn_cb.h: added new callback, smscconn_connected,
	which is called when status changes to ACTIVE, and makes bearerbox
	trying to empty outgoing_sms queue

	* gw/smsc_wrapper.c, gw/smsc_fake.c: modified to call that new
	callback

2001-02-12  Lars Wirzenius  <liw@iki.fi>

	* Makefile.in: Moved -I. to before other -I options (before
	@CFLAGS@) so that Kannel's config.h is found before any config.h
	that might be a system header file.

2001-02-12  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_store.c: Ooops, forgot to add earlier. Anyway, now uses
	straight octstr handling instead of using octstr_split and thus
	does not need so much memory while unpacking the store-file

2001-02-12  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: removed heartbeat message kludge as it caused
	other problems, had to think this more...

	* gw/bb_http.c: removed debug information of HTTP query result
	because it caused ankward output 

	* gw/bb_store.c: Added. Handles SMS store 

	* gw/msg-decl.h, gw/msg.h: added new 'ack' message type and new 
	fields to sms. Name of these can change later.

	* gw/bb_boxc.c, gw/bb_smscconn.c, gw/bearerbox.c, gw/smsbox.c: 
	implemented first version of SMS storing/retrieval system. 
	Consumes lots of memory when starting up, so does not work
	well with checking malloc, will fix that today.

	* gw/*kannel.conf: added (commented-out) store-file row

2001-02-10  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c: Fixed bugs in smsbox_req_sendota(), added 'from'
	CGI variable to sendota requests.

	* gwlib/cfg.def: Added missing 'speed' variable to otaconfig
	group.

	* doc/userguide/userguide.xml: Documented the added 'from'
	variable. 'speed' was also missing from the documentation.

	* gw/smsc_fake.c: Implemented SMSCCONN_FAILED_TEMPORARILY
	(probably doesn't make much difference in practice).

	* gwlib/octstr.c: Fixed memory leak in octstr_append_from_hex().

2001-02-08  Richard Braakman  <dark@wapit.com>

	* Applied Stipe Tolj's patch to cfg.def and userguide, to
	fix OTA configuration parsing.

2001-02-07  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: kludged to use internal heartbeat to wakeup sender
	from consume if other end closes the connection

	* gw/bb_smscconn.c: modified failed routing access log output

	* utils/accesslog_parser.pl: added failed routing to final output,
	and change all keywords to lowercase

2001-02-07  Kalle Marjola  <rpr@wapit.com>

	* utils/accesslog_parser.pl: added simple perl script to read
	(SMS) access log and print statistics out of it, based on hours.
	Uses the new format printed out by bb_smscconn.c

2001-02-07  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: Bugfix. Fixed memory leak caused by access log /
	new config

	* doc/userguide/userguide.xml: made it clearer that sms-service is
	selected by keyword and number of parameters

	* gw/bb_smscconn.c: Bugfix: fixed access log to use Octstring return value

	* gw/bb_smscconn.c: Compatibility breaker: modified access log
	output
	
2001-02-07  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: added support for Ericsson GSM modems (patch from
	Chris Blown).

2001-02-06  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Changed the %a URL parameter to mean the original
	message as-is, to allow binary data. Previously consecutive
	whitespace characters were changed into one space. Note that %r
	was NOT changed, maybe it should work similarly?

2001-02-06  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn_cb.h: added new failed sending status,
	SMSCCONN_FAILED_TEMPORARILY, which should be called if connection
	to SMS center is lost temporarily

	* gw/bb_smscconn.c: added handling for new status

	* gw/smscconn_p.h: added comments of the new status
	
	* gw/smsc_wrapper.c: added that when reconnect is started, message
	queue is emptied from messages with status
	SMSCCONN_FAILED_TEMPORARILY
	

2001-02-06  Peter Grnholm  <peter@wapit.com>

	* utils/kannel-stable-rh6x.spec: Added rpm spec file for Kannel
	stable releases.

	* utils/kannel-stable-rh7.spec: Added rpm spec file for Kannel
	stable releases.

2001-02-06  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c: Rewrote message-splitting functions because they
	had lots and lots of bugs. Basically they didn't work if
	split-chars, split-suffix or concatenation was defined.

2001-02-05  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Fixed off-by-one error in octstr_case_search(),
	reported by Vjacheslav Chekushin.

2001-02-04  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsasm.c: Avoid generating 0-length functions,
	because not all clients can handle them.

	* gw/wap-appl.c: If the response body does not fit in the
	client SDU size, generate status code 502 ("Bad Gateway")
	instead of 413 ("Request Entity Too Large").  413 is definitely
	the wrong code because it refers to the request, not the
	response.  502 means the gateway received an invalid response
	from the server, which is pretty close.
        Also, do not touch the status code at all if it already indicates
	an error.  The upstream error is more interesting to the user
	than knowing that the error page didn't fit.

	* gwlib/http.[ch]: Add http_status_class() function to
	distinguish success codes (2xx) from error codes.

2001-02-02  Tuomas Luttinen  <tuo@wapit.com>

	* test/decompile.[ch]: Applied the patch by Neil Hunter that 
	implements the codepage switch, changes the indent size to a #define
	and adds basic support for different DTDs.

	* gw/utf8map_iso8859-7.h, gw/utf8map_win1251.h, gw/utf8map_win1257.h,
	gw/utf8map_koi8r.h, gw/utf8map_win1253.h: removed as obsolete.

	* gw/wml_compiler.c: Patch by Vjacheslav Chekushin applied. The
	patch makes the libxml aware of some aliases for different 
	character_sets, so these can be used in the WML content with the 
	libxml.
	Some other modifications due modifications in the wml_definitions.h.

	* gw/wml_definitions.h: Patch by Vjacheslav Chekushin applied. The 
	patch removes the use of the utf8map in the character_sets[].
	Also utf8map removed from the character_sets[].

2001-02-02  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (string_table_collect_strings): Removed the 
	if (strlen(node->content) > WBXML_STRING_TABLE_MIN) -line that 
	won't work with XML_USE_BUFFER_CONTENT.

2001-02-02  Richard Braakman  <dark@wapit.com>

	* Added gwmem_type() function that returns the name of the 
	malloc wrapper used.

	* gw/shared.c: Report gwmem_type in the version string.

2001-02-01  Richard Braakman  <dark@wapit.com>

	* Updated doc/release.txt to better reflect actual procedure.
	Only covers development releases for now.

2001-02-01  Richard Braakman  <dark@wapit.com>

	* Making release 1.1.1.

2001-02-01  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Bugfix, find_default_translation() now returns
	NULL if no default was given.

2001-02-01  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: cleanup.  send_message does not destroy its msg
	anymore, leaves that to caller (fixes memory leaks). 
	obey_request always destroys the pattern it creates.
	obey_request_thread actually sends "Requests failed" messages
	and is simplified a little.

2001-02-01  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Update to version 2-0 en.
	Added definitions for new parameter numbers 26, 28, 44, and 62.
	Corrected range of "status report request" parameter from 0..32
	to 0..63.

2001-01-31  Uoti Urpala  <uau@wapit.com>

	* gw/wap-appl.c: Fixed an uninitialized variable.

	* test/test_http_server.c: Fixed double octstr_destroy().

2001-01-31  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Made octstr_destroy() call seems_valid even
	if the octstr is immutable.  This should catch double destroy
	calls in the future.

	* gwlib/gwthread-pthread.c: In gwthread_wakeup() and gwthread_join(),
	assert that the thread number >= 0.

2001-01-31  Uoti Urpala  <uau@wapit.com>

	* gw/bb_udp.c, gw/wap_push_ota.c: Fixed double octstr_destroy() calls.

2001-01-31  Uoti Urpala  <uau@wapit.com>

	* gwlib/http.c: Don't try to wake up the server thread at shutdown
	if it was never created.

2001-01-31  Peter Grnholm  <peter@wapit.com>

	* doc/userguide/userguide.xml: Wrote section 'Using pre-compiled
	binary packages'.

2001-01-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/utils.c: Rewrote the is_allowed_ip implementation to
	use Octstr instead of C strings. Removed the now-unused check_ip
	function.

	* checks/check_ipcheck.c: Wrote.

2001-01-30  Lars Wirzenius  <liw@iki.fi>

	* gwlib/utils.[ch]: Made is_allowed_ip accept Octstr arguments
	instead of char *. Dies, cstr, die.
	
	* gw/bb_boxc.c, gw/bb_http.c, gw/bb_udp.c, gw/smsbox.c,
	gw/smsc_emi.c, gw/smsc_fake.c: Fixed the calls to is_allowed_ip
	to follow new calling convention.

2001-01-30  Lars Wirzenius  <liw@iki.fi>

	* Makefile.in: Moved the wildcard patterns to the beginning, where
	they are more visible. Should've done this when I first wrote them.
	
	* gw/smsbox.c: Fix memory leak.
	
	* gw/smsc_fake.c: don't call octstr_get_cstr with NULL argument.
	(Should fix is_allowed_ip instead.)
	
	* gw/urltrans.c: Look up the keyword in a case insensitive manner.
	Thanks to Peter for pointing this out.
	
	* gwlib/gwmem.h: Introduced the gw_claim_area_for macro. It is the
	same as gw_claim_area, except it gets the position as arguments,
	instead of figuring it out itself.

	* gwlib/cfg.[ch]: Used gw_claim_area_for to claim the return
	value of cfg_get.

2001-01-29  Richard Braakman  <dark@wapit.com>

	* gwlib/dict.c: Make dict_keys() lock its dictionary.

2001-01-29  Kalle Marjola  <rpr@wapit.com>

	* Makefile.in: clean now deletes */*.o, too. 

2001-01-29  Lars Wirzenius  <liw@iki.fi>

	* gwlib/protected.h: Undefine the protection macros before
	defining them, to avoid problems with multiple definitions on
	platforms that define them as macros instead of (or in addition
	to) functions.

2001-01-26  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch], gw/smsbox.c: Killed the almost-unused
	function octstr_replace and converted the only place it was
	being used anymore to create a new Octstr instead.

2001-01-26  Lars Wirzenius  <liw@iki.fi>

	* AUTHORS, ChangeLog, NEWS, checks/check_fakesmsc.sh,
	checks/check_fakewap.sh, checks/check_sendsms.sh,
	checks/check_smpp.sh, doc/arch/arch.xml, gw/bb_smscconn.c,
	gw/bearerbox,.c gw/smsbox.c, gw/smsc.c gw/urltrans.[ch],
	gw/wapbox.c, gwlib/http.c, gwlib/octstr. test/drive_smpp.c,
	test/test_http.c, test/test_octstr_format.c: Edited some long
	lines to be shorter than 80 characters. There's still lots
	more, find them with utils/find-long-lines.

2001-01-26  Lars Wirzenius  <liw@iki.fi>

	* gw/alt_charsets.h, gw/bb.h, gwlib/accesslog.h, gwlib/gwlib.h,
	gwlib/gwmem.h, gwlib/socket.h, gwlib/utils.h, test/decompile.h,
	utils/OTAbitmap.h, utils/wbmp.h: Removed leading underscore from
	symbols. It is reserved to the C implementation and is not to
	be used by application code.
	
	* gwlib/socket.[ch]: Removed unused functions socket_query_blocking,
	read_line, and read_to_eof.
	
	* gwlib/utils.[ch]: Removed unused function print_std_args_usage.
	
	* gwlib/gw_inet.[ch], gw/wap_push_ota.c: Removed the (unused)
	gw_inet_ntop wrapper.

2001-01-26  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/userguide.xml: Documented the "phone" option in
	EMI over modem.

2001-01-26  Lars Wirzenius  <liw@iki.fi>

	* The standard library function inet_ntoa is not thread safe.
	Instead of writing a wrapper, I decided it's better to convert
	to using the gw_netaddr_to_octstr implementation Derek Hamilton
	wrote for us.
	
    	* gwlib/protected.h: Added a macro to trap inet_ntoa calls.
	
	* gw/smsc_ois.c, gwlib/socket.c, test/test_cimd2.c: Converted
	use of inet_ntoa to gw_netaddr_to_octstr.
	
	* gwlib/socket.[ch]: Removed the unused function
	socket_get_peer_ip and slighly change the use of whitespace in
	the gw_netaddr_to_octstr to follow project coding style.

2001-01-26  Uoti Urpala  <uau@wapit.com>

	* gw/urltrans.c: Converted to use octstr_create_urlcoded instead
	of file-specific function.

2001-01-25  Uoti Urpala  <uau@wapit.com>

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_fake.c, gw/smsc_fake2.c,
	gw/smscconn.c, gw/smscconn_p.h, test/fakesmsc.c, test/fakesmsc2.c:
	Removed the old fakesmsc and replaced it with the new one.
	Note that the new version is used differently from the old one!

	* gw/smskannel.conf, checks/check_fakesmsc.sh,
	checks/check_sendsms.sh: Changed the examples and checks to use
	new fakesmsc.

	* doc/userguide/userguide.xml: Changed the documentation to
	describe the new fakesmsc.

	* gw/smsc_cimd.c: Fixed a possible NULL reference.

	* gw/smsc_cimd2.c: Added a missing #include <string.h>.

2001-01-25  Lars Wirzenius  <liw@iki.fi>

    	* gw/bb_udp.c, gwlib/cfg.def: Applied and adapted patch from
	Laurent Foulonneau to implement UDP packet filtering based on
	sender IP number.

	* doc/userguide/userguide.xml: Documented the new options.

2001-01-25  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc.c, gw/smsc_at.c, gw/smsc_p.h, gwlib/cfg.def: Applied
	and slightly adapted patch from Bjarne Saltbk for implementing
	a validity period option for the GSM phone driver.

	* doc/userguide/userguide.xml: Documented the new option.

2001-01-24  Lars Wirzenius  <liw@iki.fi>

	* doc/arch/arch.xml: Added missing </sect1>.
	
	* gwlib/http.c: Added creation of http exceptions list.

2001-01-24  Uoti Urpala  <uau@wapit.com>

	* gw/smsbox.c, gw/smsc.c, gw/smsc_p.h: Fixed memory leaks.

2001-01-24  Uoti Urpala  <uau@wapit.com>

	* gw/smscconn.c, gw/bb_smscconn.c: Fixed memory leaks

2001-01-24  Lars Wirzenius  <liw@iki.fi>

	* gw/bb_boxc.c, gw/bb_http.c, gw/bb_udp.c, gw/bearerbox.[ch]:
	Killed memory leaks due to unfreed configuration data.

2001-01-24  Uoti Urpala <uau@wapit.com>

	* test/fakesmsc2.c, gw/smsc_fake2.c: Several fake2 changes, added
	send/receive udh, possibility to restrict connections based on IP.
	Messages on command line need to be written differently.

	* gwlib/octstr.[ch]: Added octstr_create_urlcoded() function.

2001-01-23  Lars Wirzenius  <liw@iki.fi>

	* Ran some compiles with stricter warning options than -Wall.
	This resulted in a few minor changes.
	
	* gw/bb_smscconn.c: Removed the function smsc2_addwdp, since it is
	unused and the wapbox is the better place to do WAP-on-SMS anyway.
	
	* gw/smpp_pdu.c: Cast the return value of octstr_len in an assert
	that compares it to an unsigned long. This is a bit ugly, but -
	in my humble opinion - better than a warning about comparing signed
	and unsigned. Reasonable minds differ.
	
	* gwlib/gwthread.h: Removed duplicate prototype for
	gwthread_dumpsigmask.
	
	* gwlib/socket.c: Made gw_netaddr_to_octstr4 and
	gw_netaddr_to_octstr6 static, since they're not to be used from
	outside socket.c.
	
	* test/decompile.c: Made a number of functions static. I don't
	understand why some functions are declared in decompile.h (or
	why decompile.h exists in the first place), but presumably there
	is a good reason for this. Removed the Read_zero_index function,
	since it was unused.
	
	* test/test_cimd2.c, test/test_headers.c, test/test_pdu.c,
	test/test_wakeup.c, test/udpfeed.c, utils/seewbmp.c: Use a return
	statement instead of calling exit. Stylistic change.
	
	* utils/run_kannel_box.c: Make main_loop return instead of
	calling exit directly. Stylistic change.

2001-01-23  Lars Wirzenius  <liw@iki.fi>

	* doc/arch/arch.xml: Fixed references to figures.

2001-01-23  Lars Wirzenius  <liw@iki.fi>

	* gw/bb_boxc.c, gw/bb_smscconn.c, gw/bb_udp.c, gw/bearerbox.[ch],
	gw/smsc.[ch], gw/smsc_emi.c, gw/smsc_fake2.c, gw/smsc_p.h,
	gw/smsc_wrapper.c, gw/smscconn.[ch], gw/smscconn_p.h: Converted
	the bearerbox to use the new configuration file interface. This
	resulted in large, but simple changes in many files.

	* gwlib/cfg.def: Added variable 'phone' to an smsc group. Not
	documented anywhere, it seems.
	
	* gwlib/gwlib.h, gwlib/conffile.[ch]: Removed the old
	configuration file interface.

2001-01-23  Lars Wirzenius  <liw@iki.fi>

	* gwlib/cfg.c: Implemented a check that makes sure a CfgGroup is
	only queried for variables that it can legally contain. This 
	showed some bugs, which have been corrected by the changes below.
	
	* gwlib/cfg.[ch]: Wrote function cfg_get_group_name, needed by
	urltrans.c changes.
	
	* gw/urltrans.c: Fixed the code so it doesn't try to get the value
	of every variable from every group. The resulting code should be
	somewhat cleaner and easier to follow, as well.
	
	* gw/wapbox.c: Don't query the variable "heartbeat-freq",
	because it isn't documented anywhere, no other box uses it,
	and there is no need to make the value configurable.

2001-01-23  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: switched smsbox/smsc startup to avoid hangup
	with bad luck

2001-01-22  Richard Braakman  <dark@wapit.com>

	* Making release 1.1.

2001-01-22  Kalle Marjola  <rpr@wapit.com>

	* gw/wapbox.c: fixed read-config and map_url_max which caused
	wapbox to stuck and never start

	* gw/smsc_wrapper.c: added one debug message

2001-01-22  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Split gwthread_create_real() into
	four functions to separate the signal handling code from the
	thread code.  This way the sigmask will also be restored if
	thread creation fails.  (Spotted by Uoti)

	* gw/smsbox.c: In obey_request(), handle TRANSTYPE_SENDSMS
	as well, to avoid the rather cryptic default error message
	if this error occurs.  Still investigating why it occurs at all.

2001-01-22  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c: fixed startup-order, to avoid segmentation
	fault if smsc startup fails

2001-01-22  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Fixed memory leak (a Mutex was not being
	destroyed) and related whitespace usage and made the Mutex static.
	Also removed a spurious editorial comment with an "I" referring
	to me, even though I didn't write it.
	
	* gw/wapbox.c: Made some global-but-static variables with
	configuration information local to the function that reads and
	processes the config.
	
2001-01-22  Richard Braakman  <dark@wapit.com>

        * gwlib/gwthread-pthread.c: In function gwthread_create_real(),
        applied Nick Clarey's patch to fix signal handling and restyled.
        Then fixed signal handling some more by using pthread_sigmask
        instead of sigprocmask, and SIG_BLOCK instead of SIG_SETMASK.
        This way we won't interfere with signals used by the pthread
	implementation.

	* gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c: Updated comment in
	signal_handler() to reflect the new situation, and made them all
	use gwthread_shouldhandlesignal().

2001-01-22  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: Converted to use new config file module in gwlib.

2001-01-22  Lars Wirzenius  <liw@iki.fi>

	* gwlib/accesslog.c: Made the output buffer be allocated via
	dynamic memory to avoid overflowing the stack with large local
	variables.
	
	* gwlib/log.c: Made output buffer smaller, again because of stack
	limitations. The new limit is one kilobyte, but since it is used
	only for certain parts of the output (the prefix with dates etc,
	and the format string), it should be plenty.

2001-01-21  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/userguide.xml: Changed SMPP version to 3.4.
	
	* gw/smsc_smpp.h: Removed. I thought I had removed it earlier
	already.
	
	* test/fakewap.c: Fixed memory leaks.

2001-01-19  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Added function set_charset to fix bug with 
	the character set read from the http-headers.

2001-01-18  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch]: Renamed the horribly long name
	octstr_create_immutable to octstr_imm. This should make it a
	bit more palatable.

	* gw/html.c, gw/smsbox.c, gw/smsc_at.c, gw/smscconn.c,
	gw/urltrans.c, gw/wap-appl.c, gw/wap_push_ota.c,
	gw/wml_compiler.c, gwlib/cfg.c, gwlib/http.c, test/test_dict.c,
	test/test_headers.c, test/test_http_server.c,
	test/test_octstr_immutables.c, test/wml_tester.c,
	wap/wsp_headers.c, wap/wsp_strings.c: Related changes.

2001-01-18  Lars Wirzenius  <liw@iki.fi>

	* gwlib/cfg.[ch]: Wrote functions cfg_get_integer and cfg_get_list
	to allow easier access to non-octet-string variables. No explicit
	typing in cfg.def, though. That may come later.

2001-01-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: the current smsbox closes the connection properly,
	so wait until that before exiting with boxc_receiver, thus
	eliminating lost messages

	* gw/bb_boxc.c: added alive-check to boxc_sender after
	list_consume() as octstr_send does not notice that socket has been
	closed
	
2001-01-18  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, gw/urltrans.[ch]: Converted to use cfg.c instead
	of conffile.c. This revealed a need to simplify things so that
	the caller does not have to manually check quite as many things.
	Will update cfg.c accordingly before continuing with the other
	programs.

2001-01-18  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: fixed 3 memory leaks some pointed out by Uoti, and
	one logical error in failed requests

2001-01-18  Lars Wirzenius  <liw@iki.fi>

	* Wrote a replacement for the conffile.[ch] stuff. It does pretty
	much the same thing as the old stuff, but does it with a better
	interface and uses Octstr instead of C strings. It does not
	(yet?)	support reloading and automatic notification of changes
	to the configuration.
	
	* gwlib/cfg.[ch], gwlib/cfg.def, test/test_cfg.c: Wrote.
	
	* gwlib/gwlib.h: Include cfg.h.
	
	* test/.cvsignore: Ignore test_cfg.
	
	* test/fake.conf: Removed, since it was unused and followed an
	ancient syntax.

2001-01-17  Lars Wirzenius  <liw@iki.fi>

	* gwlib/dict.[ch]: Wrote function dict_keys.
	
	* gwlib/socket.c: Bugfix. Destroy the official_ip octet string
	at shutdown.

2001-01-17  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/socket.c: Removed the ugly loop from gw_netaddr_to_octstr6
	since octstr_format does support hex format after all.

2001-01-17  Lars Wirzenius  <liw@iki.fi>

	* configure.in, configure: Remove checking for -lz. Richard is
	right: if libxml needs it, then xml-config --libs must report -lz,
	so there is no point in checking for it for ourselves.

2001-01-17  Lars Wirzenius  <liw@iki.fi>

	* configure.in, configure, config.h.in: check for syslog.h.
	
	* gwlib/log.c: Use the result from configure (HAVE_SYSLOG_H) to
	exclude the syslog stuff from compilation on platforms on which
	it is not available, such as Windows when not using Cygwin.
	
    	* gwlib/socket.[ch]: Wrote get_official_ip, so that other modules
	don't have to do it themselves.

    	* gw/wap_push_ota.c: Rewrote the static name() function. The old
	code was buggy (had a memory leak) and called non-portable functions
	(inet_ntop, uname). The new one uses get_official_ip.

	* gw/shared.c: Use get_official_name and get_official_ip to
	report the host, in addition to what uname() returns.

2001-01-17  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_fake2.c: Added missing #include, minor fixes.

	* gw/smscconn.c: Added missing #include.

2001-01-16  Uoti Urpala  <uau@wapit.com>

	* gw/smsc_fake2.c: new fake SMSC connection module.
	* test/fakesmsc2.c: client to use with the new module.
	* gw/smscconn.c, gw/smscconn_p.h: Added references to the new
	module.

2001-01-15  Lars Wirzenius  <liw@iki.fi>

	* wap/wtp_pdu.c: Bugfix from Aymerick Jhanne. When unpacking
	TPIs, append the correct data to the PDU.

2001-01-15  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gw_inet.c: Added an include for <sys/types.h> to allow
	compilation on FreeBSD. Thanks to vlm@smarts-gsm.ru for pointing
	this out.

2001-01-15  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn_p.h: modified so that 'start as stopped' is done
	in protocol specific creator

	* gw/smscconn.c: added missing settings to NULL, and removed call
	for conn_stop (see above)

	* gw/smsc_wrapper.c: added one protection mutex and fixed startup
	to follow above interface

2001-01-15  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.c: Implemented %k in URL translations, based on
	suggestion from steveu@infowebtelecom.com.
	
	* doc/userguide/userguide.xml: Updated docs.

2001-01-15  Aarno Syvnen <syvanen@wapit.com>

	* gw/wap-appl.c: Wrote conformations and indications part of Push
	OTA protocol.

	* gw/wap_push_ppg.[ch]: Started writing test version of PPG main
	module

	* gw/wap_push_ota.c: Still streamlining and fixing bugs

	* wap/wap_events.def: Added new push related events

	* wap/wsp.h: Added push related error codes

2001-01-12  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Now compiler can handle a libxml compiled with 
	-DXML_USE_BUFFER_CONTENT. The content of the node is converted into 
	an octet string with a macro.

2001-01-12  Richard Braakman  <dark@wapit.com>

	* Updated NEWS file to prepare for 1.1.

2001-01-12  Richard Braakman  <dark@wapit.com>

	* gwlib/charset.c: Translate u-dieresis correctly from latin1 to GSM.
	(It does exist in GSM Default, so it doesn't have to be approximated.)

2001-01-12  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn.h, gw/smscconn_p.h, gw/bb_smscconn_cb.h: updated API
	description
	
2001-01-12  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c: fixed deadlock in message sending

	* gw/smsc_wrapper.c: modified reconnect so that it does not cause
	bearerbox to wait in various functions, by adding new mutex
	instead of using old flow_mutex

2001-01-11  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/gw_inet.c: Fixed off by one errors.
	* gwlib/socket.c, gwlib/socket.h: Implemnted a basic inet_ntop
	using Octstrs.  IPv6 handling is basic, but appears to work.

2001-01-11  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: octstr_copy_real: Changed the code that checks
	whether the length of the part to be copied is too long so that
	it can deal with integer overflows (assuming they wrap around).

2001-01-11  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn.c: modified so that flow_mutex is always locked in
	functions using function pointers
	
	* gw/smscconn_p.h: added notes about mutex

2001-01-11  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c|h: added suspend for SMSCConn

	* gw/smscconn*.c: fixed suspend in various parts
	
2001-01-11  Kalle Marjola  <rpr@wapit.com>

	* gw/*smscconn*.*: changed SMSCCONN_KILLED to SMSCCONN_DEAD, and
	clarified some callbacks

	* gw/smsc_wrapper.c: fixed so that _sender does not suspend

2001-01-11  Lars Wirzenius  <liw@iki.fi>

	* utils/chlog-stats: Wrote.

2001-01-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwassert.h, gwlib/gwmem-check.c, gwlib/gwmem-native.c,
	gwlib/log.[ch], gwlib/octstr.c: Undid changes to make logging
	functions use octstr_format instead of fprintf. The interactions
	between debug(), gwmem, gwthread, and other low-level parts of
	gwlib are too intricate and error prone. It is better to suffer
	the use of octstr_get_cstr when logging things instead of making
	logging error prone.

2001-01-10  Lars Wirzenius  <liw@iki.fi>

    	* gwlib/octstr.c: Implemented %p in octstr_format.

	* test/test_octstr_format.c: Related changes.

2001-01-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.c: Made info() use octstr_format as well. All places
	that call info() have been checked manually. In the process, found
	a couple of bugs, see below.

	* gw/bb_smscconn.c: Bugfix. octstr_get_cstr was called with a NULL
	argument, reversed the test so that it is called only when the
	argument will be non-NULL.
	
	* gwlib/log.c: Bugfix. Output needs to be flushed as soon as it
	has been written.
	
	* gwlib/octstr.[ch]: Implemented %i for octstr_format, and made
	octstr_get_cstr report the place it has been called from.
	
	* test/drive_smpp.c: Bugfix. Remember to quit from a loop within
	the main loop of a thread, if the quitting signal has been given.
	
2001-01-09  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn*.*, gw/smsc_wrapper.c: updated start/stop interface,
	moving list trick into wrapper, so that each connection
	implementation can do it any way they like.

2001-01-09  Lars Wirzenius  <liw@iki.fi>

	* doc/CodingStyle: Add note that one should never include anything
	except gwlib.h from gwlib.h

2001-01-09  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/gw_inet.c: Included string.h to declare strncpy.

2001-01-08  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/gw_inet.[ch]: Added initial implementation of
	gw_inet_ntop and supporting code.
	* gw/wap_push_ota.c: included gwlib/gw_inet.h.


2001-01-08  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.c: Made warning() use octstr_format. All usages have
	been checked and should work.

2001-01-08  Kalle Marjola  <rpr@wapit.com>

	* gw/*smscconn*.*: removed reason from killed-callback,
	instead it is used in why_killed field (previous is_killed)

	* gw/smscconn.*: infotable now has killing reason included

2001-01-08 Aarno Syvnen <syvanen@wapit.com>

	* gw/wap_push_ota.c: Streamlined the code somewhat

2001-01-08  Kalle Marjola  <rpr@wapit.com>

	* utils/kannel-init.d: changed binary names into variables so
	that it is easier to change script to work with different versions

2001-01-06  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.c: Added a missing include for <limits.h> so that
	CHAR_BIT is defined. The over-eagerness of Linux headers to
	define everything strikes again.

2001-01-05  Lars Wirzenius  <liw@iki.fi>

	* Started to convert logging functions to use octstr_format instead
	sprintf, to make them more powerful. Now, panic() and error() use
	octstr_format, the others do not yet (each call needs to be
	checked to make sure that octstr_format can deal with the format
	string and I didn't have the time to do that yet).
	
	Also added the function panic_hard for those cases where calling
	panic would call eternal recursion - panic uses octstr_format, which
	can call panic itself (via gw_assert or gw_malloc, for example).
	
    	* gwlib/log.[ch]: Implemented panic_hard and made panic and error
	use octstr_format.

	* gwlib/gwassert.h, gwlib/gwmem-check.c, gwlib/gwmem-native.c,
	gwlib/octstr.c: Changed to use panic_hard instead of panic.

	* gw/wap-appl.c: Indentation fix.

2000-01-04 Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* configure.in,configure: Added tests for the definition of 
	INET_ADDRSTRLEN and finding libraries for inet_ntop.  Allows 
	gw/wap_push_ota.c to compile and link under Solaris 7.

2001-01-04  Lars Wirzenius  <liw@iki.fi>

	* configure.in, Makefile.in: Added PDF conversion of docs.
	
	* doc/arch/*: Replaced the architecture document with a modified
	version of the draft for my MSc thesis. The old document was
	horribly out of date, the thesis draft is at least mostly current,
	even if it is still missing a few bits.
	
2000-01-04 Aarno Syvnen <syvanen@wapit.com>

	* wap/wap_events.def: Added Push OTA events

	* wap/wsp_pdu.def: Added sia, a spesific content type for trans-
	mitting data bearerbox addresses, etc.

	* gw/wap_push_ppg.c|h: Added module to implement PPG main logic.
	It does not do anything, yet.

	* gw/wap_push_ota.c|h: Wrote requirements part of Push OTA 
	protocol.

	* gw/wapbox.c: Send bearerbox address to OTA module. Initialize 
	and shutdown ppg.

	* wap/wsp_strings.def: Added conversion tables for bearer types 
	and push application ids.

	* wap/wsp_headers.c: Added packing and unpacking of OTA headers

2001-01-03  Lars Wirzenius  <liw@iki.fi>

	* checks/check_fakesmsc.sh, checks/check_fakewap.sh: Modified to
	work without network access to facilitate development on a laptop.
	
	* test/test_http_server.c: Added option -f, to allow a WML file
	to be returned instead of a text/plain response. This is used
	by check_fakewap.sh above.
	
	* gw/bb_smscconn.c: Initialized some local variables so that
	the compiler won't warn that they are used before they are
	initialized.
	
	* gwlib/octstr.[ch]: Removed octstr_search_cstr, which was no
	longer used.

2000-12-29  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_definitions.h: Added WBXML_ to every defined constant, 
	so that there wouldn't be any more mixups with constants defined 
	elsewhere.

	* gw/wml_compiler.c: The code modified to use the new definitions.

2000-12-29  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: The own hash table code is deleted and dict 
	implementation is used instead. The wml_init builds up the dicts 
	for the WML binary bytecode and wml_shutdown frees those dicts.
	Also a bit of code renewing by deleting all octstr_*_cstr-functions.

	* gw/wapbox.c: Added calls to wml_init and wml_shutdown when starting
	and shutting down the wapbox.

	* gwlib/octstr.c (octstr_hash_key): Now hash key for a NULL octet 
	string is 0.

	* test/wml_tester.c: The test program now has a command line argument 
	-n number that does the compiling n times. Also all the wml files 
	written in sequence in the command line will be compiled. Some other 
	modifications to get rid of the octstr_*_cstr-functions.

2000-12-29  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn.c: shortened SMSCConn status output

	* gw/bb_http.c: added full HTML header to HTML replies
	
2000-12-29  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn.c: added load-based routing to outgoing SMS
	messages, which takes into account reconnecting connections,
	preferrations etc. (note that currently as all SMSC Connections
	are used via smsc_wrapper their load is equal to internal queue
	length, which is usually 0)

	* gw/smsc_wrapper.c: a bit update to startup

2000-12-28  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c: added that HTTP admin commands can be used without
	cgi-bin/ in the URL, too.
	
	* doc/userguide/userguide.xml: documentation updated to reflect
	that

2000-12-28  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c, gw/bearerbox.c: modified so that every reply to
	HTTP admin is formatted according to client Accept: -header, with
	preference as WML > HTML > plain text.

2000-12-28  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c: modified so that cgi-bin/status returns the reply
	in format accepted by the client, preferring WML over HTML over
	plain text.

	* gw/bb_http.c: made admin-password mandatory in code, too. Set
	that wrong password in admin commands causes delayed answer to
	delay brute force password cracking

	* gw/bb_http.c: added new configuration variable status-password -
	if set, status inquiry must be supplied with either this or
	general admin-password

	* gw/*kannel.conf, doc/userguide/userguide.xml: updated to reflect
	status-password

2000-12-28  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c, gw/bearerbox.h, gw/bb_boxc.c, gw/bb_smscconn.c:
	updated to format status inquiry into HTML, WML or plain text.

	* gw/bb_http.c: added new HTTP admin functions cgi-bin/status.wml,
	cgi-bin/status.html and cgi-bin/status.txt if the client wants a 
	specific type. Plain cgi-bin/status returns HTML currently,
	updated to return whatever client requests via Accept -header in
	near future (as would all other commands, too)

	* gw/bb_http.c: removed cgi-bin/xmlstatus, replaced with
	cgi-bin/status.xml which still does not return anything sensible.

2000-12-27  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn.c, gw/smscconn_p.h: added new smsc configuration
	group variable allowed-smsc-id

	* doc/userguide/userguide.xml: added description

2000-12-27  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn_p.h, gw/smsc_wrapper.c: a bit more commented code 

2000-12-22  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* config.sub,config.guess,configure.in,configure: added the host 
	determination files and removed the dependancy on /usr/share/autoconf.
	
2000-12-22  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* config.h.in,configure,configure.in,gwlib/gwthread-pthread.c:
	Cleaned up host system determination and tests for broken pthreads.
	
2000-12-21  Lars Wirzenius  <liw@iki.fi>

	* test/drive_smpp.c: Added includes for accept(2).

2000-12-21  Lars Wirzenius  <liw@iki.fi>

	* Rewrote the SMPP protocol implementation. The old one was
	excessively verbose (lots of repetitive code), did not use Octstr,
	or Connection, and needed much attention in order to fit into the
	new SMSC interface anyway. The new code is about half the length
	and much cleaner and should be functionally about as concrete
	(but see comments at the top of gw/smsc_smpp.c), and happens to
	be somewhat faster.
	
	* gw/smsc_smpp.h: Removed. It was only included by the old version
	of gw/smsc_smpp.c anyway, and shouldn't have existed at all.
	
	* gw/smpp_pdu.[ch] and gw/smpp_pdu.def: Wrote. These parse and
	generate the binary and struct versions of the SMPP PDUs. The
	C preprocessor trick the WAP stack uses is used here as well to
	keep code clean and short. They're used by drive_smpp as well,
	so they're not made part of smsc_smpp.c itself.

	* test/drive_smpp.c: Wrote. This is a server end implementation of
	the SMPP protocol and is used to verify that the client end works.

	* checks/check_smpp.sh, test/drive_smpp.conf: Wrote.
	
	* gwlib/semaphore.[ch]: Wrote. These are used by the SMPP code
	to make sure not too many pending submit_sm requests are open.
	The current implementation of Semaphore is quite simplistic
	and wraps around List; native semaphores should probably be
	used instead, but this is good enough for now.
	
	* gwlib/gwlib.h: Added include for semaphore.h.
	
	* gwlib/octstr.c: Ignore NULL arguments before calling
	seems_valid, instead of afterwards, since seems_valid asserts
	that the argument is not NULL.
	
	* utils/source-stats: Cound the `wap' subdirectory as well.

2000-12-21  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c: added some mutex operations so that reconnect
	should now work without segfault
	
2000-12-21  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c, gw/bb_smscconn.c, gw/smsc_wrapper.c: updated
	status output information 

2000-12-21  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c: moved logistics of reconnect to this module,
	instead than in smsc.c

	* gw/smsc.*: removed lots of public functions (the old interface)

	* gw/bb_smsc.c: remove depricated code
	
2000-12-21  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.*: use smsc2_ functions for new bb_smscconn,
	renaming in a near future
	
	* gw/smsc.c: modified to use gwthread_sleep instead of plain
	sleep, so that no need for 'semi-busy sleep' during reconnect

	* gw/smscconn*.*: added missing functions, these should now work

	* gw/smsc_wrapper.c: finished, including program flow etc.
	
2000-12-21  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc.c: added missing breaks to _reopen

2000-12-21  Derry Hamilton <rasilon@tardis.ed.ac.uk>
	
	* gw/wap-appl.c: Fixed race condition, between updating and
	deleting stuff in id_to_request_data and caller simultaneously

2000-12-20  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn_cb.c: renamed as bb_smscconn.c and includes all
	code in old bb_smsc.c - will replace the old system as soon as I
	get last missing functions ready and the system tested

	* gw/smscconn.* added that shutdown can either empty the internal
	queue first or do a quick shutdown, putting all messages into
	failed list

2000-12-20  Derry Hamilton <rasilon@tardis.ed.ac.uk>
	* gwlib/gwthread.h, gwlib/gwthread-pthread.c, gw/bearerbox.c,
	config.h.in:  Combined patches from Nick Clarey and myself
	that cope with POSIX-but-not-quite threads.  My head hurts.
	
2000-12-19  Richard Braakman  <dark@wapit.com>

	* gwlib/dict.c: Improve description of Dict fields.

2000-12-19  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c: it is ready - to be tested out. Next: new
	bb_smsc.c, so the wrapper can be checked out

2000-12-19  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_emi.c: fixed that NULL pointer is not tried to be
	printed

2000-12-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smscconn_cb.*, gw/smscconn*, gw/smsc_wrapper.c: updated,
	almost ready now.

2000-12-18  Peter Grnholm  <peter@wapit.com>

	* gw/wml_definitions.h, fixed attribute name, "accept_charset"
	is now "accept-charset".

2000-12-15  Lars Wirzenius  <liw@iki.fi>

	* gw/bb_smscconn_cb.c, gw/smsc_wrapper.c, gw/smscconn.c: Rudely
	commented out things to shut compiler warnings off.

2000-12-15  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn.c|h|_p.h, gw/smsc_wrapper.c: continued the work

	* gw/bb_smscconn_cb.h|c: added. Callbacks to synchronize things

2000-12-15  Richard Braakman  <dark@wapit.com>

	* gwlib/dict.[ch]: Implement dict_key_count().  Implement behaviour
	of dict_put when value is NULL.

	* gw/smsbox.c: dict_key_count() now exists, so use it in
	outstanding_requests().

2000-12-15  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: smsbox_req_sendsms and smsbox_req_sendota made
	static, they're not called from anywhere else.

2000-12-13  Richard Braakman  <dark@wapit.com>

	* test/fakewap.c: Indented gwlib_shutdown() call according to
	our coding style.
	
2000-12-13 Paul Keogh <paul.keogh@anam.com>

	* test/fakewap.c: Added gwlib_shutdown() call.

2000-12-13  Richard Braakman  <dark@wapit.com>

	* Making release 0.13.1.

2000-12-13  Richard Braakman  <dark@wapit.com>

	* Updated NEWS file.  Compare 0.13 with 0.12 series instead of
	with 0.11 series, on the assumption that people who use development
	versions will still read the release notes for stable versions.

	* Documented --with-malloc=slow.

2000-12-11 Aarno Syvnen <syvanen@wapit.com>

	* wap/wsp_unit.c: Added handling of S_Unit_Push.req

2000-12-11  Richard Braakman  <dark@wapit.com>

	* gw/smsc_smpp.c: Made smpp_reopen() work, and not crash.
	Made it not destroy the smsc structure when it fails, because
	that's not part of the interface.

	* gw/smsc.c: Made smsc_reopen() also lock the smsc structure.

	* gwlib/socket.c: In read_available(), pass the actual value of
	the largest fd used to select, rather than FD_SETSIZE.

	* gw/urltrans.c: encode_for_url returns an Octstr, but callers
	treated it as char *.  Fixed that.
	Free URLTranslation->keyword with octstr_destroy, not gw_free.

	* gw/smsc_smpp.c: Removed unused lists sent_mt and delivered_mt.

2000-12-11  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: octstr_format(): Implement %% in format strings.

2000-12-08  Aarno Syven <syvanen@wapit.com>

	* wap/wsp_push_client.c, wap/wap_events.def: Really resolve
	a conflict.

2000-12-09  Lars Wirzenius  <liw@iki.fi>

	* wap/wsp_push_client.c, wap/wsp_push_client_states.def,
	wap/wsp_server_push_states.def, wap/wsp_session.c: Commented
	things out so that things will at least compile and pass "make
	check". I assume Aarno forgot to add one or two files or other
	changes when he committed and that things do compile in *his*
	work directory.

2000-12-08  Aarno Syvnen <syvanen@wapit.com>

	* wap/server_push_machine.def, wsp_server_push_states.def: Two new
	modules to handle wsp push.

	* gw/wap_push_ota.c|h: These files are used, for now,  only for 
	debugging

	* wap/wap_events.def: For TR-Abort.ind, added the field ir_flag. This 
	tells are the indicator responder or initiator and TR-Invoke.cnf, 
	added field addr_tuple, which tells the session to which the event
	should be sent.

	* wap/wtp.h: More readable strings instead of magic numbers.

	* wap/wsp_push_client.c: Added calls to disconnect and suspend a
	session. Combined indications and dispatching. Separate abort 
	functions for the initiator and the responder. 

	* wap/wsp.h: Added definition of server push machine.

	* wap/wsp_server_session_machine.def: Added list for push machines.
        Renamed macro METHODMACHINES to MACINESLIST.

	* wap/wsp_session.c: Added statics to handle wsp push. In function
	find_session_machine, added handling of push events. Destroying both
	method and push machines.
	
	* wap/wtp_init.c, wap/wtp_resp.c: Assign values of new flags.

	* wap/wap.h: Added a new interface function wap_push_ota_dispatch_
	event.

	* wap/wsp_push_client_machine.def: Added session_id.

2000-12-08  Richard Braakman  <dark@wapit.com>

	* gw/bb_smsc.c, function sms_receiver: Made the increase in sleep
	times much slower (multiply by 2 instead of by 100).  This avoids
	having the bearerbox sleep a whole second just because the SMSC
	took longer than 0.01 seconds.  This scenario is pretty common
	on dialup links.

2000-12-07  Lars Wirzenius  <liw@iki.fi>

	* contrib/{fortune.cgi,ping.cgi,sendsms,smstomail.cgi}: Added
	some sample services that can be used with Kannel. They're
	unlikely to be useful in real life, but might be amusing to test.

2000-12-07  Lars Wirzenius  <liw@iki.fi>

	* gw/smskannel.conf: Removed the "www" example service, since
	people seem not to remove it from production installations.
	They should, since it's potentially a security problem.

2000-12-06  Richard Braakman  <dark@wapit.com>

	* gw/wapbox.c: Memory cleanup: Call close_connection_to_bearerbox()
	when exiting, and destroy the bearerbox_host string.

2000-12-06  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Removed compilation warning about `catref' being
	possibly used without initialization in send_message. While doing
	this, fixed some formatting (long lines, comment style), frivolous
	argument order changes, and renamed catref to msg_sequence,
	so as to use the same name everywhere.
	
	Also removed the commented-out part that disabled catenation
	on messages with UDH. It was enabled since the code before the
	rewrite didn't seem to deal with this case properly, and I hadn't
	time to find out the correct way to handle this.

2000-12-06  Richard Braakman  <dark@wapit.com>

	* Not Finnish and not independent.  (Ruled by a queen)

	* Applied Mikael Gueck's cleanup patch for SMPP.

	* gw/smsc_smpp.c: Fixed memory leak in data_receive(), spotted
	by Milko Videv.

	* gw/smsc_smpp.c: Fixed minor compiler warnings, deleted unused
	functions charset_smpp_to_iso(), charset_iso_to_smpp(), and
	actively_unbind().

	* gw/smsc_smpp.h: Deleted declarations of unused functions.
	Deleted translation_table (no longer used)

2000-12-06  Yann Muller  <ymuller@3glab.com>

	* gw/smsbox.c: Corrected reference number for concatenation UDH,
	recalculate UDH length after adding concatenation info and adjust
	if UDH was empty. Commented out reset of 'catenate' if UDH is
	already present.
	
	* gw/smsc_at.c: fixed the length of the user data in pdu_encode().
	
2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: Converted to use bearerbox communication stuff
	from gw/shared.c (and therefore Connection) instead of using
	old plain socket stuff. Among other things, this kills one thread
	(empty_queue_thread).
	
	* gw/shared.c: Check for write errors and don't report messages
	that were sent.

	* checks/check_fakewap.sh: Set log level to 0 and shorten sleeps
	between box startups.
	
	* gw/smsbox.c: Don't use \0 in format string, use %c and argument
	0 instead. \0 has a tendency to cut C strings short...

2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gw/shared.[ch]: Moved bearerbox communication stuff from
	smsbox.c to shared.c, so that it can easily be used by wapbox
	as well.
	
	* gw/smsbox.c: Related changes.
	
	* gw/wapbox.c: Renamed "running" to "running_ok", until the
	wapbox will use program_status from shared.c.

2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc.c: Removed calls to str_find_substr.
	
	* gwlib/utils.[ch]: Removed now-unused str_find_substr function.

2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.[ch]: Removed urltrans_accepted_smsc(), since
	it wasn't being used. Made the accepted SMSC list in an
	URLTranslation be a List. This allows us to kill one more call
	to str_find_substr.
	
	* gwlib/octstr.[ch]: Wrote octstr_item_match.

2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch]: Wrote octstr_split.
	
	* gw/urltrans.c: Use a Dict to look up the URLTranslation,
	instead of a linear search from the whole list. This is somewhat
	faster and results in cleaner code.

2000-12-05  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwstr.[ch], gwlib/conffile.c: Moved trim_ends to
	conffile.c, and the other functions were no longer used, so
	removed the gwstr module.
	
	* gwlib/gwlib.h, gwlib/socket.h: Removed include for gwstr.h.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

    	* gw/urltrans.c: Made urltrans_get_pattern return an Octstr, instead
	of a C string.

	* gw/smsbox.c: Related changes.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.[ch]: Change function call interfaces to use Octstr
	instead of C strings.

	* gw/smsbox.c: Related changes.
	
	* gw/smsbox.c: When checking whether sendsms is allowed, call
	is_allowed_ip properly, with deny_ip, not instead of allow_ip.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.[ch]: Reformatted for new coding style.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Fixed the PAM code to use warning and error,
	instead of printf.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Reformatted the PAM code. Hopefully it still works.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Rearranged code for clarity, plugged a memory leak
	and fixed a memory freeing bug (memory was being freed twice).

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Merged smsbox_req.c into smsbox.c, because they
	called each other backwards and forwards and the merged file is
	small enough to be manageable, so there's no point in keeping
	them separate.
	
	* gw/smsbox.h, gw/smsbox_req.[ch]: Removed.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Rearranged code to be somewhat clearer.
	
	* gw/smsbox.c: Removed ancient file comment.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Rewrote SMS splitting so that it is hopefully
	now somewhat more understandable.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_emi.c: Avoid NULL pointer dereference if sender has
	not been set. Thanks to Armin Hurm for finding this.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/userguide.xml: Explain the syslog-level variable
	for wabpox.

2000-12-04  Lars Wirzenius  <liw@iki.fi>

	* README: Moved information from doc/platforms/FAQ.solaris to
	README, because the goal is to reduce the number of places one
	has to look for documentation, not increase it. Whoever put the
	file in CVS didn't even document it in the ChangeLog.
	
	* doc/platforms/FAQ.solaris: Removed.

2000-12-01  Richard Braakman  <dark@wapit.com>

	* gw/heartbeat.c: Fix busy-loop in heartbeat thread.

2000-12-01  Lars Wirzenius  <liw@iki.fi>

	* contrib/php-admin/*: Added PHP administration stuff and
	sendota/sendvcard/etc stuff from Bjarne Saltbaek.

2000-12-01  Lars Wirzenius  <liw@iki.fi>

	* configure.in: Accept libxml 2.2.10. (Untested, since I don't
	have 2.2.10 yet.)

2000-11-29  Richard Braakman  <dark@wapit.com>

	* wap/wap_events.*: Gave events pretty names, for logging.
	("TR-Invoke.cnf" instead of "TR_Invoke_Cnf").

2000-11-29  Richard Braakman  <dark@wapit.com>

	* wap/wap_events.def, wap/wsp_push_client.c,
	wap/wsp_push_client_states.def: Brought Push-related events in
	line with the scheme used by other WSP events.

2000-11-29  Richard Braakman  <dark@wapit.com>

	* gwlib/gwpoll.h, gwlib/gwthread-pthread.h: FreeBSD compatibility
	fix.  Specify "no timeout" on poll by using INFTIM, if it's
	available, rather than using a random negative value.

2000-11-29  Aarno Syvnen <syvanen@wapit.com>

	*wap/wsp_push_client_states.def: Changed names of dispatching 
	functions to locally used ones.

2000-11-29  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: removed the UDHL from the encoding of the PDU.
	The length should already be in the UDH.

2000-11-28  Richard Braakman  <dark@wapit.com>

	* wap/wsp_session.c, wap/wsp_server_session_states.def,
	wap/wsp_server_method_states.def: Renamed static functions
	so that they do not start with "wsp_", to avoid confusion.
	(In the future the client side will have its own versions
	of these, and names with wsp_ look like they are global.)

2000-11-28  Richard Braakman  <dark@wapit.com>

	* wap/wap_events.def: Added WSP client-side events (not used yet).

	* Renamed "session_id" to "session_handle" for WSP session events
	that are used by both client and server side.  The client side does
	not know the session id until after it is connected, so it can not
	use that as a handle.

	* Made "method" an OCTSTR field instead of INTEGER.  Now the 
	application layer need no longer worry about method encoding
	values.  This is a first step toward supporting extended methods,
	which have no fixed number.

	* Renamed S_MethodInvoke_Ind fields to be closer to the spec.

	* Introduced OPTIONAL_OCTSTR, and require that OCTSTR and
	ADDRTUPLE fields never be NULL.  wap_event_assert now checks this.
	HTTPHEADER, CAPABILITIES, and OPTIONAL_OCTSTR fields can be NULL.
	All uses have been checked to see if they can deal with this,
	and some have been adjusted.

	* wap/wap_events.def: Formalized distinction between fields in
	the spec and fields added by Kannel.

	* wap/wsp_push_client.c: In push_client_machine_find_or_create,
	add default case to handle unexpected event types, and always
	destroy "pdu" variable (to avoid gcc warnings).

	* wap/wsp_push_client.h: Define INTEGER fields as long, just like
	everywhere else.

2000-11-28  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.[ch], gw/smsbox_req.[ch]: Call function to write
	message to bearerbox directly, instead of via function pointer.

2000-11-28  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: fixed that sendsms user is again shown (it
	disappeared during some authorization work, I guess)

	* gw/urltrans.c|h: added function urltrans_username

2000-11-28  Aarno Syvnen <syvanen@wapit.com>

	* gw/wapbox.c: Initialize and shutdown the push client.

2000-11-28  Aarno Syvnen <syvanen@wapit.com>

	* wap/wsp_push_client*: Added client push machine. Wtp responder 
	will send class 1 transaction messages to this as long as wsp client
	session machine is not implemented.

	* wap/wap_events.def: Added some push events

	* wap/wap.h, wtp_resp.c, wtp_resp_states.def: Sending events from 
	wtp responder to push client implemented.

2000-11-28  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.[ch]: Added a log_ prefix to functions, except for
	the actual message printing ones. Those are used in too many
	places to warrant a change.

	* checks/check_*.c, gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c,
	gwlib/utils.c, test/drive_wapbox.c, test/test_http.c,
	test/test_http_server.c, test/wml_tester.c: Related changes.

2000-11-28  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Deal with failed requests in the proper manner,
	which does not include segfaulting.

2000-11-28  Lars Wirzenius  <liw@iki.fi>

	* checks/check_sendsms.sh: Wait a couple of seconds before making
	http requests so that the smsbox has time to start up properly.
	
	* gw/html.c: Moved the html prefix and suffix stripping function
	into smsbox_req.c, since it doesn't really do anything with html,
	just octstrs. Cleaned up url_result_thread slightly.

2000-11-28  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Accept WML responses as well as plain text
	and HTML responses.

2000-11-28	Paul Keogh	<paul.keogh@anam.com>

	* gwlib/gwmem-check.c: Removed compiler warning of
	"gwmem-check.c(370) : unary minus operator applied to unsigned type, 
	result still unsigned."

2000-11-27  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Made obey_request return an Octstr, instead
	of a C string.

2000-11-27  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: Formatted to follow coding style.

2000-11-27  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, gw/smsbox_req.c: Changed the thread structure for
	smsbox so that threads are not created dynamically for each new
	message, but instead threads are created at startup and messages
	are passed around between then via queues.
	
	* gw/urltrans.c: Fixed memory leak by remembering to destroy
	the deny_ip string as well.

2000-11-27  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: corrected explanation of smsc-id
	in sendsms interface chapter

2000-11-24  Richard Braakman  <dark@wapit.com>

	* Added Suspend/Resume support. (Not well tested yet)

	* wap/wsp_pdu.def: Note that the capabilities field in a Resume
	PDU is reserved.

	* wap/wsp_server_method_states.def: Explain why we don't
	decrement N_Methods.

2000-11-24  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc.c: oops, did fix to wrong place, silly me

2000-11-24  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwmem-check.c: Add casts to avoid comparing pointers
	and integers.

2000-11-24  Richard Braakman  <dark@wapit.com>

	* gw/heartbeat.[ch]: New files, contain heartbeat code shared
	between wapbox and smsbox.

	* gw/wapbox.c, gw/smsbox.c: Use shared heartbeat code.

	* gw/smsbox.c: Use Connection for the link with the bearer box.
	Made bb_host an Octstr.

	* gw/smsbox_req.c: write_msg() cannot fail, so don't check
	return codes.

	* gwlib/conn.c: Memory leak debugging: all callers of unlocked_get
	claim the result as theirs.

	* gwlib/http.c: Fix memory leak in read_chunked_body_crlf().

	* configure.in, config.h.in: Added --with-malloc=slow, which does
        a more careful (but much slower) check in find_area().  This can
	sometimes report problems that would otherwise cause a segfault.

	* gwlib/gwmem.h, gwlib/gwmem-check.c: Implement --with-malloc=slow.
	Also do the careful check if the pointer looks like one of our
	standard fill patterns.

	* gwlib/octstr.c: Added seems_valid() call in octstr_dump().

	* gwlib/http.c: Get rid of clients_in_fdset list.  This removes
	a race condition that would cause occasional segmentation faults,
	but leaves us with some "memory leaks".  (They aren't really,
	but are reported as such.)

	* gw/smsc_emi.c: Converted previous patch to our coding style
	wrt parenthesis usage.  emi_open_session: Added missing final
	return.  emi_fill_ucp60_login: Made ia5passwd dynamically
	allocated, since variable-length arrays are not standard C.

2000-11-24  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc.c, gw/smsc_emi.c: applied authentication patch by Joerg
	Pommnitz

2000-11-23  Richard Braakman  <dark@wapit.com>

	* wap/wsp.h, wsp/wsp_headers.c, wap/wsp_session.c:
	Changed some "XXX" comments.

	* wap/wsp_pdu.h, wap/wsp_server_method_states.def, wap/wsp_unit.c:
	Introduced GET_METHODS and POST_METHODS identifiers to avoid using
	0x40 and 0x60 as magic numbers.

2000-11-23  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: reverted default GSM alphabet patch and added
	call to charset_latin1_to_gsm().
	
2000-11-23  Richard Braakman  <dark@wapit.com>

	* gw/smsbox.c: Moved http_proxy_ variables into init_smsbox, since
	they are used only there.  Made http_proxy_host an Octstr.

	* gw/smsbox.c: Wait for http_request_thread to terminate, when
	shutting down the box.

	* gw/smsbox_req.[ch], gw/smsbox.c: Added smsbox_req_shutdown(),
	so that it can clean up its copy of global_sender.

2000-11-23  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Deal with HTTP version numbers above 1.1 also
	on the server side. Use a single function for the checking that
	is used by both the client and server.

2000-11-23  Richard Braakman  <dark@wapit.com>

	* wap/wtp_init.c, wap/wtp_init_states.def, wap/wtp_resp.c,
	wap/wtp_resp_states.def: Added static send_abort() and 
	send_ack() functions, to simplify the state machine
	definitions.

2000-11-23  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: some corrections to just written

2000-11-23  Richard Braakman  <dark@wapit.com>

	* gw/smsc_at.c, gw/smsbox_req.c: Replaced some strcpys with
	pointer assignments.

	* doc/userguide/userguide.xml: Replaced an & with &amp; so that
	it compiles.

	* checks/check_sendsms.sh: Reduced sleep after starting bearerbox,
	because it starts up faster now.  Added "sleep 5" before killing
	bearerbox, because smsbox segfaults if it's still busy when the
	bearerbox goes away.

2000-11-23  Yann Muller  <ymuller@3glab.com>

	* doc/userguide/userguide.xml: Added Stipe Tolj's explanations
	for multiple OTA configs.

2000-11-23  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: Added some explanation of SMS and
	what is an SMS gateway - might need editing, but neverthless there
	is some text

	* doc/userguide/sms-gateway.fig: New picture to support that
	explanation

2000-11-22  Richard Braakman  <dark@wapit.com>

	* gw/smsc.c, gw/smsc_cimd.c: Reformatted.

2000-11-22  Lars Wirzenius  <liw@iki.fi>

	* test/drive_wapbox.c: Killed a memory leak by destroying a
	temporary octet string.
	
	* gwlib/gwmem-check.c: When dumping allocated areas, dump the
	first few bytes of the area.
	
	* gwlib/http.c: Destroy HTTPClients before destroying the fdset.

2000-11-22  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: Moved some explanations to correct
	places, to avoid mixed up context

2000-11-22  Richard Braakman  <dark@wapit.com>

	* gwlib/fdset.c: When destroying an fdset with active fd's,
	close them first and signal that event.

2000-11-22  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/userguide.xml: Add notes about HTTP proxy username
	and password.

2000-11-21  Richard Braakman  <dark@wapit.com>

	* wmlscript/wserror.c, wmlscript/wslexer.c:
        Fixed some assertions with side effects.

2000-11-21  Richard Braakman  <dark@wapit.com>

	* gw/html.c, convert_html_entity(): Made conversion of entities
	like &#1234; work.

2000-11-21  Richard Braakman  <dark@wapit.com>

	* gw/html.c, gw/msg.c: Reformatted.

2000-11-21  Richard Braakman  <dark@wapit.com>

	* gw/cgi.[ch]: Removed, they are no longer used.

	* gw/smsbox.c, gw/smsbox_req.[ch]: Removed inclusion of cgi.h.

2000-11-21  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c, gwlib/conn.c, gwlib/list.c,
	gwlib/utils.c (roundup_div): Formatted according to our coding style.
	All of gwlib/ is now converted.

2000-11-21  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Made persistent connection detection work with
	HTTP/1.0 responses and responses with the "Connection: close"
	header. Also removed an extra "Using proxy" report.

	* ChangeLog: Indented the first line of the previous log entry
	properly. (8, not 4)

2000-11-21  Yann Muller  <ymuller@3glab.com>

	* gwlib/utils.[ch], gw/smsbox_req.c: moved roundup_div() from
	smsbox_req.c to utils.c so it can be used from other files.
	
	* gw/smsc_at.c: fix for 7 bit encoded PDU's with a UDH.
	
	* gw/smsbox_req.c: maxdatalength fix in do_split_send().
	
2000-11-21  Lars Wirzenius  <liw@iki.fi>

	* checsk/check_fakesmsc.sh: Sleep before starting background
	processes, so that the previous ones have time to start up
	properly.

	* ChangeLog: Indented the previous log entry properly. (8, not 4)

2000-11-21  Yann Muller  <ymuller@3glab.com>

	* gw/smsbox_req.c: sendota patched (Stipe Tolj) to accept more 
	that one OTA configuration. 
	
2000-11-20  Richard Braakman  <dark@wapit.com>

	* Turned WTP and WSP protocol stacks into a library.  Source 
        files moved to a directory called "wap", which generates libwap.a.
	The interface to this library is specified in wap/wap.h.
	The application layer remains in gw/.

	* In WAPAddrTuple, rename "client" and "server" to "remote"
	and "local", to prevent confusion in client-side code.

	* While moving files to wap/, renamed declaration files to
	".def", and made filenames use _ instead of - as separator.
	Also put "server" in the name of some WSP files, to make
	room for future "client" files.

	* Sanitized header files that include other header files.
	Now each header only includes what it needs.

	* Layers can be started independently, and use configurable
	dispatch functions.

	* wap/timers.c, wap/wsp_strings.c: Allow nested initializations
	and shutdowns, because layers that use them can be started
	independently.

	* WTP layer now uses datagram events instead of Msg structures
	for its lower level.

	* wtp_send.c converted to wtp_pack.c, because it no longer
	does its own sending.

	* wtp_tid.c uses WAPAddrTuple instead of its own structure.

	* gw/wap-appl.c, gw/wapbox.c: Use the new interface.

2000-11-20  Lars Wirzenius  <liw@iki.fi>

	* gwlib/dict.c: Avoid an extra list_search if we know the 
	list was empty.

2000-11-20  Richard Braakman  <dark@wapit.com>

	* Making release 0.13.

2000-11-20  Richard Braakman  <dark@wapit.com>

	* gwlib/dict.c: Made it initialize empty table entries with
	NULL instead of empty lists, to save memory.

	* gwlib/http.c: Fix memory leak in send_request() when retrying
	a request.

	* gwlib/http.c: Make sure that a retried request really gets
	a _new_ connection.  Otherwise it could be rejected just because
	two connections have timed out.

2000-11-19  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* solaris/prototype: Updated the prototype to reflect the newer
	install style.

2000-11-17  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smsc.c (sms_receiver): usleep limit to avoid portability
	problems, patch by Jarkko Oikarinen

2000-11-16  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Responses with status 1xx, 204, or 304 are
	defined as having no message body, so don't expect one.

2000-11-16  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Removed calls to conn_unregister that were followed
	by calls to conn_destroy.  It's redundant, and in one case the
	connection might be NULL.

	* gwlib/conn.c: Add some conn != NULL assertions.

2000-11-16  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: In function at_open_connection() added parity
	line for this modem type. In function at_open() adding sleep
	period only for this modem type, may be expanded. In function
	pdu_extract() changed skipping of 00 sequence for the specific
	modem types. (patch by Stipe Tolj)

2000-11-15  Richard Braakman  <dark@wapit.com>

	* gw/wsp-session.c: Address tuples are now included in events
	sent from WTP to WSP, so the code for looking up tuples based
	on WTP handles is no longer needed.

	* gw/wtp_resp.[ch]: Removed now-unused functions 
        wtp_resp_get_address_tuple, find_resp_machine_using_mid,
	and resp_machine_has_mid.

2000-11-15  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: added wapbox load based balancing, based on
	ofiginal patch by Rishi Lal and Priya Patil

2000-11-15  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_wrapper.c, gw/smscconn_p.h: Added.

	* gw/smscconn.c: moved wrapping stuff into smsc_wrapper.c, and
	private structure data into private header smscconn_p.h so that
	caller (main bearerbox) does not need to worry about that

2000-11-14  Richard Braakman  <dark@wapit.com>

	* doc/CodingStyle: Document our practice of having include files
	include other files.

2000-11-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Simplified code a bit by combining the two
	different states (reading_body and reading various parts of a
	chunked body) into one.

2000-11-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Implemented, I hope, proxy_add_authentication(),
	but I can't test it, since I don't have a proxy that requires
	authentication. If it doesn't work, hopefully people will tell me.

2000-11-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: Wrote function http_add_basic_auth.
	
	* test/test_http.c: Added code to optionally use Basic Auth
	with requests.

2000-11-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Report when connections to servers are opened
	and when a proxy is being used (via debug).
	
	* test/test_http.c: More informative output with -h.

2000-11-14  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: phone numbers starting with '+' or '00' are
	coded as international numbers, others are left with the 
	default (Unknown).	
	
2000-11-13  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, gw/wapbox.c, gwlib/http.[ch], test/test_http.c:
	Changed the HTTP proxy configuration interface so that the access
	to the proxy can be authenticated. The actual implementation
	is still lacking, but the interface changed to http_use_proxy()
	is done.

2000-11-13  Lars Wirzenius  <liw@iki.fi>

	* Makefile.in: Use $(DESTDIR) in the install targets.

2000-11-13  Richard Braakman  <dark@wapit.com>

	* configure.in, config.h, gwlib/gwassert.h: Use NO_GWASSERT
	instead of NDEBUG.  Have gwassert.h define NO_GWASSERT if
	NDEBUG is defined.

	* gw/smsc_cimd2.c, gwlib/conn.c, gwlib/gwlib.h, gwlib/octstr.c:
	Use NO_GWASSERT instead of NDEBUG.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Implemented persistent connections on the
	client end.

2000-11-10  Richard Braakman  <dark@wapit.com>

	* gwlib/gwlib.c: Call gwlib_protected_shutdown() last, because
	the protected functions are used by other shutdown functions.
	Thanks to Paul Keogh for pointing this out.

	* gwlib/gwmem.h, gwlib/gwmem-check.c, gwlib/gwlib.c:
	Added gwmem_shutdown() function, to be called after
	gw_check_leaks().  This makes it possible to check for
	leaks without shutting down.

	* doc/userguide/userguide.xml: Document the configure options
	added below.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Implemented persistent connections on the
	server end.

2000-11-10  Richard Braakman  <dark@wapit.com>

	* configure.in: Added --with-defaults to make it possible to
	configure for speed or for debugging, with one option.
	Added --disable-assertions to set NDEBUG.  Made --with-malloc
	and --disable-assertions use the default set by --with-defaults. 
	Changed some whitespace to make ./configure --help align nicely.

	* config.h.in: Added NDEBUG option

	* gwlib/gwthread-pthread.c: Include "gwlib/gwlib.h", not
	<gwlib/gwlib.h>.  The latter made "make depend" skip the
	inclusion.  This fixes the problem of needing to run
	"make clean" after switching malloc wrappers.

	* gwlib/thread.[ch]: Remove mutex_try_lock().  It's not longer
	used, and it had portability issues.

	* gwlib/conn.c: If conn_set_output_buffering is called, react
	to the new buffer size immediately.

	* gwlib/conn.[ch]: Remove conn_wait_multi().  It's not used
	and will not be needed by the new HTTP design.

	* gwlib/conn.c: Fix conn_flush to conform to its description
	and to manage its lock right.

	* gwlib/conn.c: Make unbuffered connections the default.

2000-11-10  Kalle Marjola  <rpr@wapit.com>

	* gw/smscconn.h|c: Added. New SMSC connection interface with stub
	of upcoming connection module (and wrapper for old system)

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: Killed http_get and http_post, since they're
	now obsolete and unused. http_get_real remains until numhash.c
	and smsbox_req.c are converted.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Reformatted.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Changed thread structure so that there is a
	static number of thread regardless of how many requests are
	made. This should make things a bit faster when the load is heavy.
	
	* gwlib/http.[ch]: Wrote function http_client_signal_shutdown,
	to allow the wapbox to shutdown.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Rearranged code in preparation for changing
	the thread structure so that a new thread is not started for
	each request.

2000-11-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: Updated documentation, moved HTTP_PORT to .c,
	since no-one else needs to know it.

2000-11-09  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: encode 7 bit messages in the default GSM alphabet
	(thanks to Mike Gaertner).

2000-11-08  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Deal with client_SDU_size being 0, which means
	there is no limit.  Thanks to Ruud Schramp for pointing this out.
	Also made connectionless mode set it to 0 instead of an arbitrary
	value.

2000-11-08  Lars Wirzenius  <liw@iki.fi>

	* Makefile.in, configure.in: Made "make install" work in a more
	sensible way, at least as far as the Filesystem Hierarchy Standard
	(pretty much all Linux systems, and mostly BSD systems as well)
	is concerned. /usr/bin and /usr/sbin are now used properly,
	and manual pages are installed as well. Also, the User Guide is
	installed in a more sensible way.
	
	* debian/rules: Updated accordingly.
	
2000-11-08  Lars Wirzenius  <liw@iki.fi>

	* checks/check_sendsms.sh: Remove log files if check was
	successful.

2000-11-08  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: fixed error that caused bearerbox to possibly
	segfault when connection from illegal IP was tried

	* gw/smsbox_req.c: make sure that UDH length is set properly
	
2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Bugfix. Destroy the new_server_sockets list.

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Massive rearranging and some renaming, but no real
	changes. The code is now much cleaner and easier to understand.

2000-11-07  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/octstr.c: Added some protection against endless loops in 
	strip-functions for special cases.

	* gw/wml_compiler.c: Memory leak with malformed variable fixed. 
	Also fixed the bug that reserved words cannot be variable names,
	eg $(password).

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: Removed old server API.

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* test/drive_wapbox.c: Converted to use new HTTP server API.

2000-11-07  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Fix memory leak in client_read_body.
	Make server_thread not warn if gwthread_poll fails with EINTR.

	* gwlib/conn.[ch]: Added conn_read_error(), and a read_error
	field to the Connection structure.
	Added conn_read_everything().

	* gwlib/http.c: In client_read_body, use conn_read_everything
	instead of conn_inbuf_length and conn_read_fixed.  This way
	it will detect end-of-file.

	* gw/wapbox.c: Make send_heartbeat_thread() not send more
	heartbeats than twice the usual frequency.  (We can live with
	sleep() not being exact, but when the wapbox is run inside a
	debugger it tends to go wild.)

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* checks/check_sendsms.sh: Sleep for five seconds before starting
	smsbox; this prevents the smsbox from crashing before the
	bearerbox is ready to accept its connection.
	
	* gw/smsbox.c: Adapted to new HTTP server API.
	
	* gwlib/http.c: Bugfix. If we fail to re-use a connection, and
	re-open it, we must then quit the handler for the old connection.

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* checks/check_sendsms.sh: Wrote.

2000-11-07  Lars Wirzenius  <liw@iki.fi>

	* checks/check_fakesmsc.sh: Wrote.

2000-11-06  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Variables with syntax errors are now discarded 
	with warning instead giving up with the hole WML source. Some memory 
	leak still exists. Also an unknown tag produces a warning in the log.

2000-11-06  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_at.c: Applied fix from Paul Keogh to hex number
	conversion.

2000-11-06  Lars Wirzenius  <liw@iki.fi>

	* utils/kannel-redhat.init.d: New file from Fabrice Gatille.

2000-11-06  Lars Wirzenius  <liw@iki.fi>

	* configure{,.in}, config.h.in: Add support for PAM enable and
	disable.
	
	* gw/smsbox_req.c: Fixed the PAM stuff so that it will compile
	with the new gwmem.h protectors against malloc and friends.

2000-11-06  Lars Wirzenius  <liw@iki.fi>

	* README, doc/userguide/userguide.xml: Moved information on how
	to use configure from README to User Guide.

2000-11-06  Lars Wirzenius  <liw@iki.fi>

    	* Bearerbox converted to use with ne HTTP server API, with help
	from Kalle Marjola.

	* gw/bb_http.c: Only use one thread to handle HTTP requests.
	Added function httpadmin_stop to help with shutdown
	synchronization issues.
	
	* gw/bearerbox.[ch]: In signal handler, call bb_shutdown, instead
	of set_shutdown_status. This point may need to be implemented
	better later. Call httpadmin_stop in main.
	
	* gwlib/http.c: Have http_close_all_server kill the server threads
	as well, including killing the FDSet poller thread.

2000-11-06  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_emi.c (emi_open_ip): check if allow_ip set. Thanks for
	Juho-Pekka Virolainen for noticing this.

2000-11-06  Yann Muller <ymuller@3glab.com>

	* gw/smsc_at.c: fixed Premicell bug. Added sleep(1) for nokiaphone.

2000-11-05  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Make the interface of client_read_body() match the
	rest of the design.  This makes the http module work with HTTP/1.1
	servers again.

2000-11-03  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: A conformance patch: card and template elements 
	cannot have 2 or more do elements of the same name, PI are ignored,
	unknown tags and CDATA are now processed. Also some code was cleaned 
	into the new coding standard.

2000-11-03  Richard Braakman  <dark@wapit.com>

        * gw/wsp_headers.c: If an Expires header has an invalid date, then
        encode it as a date far in the past.  We can't just skip the header
        because RFC2068 says such a response should be treated as already
        expired, and we have to tell the client to do that.

        * gw/wsp_headers.c: Make sure that a Multi-octet-integer is always
        at least one octet long, even if its value is 0.
      
2000-11-03  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: changed 'sent..' log event to clearly state that it
	only means that the message was sent to bearerbox, not further

2000-11-03  Lars Wirzenius  <liw@iki.fi>

	* checks/check_list.c: Fixed synchronization problems that
	occasionally caused it to randomly fail. The list code itself
	was OK, but the checking code did not synchronize thread startups
	correctly.

2000-11-03  Lars Wirzenius  <liw@iki.fi>

	* test/test_http.c: Change the error message when there are
	no command line arguments from "Floating point exception (core
	dumped)" to the standard help text.

2000-11-03  Lars Wirzenius  <liw@iki.fi>

	* test/test_http_server.c: Converted to use the new HTTP server
	interface. This displayed bugs in shutdown situations for the
	new HTTP code.
	
	* gwlib/http.c: Fixed bugs in shutting down.

2000-11-03  Lars Wirzenius  <liw@iki.fi>

	* test/test_http_server.c: Reformatted to coding style.

2000-11-03  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: First cut at changing the HTTP server side
	interface to be more sensible about the number of threads. Doesn't
	work quite well yet (i.e., if I change test/test_http_server.c,
	make check fails), but I want it committed for now. Shouldn't
	harm anyone, as long as they don't use it.

2000-11-02  Paul Keogh  <paul.keogh@anam.com>

	* gw/cookies.c: Fix for some cookie management bugs.

2000-11-01  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Fix memory leak if poll() was
	interrupted.

2000-11-01  Richard Braakman  <dark@wapit.com>

	* gw/smsc_emi.c: Cleaned up a bit, made thread-safe.

	* gw/smsc_p.h, gw/smsc.c: Declare and initialize new EMI fields.

2000-11-01  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Make octstr_read_file use a smaller buffer,
	to reduce stack usage.

2000-11-01  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Implement magic URL kannel:alive, based on
	patch from Neil Hunter.

2000-11-01  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwlib.h, gwlib/list.c: Move around include for gwmem.h
	so it comes after thread.h, because thread.h includes pthread.h,
	and Cygwin's pthread.h includes malloc.h, which gets annoyed by
	the macros gwmem.h defines.

2000-11-01  Kalle Marjola  <rpr@wapit.com>

	* gwlib/conffile.c (config_sanity_check): fixed that 'otaconfig'
	is accepted, too, thanks to Philip Psiloinis for pointing this out

	* gw/bb_smsc.c: make sure that lists are emptied

2000-11-01  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: handles message lengths of 8*n+1 properly.
	Added comments to encode7bituncompressed().

2000-10-31  Richard Braakman  <dark@wapit.com>

	* gwlib/fdset.c: Handle EINTR.

2000-10-31  Richard Braakman  <dark@wapit.com>

	* Moved wap_addr functions from wapbox.c to new file wap_addr.c,
	and created wap_addr.h for it.

2000-10-31  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.[ch]: Make it possible to change the callback info
	efficiently, by calling conn_register again with the same fdset.

	* gwlib/fdset.c: Fiddled with poller loop to deal with callback
	functions doing strange things to the poll array while it's being
	scanned.

2000-10-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Now uses FDSet, instead of explicit waits,
	and now again does concurrent transactions as a side effect,
	but only does one transaction per HTTP connection. The code is
	in need of cleaning up quite a bit, but should work, except for
	not destroying the FDSet at shutdown.

2000-10-31  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Implement conn_unregister() too.

2000-10-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Converted HTTP transaction handling into a state
	machine, so that FDSets can be easily be used with HTTP.

2000-10-30  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwstr.[ch]: Removed unused functions strndup and
	str_reverse_case_seek. The rest of this module will go away once
	smsbox is re-written to use Octstr.

2000-10-30  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Support for X-WAP.TOD header, needed for WAP 1.1
	conformance.  (requirement UACache-0010)

	* gw/wsp_headers.c: Special encoding for X-WAP.TOD, which is
	an application-specific header with a field encoding that does
	not match the application-specific-value rule.  (This is a
	contradiction in the spec).

	* gwlib/http.[ch]: Make http_header_remove_all report how many
	headers it removed.

2000-10-30 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_resp_state-decl.h: Added timeout to state RESULT_WAIT: Now
	we wait for result only for AEC_MAX timer periods.

	* gw/wtp.c, gw/wtp_resp.c, gw/wtp_resp_state-decl.h: Added class 
	transaction handling. Not much tested, yet.

2000-10-27  Lars Wirzenius  <liw@iki.fi>

	* README.*: Moved information into README. There's no point in
	having lots of small files.

2000-10-27  Lars Wirzenius  <liw@iki.fi>

	* gw/bb_http.c: Add Content-Type header to bearerbox admin
	interface replies.

2000-10-27  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: fixed bug created by applying a few day old fix...

2000-10-26  Richard Braakman  <dark@wapit.com>

	* test/test_headers: Fix memory leaks introduced by
	http_header_combine test.

2000-10-26  Richard Braakman  <dark@wapit.com>

	* gwlib/fdset.[ch]: New module for polling large sets of file
	descriptors efficiently.  Not used yet, intended for HTTP module.

	* gwlib/gwlib.h: include fdset.h

	* gwlib/conn.[ch]: Added conn_register and conn_unregister,
	to use Connections with FDSets.

	* gwlib/list.[ch]: Wrap list_create just like octstr_create,
	so that the memory leak listing shows who called list_create.
	
2000-10-26  Lars Wirzenius  <liw@iki.fi>

	* gwlib/dict.c: Initialize hash table elements to be Lists, instead
	of garbage.
	
    	* test/test_dict.c: Wrote.

	* gwlib/http.c: Cleanups: Wait for read_response_thread to
	terminate at http_shutdown and destroy the started_requests_queue.
	Also re-implemented the HTTPSocket pool with dict, so that it
	no longer does linear searches; the code is a bit simpler now
	as well.
	
	* test/test_http.c: Use http_destroy_headers instead of
	list_destroy. This also fixes a memory leak of one header.

2000-10-26  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: Give unsigned int as the type to expect to
	va_arg when converting %u and %hu and similar cases.

2000-10-26  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Use http_header_combine instead of
	http_append_headers to combine session and request headers,
	to get the semantics right according to WAE section 8.

	* gwlib/http.c: Implemented http_header_combine.

	* test/test_headers.c: Added a test of http_header_combine.

2000-10-26  Lars Wirzenius  <liw@iki.fi>

    	* gwlib/dict.[ch]: Wrote.

	* gwlib/gwlib.h: Include dict.h.

2000-10-26  Kalle Marjola  <rpr@wapit.com>

	* gwlib/conffile.c (config_sanity_check): make sure that there are
	smsc group(s) and sms-service group(s) if there is smsbox set.

2000-10-26  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Converted to use conn.c. This is a minimal change,
	and does not yet do multiple transactions in parallel.

2000-10-26  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c: Get client IP using http_socket_ip, instead of
	http_socket_fd. http_socket_fd will be reserved for getting the
	file descriptor for the HTTP server port only, and may ultimately
	go away completely.
	
	* gw/smsbox_req.c: Bugfix. We gave the allow list as the deny
	list when checking for sendsms client authorization.

2000-10-26  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added (m) 'mandatory' and (c)
	'conditionally mandatory) markings to all configuration file
	variables. 
	
2000-10-26  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: fixed that messages with no translation are
	handled correctly

2000-10-25  Lars Wirzenius  <liw@iki.fi>

	* gw/wml_definitions.h: Commented out OPAQUE, since Cygwin
	(via some Windows header) defines it, and it isn't being used,
	anyway.  This is an intermin solution, a better one would be to
	add something like a WML_ or WBXML_ prefix to all those tokens.

	* gw/wtp_resp_state-decl.h: Renamed WAIT_TIMEOUT to
	WAIT_TIMEOUT_STATE to get rid of name conflicts with Cygwin
	headers.
	
	* gwlib/socket.c, test/fakewap.c: Removed an include for
	netinet/tcp.h, which seems to a) not be needed under Linux and b)
	be unknown to Richard Stevens, so presumably it is non-portable.
	If it proves to be necessary, we'll add it to configure and
	include it conditionally.
	
	* Thanks to Stipe Tolj for pointing these out.

2000-10-25  Lars Wirzenius  <liw@iki.fi>

	* configure{,.in}: Check for pthread_exit instead of
	pthread_create, when looking for a Posix thread implementation.
	HP-UX has trouble finding pthread_create, because it is an
	inline function.

2000-10-25  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsstree.[ch], wmlscript/wslexer.c: Fix parsing of
	integer literal -2147483648.  This was done by storing numbers
	as unsigned longs and introducing an explicit sign field.

2000-10-24  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Add support for formats u, o, x, and X.
	(test_cimd2 needs X.)

	* test/test_cimd2.c: Fix errors in octstr_format calls.

2000-10-24  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsstdlib.c: Corrected "Phonebook" to "PhoneBook".

2000-10-24  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: filled SMPP smsc group fields,
	thanks for Mikael Gueck for patch.

2000-10-24  Lars Wirzenius  <liw@iki.fi>

	* Finished first phase of reducing the number of threads
	doing HTTP requests. This phase implements a new interface
	(http_start_request and http_receive_response, with the http_get
	and http_post functions being wrappers around these). The
	goal is to have a static number of threads, internal to the
	HTTP implementation, doing all HTTP requests at once, instead
	of having a new thread for each HTTP request. This phase makes
	that happen, but is implemented so that HTTP requests are done
	serially, not in parallel. The next phase is to re-write the I/O
	parts of the HTTP implementation so that HTTP requests are done
	in parallel once again, using the conn.c module.
	
	* gwlib/http.[ch]: Many internal changes.
	
	* test/test_http.c: Use the new interface, instead of the
	http_get wrapper.

2000-10-24  Kalle Marjola  <rpr@wapit.com>

	* gw/urltrans.c: oops, forgot to switch reservations

2000-10-24  Kalle Marjola  <rpr@wapit.com>

	* gw/urltrans.c: added missing (disappeared?) room reservation for
	%q and %Q in get_pattern, and added note why sender and receiver
	is switched. Thanks for Juho-Pekka Virolainen for noticing this.

2000-10-24  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: Added support for Falcom A2D modem, thanks to
	Mike Gaertner. Also changed the default protocol identifier
	and coding scheme. Preliminary support for Nokia 7110 as SMSC.
	
2000-10-23  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwmem.h, gwlib/protected.h: Wrote macros to make it
	harder to call the wrapped functions directly.

	* gwlib/gwmem-check.c, gwlib/gwmem-native.c, gwlib/protected.c:
	Call the wrapped functions anyway. :)

	* gw/bb_smsc.c, test/fakesmsc.c, test/fakewap.c,
	test/test_cimd2.c, test/wml_tester.c: Use wrappers instead of
	direct calls to the wrapped functions.
	
	* wmlscript/wmlsc.c: Undefine the accident protectors and call
	the wrapped functions directly. This needs to be fixed later.

2000-10-23  Lars Wirzenius  <liw@iki.fi>

	* gwlib/utils.[ch]: Wrote gw_isdigit and gw_isxdigit as wrappers
	around isdigit and isxdigit, to compensate for broken platforms
	where they are not available as functions.

	* gw/smsc_cimd2.c, gw/wsp_headers.c, gwlib/octstr.[ch]: Use
	gw_isdigit and gw_isxdigit instead of isdigit and isxdigit
	together with octstr_check_range.

2000-10-23  Lars Wirzenius  <liw@iki.fi>

	* configure{.in,}: Don't compile start-stop-daemon, unless the
	--enable-start-stop-daemon option is used.
	
	* gw/smsc_at.c, gw/smsc_emi.c, gw/smsc_sema.c: Define CRTSCTS as
	zero if it is not defined.
	
	* gwlib/socket.c: Allocate the 64 kilobyte buffer dynamically,
	instead of from the stack.
	
	* These changes were prompted by a report of HP/UX compilation
	changes by Timo Siirainen.

2000-10-23  Lars Wirzenius  <liw@iki.fi>

	* ChangeLog: Formatted long lines.

2000-10-23  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added missing EMI variable
	connect-allow-ip

2000-10-23 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_resp_state-decl.h: Spec does not say what to do when state is
	RESULT_RESP_WAIT and event receiving an invoke. Yet 0.12 logs already
	have these events. Handled event same way when state is RESULT_WAIT.

2000-10-23  Richard Braakman  <dark@wapit.com>

	* Made gwthread_poll() actually return the results.

2000-10-23  Richard Braakman  <dark@wapit.com>

	* Bugfix: HTTP POST requests have a Content-Length again.
	Thanks to Stipe Tolj for spotting the problem.

2000-10-20  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: wrote appendix B, using fake SMS
	center.

2000-10-19  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added notes on 'required
	components' for SMS gateways

2000-10-19  Kalle Marjola  <rpr@wapit.com>

	* gw/wapbox.c: send that wakeup when bearerbox exits, too.
	
2000-10-19  Kalle Marjola  <rpr@wapit.com>

	* gw/wapbox.c: modified send_heartbeat to use gwthread_sleep
	instead of ordinary sleep, so we can use gwthread_wakeup to wake
	it up when wapbox is killed - now wapbox dies when it catches
	kill, not after 0-30 seconds. 

2000-10-18  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Now checks also attributes for texts that could 
	be placed in the string table. Also removes non alphanumerical 
	characters from the start and the end of the strings.

	* gwlib/octstr.[ch]: octstr_strip_nonalphanums added.

2000-10-18  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.[ch]: Added conn_wait_multi(). Untested.
	Fine-tuned the locking in conn_wait.

	* gwlib/gwthread-pthread.c, gwlib/gwthread.h:
	Added gwthread_poll().  Untested.

2000-10-18  Richard Braakman  <dark@wapit.com>

	* gwlib/charset.c, gwlib/conffile.c, gwlib/counter.c,
	gwlib/counter.c, gwlib/gwmem-check.c, gwlib/gwmem-native.c,
	gwlib/gwstr.c, gwlib/parse.c, gwlib/protected.c, gwlib/socket.c,
	gwlib/thread.c: Reformatted.

2000-10-18  Richard Braakman  <dark@wapit.com>

	* configure.in, config.h.in: New test for HAVE_SYS_POLL_H.

	* gwlib/gwpoll.h, gwlib/gwpoll.c: Files that either include 
	sys/poll.h or define poll() themselves.

	* gwlib/gwlib.h: Include gwpoll.h.

	* gwlib/conn.c, gwlib/gwthread-pthread.h: Do not include
	sys/poll.h directly, let gwlib/gwlib.h do it.

2000-10-18  Richard Braakman  <dark@wapit.com>

	* gw/bb_udp.c, gwlib/http.c: Corrected some stray free() calls
	to gw_free().

2000-10-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: Use new report_version in HTTP admin status, too.

2000-10-18  Lars Wirzenius  <liw@iki.fi>

	* gw/shared.[ch]: Added function version_report_string so that the
	report_version() info can be reported via HTTP as well.

2000-10-18  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_fake.c: fixed that message sending is not tried with
	closed socket, but error is returned instead

	* gw/bb_*.c: added missing queueing information to status: now all
	lists are added together before reporting queue lengths

2000-10-18 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_init_state-decl.h, wtp_resp_state-decl.h: Add a comment tell-
	ing which CR is implemented. Now all deviations from June 2000 con-
	formance release are explained.

2000-10-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: updated 'status' to tell number of messages
	still queued in main queues (internal specific queues are not yet
	counted)

	* gw/bb_*.c: Did initial code changes for 'xmlstatus' query,
	although it does not return anything yet.

2000-10-18  Lars Wirzenius  <liw@iki.fi>

	* gw/urltrans.c: Fix off-by-one error in is_safe array size
	in encode_for_url().

2000-10-18  Lars Wirzenius  <liw@iki.fi>

	* gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c: Added missing #include
	"shared.h".

2000-10-17  Lars Wirzenius  <liw@iki.fi>

    	* gwlib/gwlib.c: Reformatted to new coding style.
	
	* gw/shared.[ch]: New files to hold the function report_versions
	(and other functions in the future). This function reports the
	version of Kannel that starts up, and the host it runs on, and
	the version of libxml.

	* gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c: Call report_versions.

2000-10-17  Tuomas Luttinen  <tuo@wapit.com>

	* gw/urltrans.c: Changed the logic in the encode_for_url so that the
	safe ones are listed and the save characters being alphanums and marks
	"-", "_", ".", "!", "~", "*", "'", "(", ")". Also UTF-8 with full 
	spectrum of Unicode should work now.

2000-10-17  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: Added requested event of sent message

2000-10-16  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.c: Reformatted. Also made kannel_syslog's mapping of
	Kannel's log level to syslog log levels actually work.

2000-10-16  Lars Wirzenius  <liw@iki.fi>

	* checks/check_counter.c, checks/check_date.c,
	checks/check_list.c, checks/check_octstr.c, gwlib/log.c,
	gwlib/log.h, gwlib/utils.c: Renamed the log level enums to have
	a GW_ prefix, to avoid problems with broken compilers that define
	ERROR themselves or in some header.

2000-10-16  Lars Wirzenius  <liw@iki.fi>

	* config.h.in, configure{,.in}: Check for the magic compiler
	(not preprocessor) symbols __func__ (standard in the 1999 version
	of the standard) and __FUNCTION__ (popular extension to the 1989
	version of the standard). Define __func__ as __FUNCTION__ or
	"unknown" depending on what is available.
	
	* gwlib/gwassert.h, gwlib/gwmem.h, gwlib/octstr.c: Use __func__
	instead of __FUNCTION__.

2000-10-16  Lars Wirzenius  <liw@iki.fi>

	* config.h.in, configure{,.in}, gwlib/gw-getopt.h: Check for a
	prototype for getopt in stdio.h and unistd.h as well, and only
	use our own one if we fail to find anything. This should make
	Kannel compile on Solaris again.

2000-10-16 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_resp_state-decl.h: Removed CR inside a string.

2000-10-13  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: parse_entities added as a fast patch to fullfill 
	WAP 1.1 conformance with WML entities.

2000-10-13  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gw-getopt.h: Wrote. This header makes sure getopt()
	and the corresponding variables are declared properly so that
	any program that includes gwlib/gwlib.h can use getopt without
	worrying. This should make it unnecessary to clutter all programs
	with #if HAVE_GETOPT_H stuff.
	
	* gwlib/gwlib.h: Include gw-getopt.h.
	
	* wmlscript/wmlsc.c, wmlscript/wmlsdasm.c: Make sure gwlib.h is
	included.

2000-10-13  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Disable the start_request_thread as well. It
	caused "make check" to fail (I ran it in the wrong directory
	*sigh*).
	
	* test/test_http.c: Use http_get until http_start_get and
	http_receive_result work properly.

2000-10-13  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Disable the kludge_do_one_request thread, since
	it isn't killed (or joined) properly.

2000-10-12  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added new example: multi-operator
	SMS Kannel.

2000-10-12  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.[ch]: Added a prototype implementation for the new
	start/receive-result interface to HTTP requests (see functions
	http_start_get and http_receive_result). Don't use this yet,
	it needs to be implemented properly.
	
	* test/test_http.c: Modified to use the new interface.

2000-10-12  Richard Braakman  <dark@wapit.com>

	* gwlib/gwassert.h: Added parentheses around the panic(...), 0
        expressions in the assert macros, to get the originally intended
	meaning.

2000-10-12  Richard Braakman  <dark@wapit.com>

	* wmlscript/wserror.c: Corrected a stray va_arg(ap, char).
	(va_arg should always get the type as it is after promotion, and
	char is promoted to int.)

2000-10-12  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: When we are the server side, and the client uses
	HTTP 1.0, we will close the connection. If the client uses HTTP
	1.1, we keep it open.

	* gw/smsbox.c: Remove the workaround for the missing feature
	now implemented.

2000-10-12  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c, gw/bb_boxc.c, gw/bb_udp.c, gw/bb_smsc.c: Startup
	improved; not based on 'hopefully they will get up by that time'
	system but intra-thread wakeup call. Now the bearerbox starts up
	very quickly.

2000-10-11  Tuomas Luttinen  <tuo@wapit.com>

	* gw/urltrans.c: Fixed the bug 111 by adding the unwise characters
	and special characters like delete (0x7f) and other between 0x00
	and 0x1f into the unsafe ones.

	* gw/wml_compiler.c (string_table_apply): Fixed a bug where an extra 
	string end was added in a case that two (or more) substrings are 
	replaced with the 2nd (3rd...) being the first to be replaced.

2000-10-11  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: Formatted to follow coding style.

2000-10-11  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: Simplified the main loop. Also removed the
	initialization of ret (which was done at the definition
	of the variable, tens of lines above, which is bad style).
	Removed comments at end of braces, which is also bad style
	(if it is not obvious what the braces end, the loop or whatever
	construct is too long or indentation is broken).

2000-10-11 Aarno Syvnen <syvanen@wapit.cm>

	* gw/wapbox.c: Separate conditions event == NULL and event_is_for_
	responder in code selecting to which wtp process an incoming 
	event belongs.

2000-10-11  Peter Gronholm  <peter@wapit.com>

	* gw/control.html: Updated the example file to reflect the new
	http interface administration commands.

2000-10-11  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c: fixed that query parsing value '0' is not
	accepted, only '1'

	* doc/userguide/userguide.xml: added notes about sms-service
	'default'

2000-10-10  Richard Braakman  <dark@wapit.com>

	* wmlscript/{ws.c, wsgram.y, wsstree.[ch]}: Remove WsPair and
        replace it with more specific types WsVarDec and WsFormalParm.
        This gets rid of an assumption that a long will fit in a (void *)
	field, which tends not to be true on 64-bit platforms.

2000-10-10  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsencode.c: Fix va_arg type bug for all platforms,
	not just sparc.  Removed SPARC_ABI conditionals.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* debian/postinst: Don't use /var/log/kannel as home directory
	for user kannel.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* debian/postinst: Now updates rc.d links and starts Kannel.
	
	* debian/postrm: Wrote. Removes rc.d links.

2000-10-10  Richard Braakman  <dark@wapit.com>

	* gw/wsp-method-state.h: Fixed state transition for TR-Abort.Ind,
	in state REPLYING.  Thanks to Aymerick Jhann for noticing.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* gw/wtp_init_state-decl.h: Fixed misspelled INITIATOR_RESULT_WAIT.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* debian/rules: "clean" doesn't run "make clean" unless Makefile
	exists.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* debian/init: start kannel boxes as user "kannel" instead of
	root. run_kannel_box needs to run as root to create the pid file.
	
	* debian/postinst: Wrote. Creates user kannel and make
	/var/log/kannel be owned by kannel.
	
	* utils/run_kannel_box.c: Added --no-extra-args option, so that
	we can run other programs than Kannel boxes (su, in this case,
	to switch users).

2000-10-10 Aarno Syvanen <syvanen@wapit.com>

	* gw/wtp_init_state-decl.h: Prevent RCR growing greater than its 
	maximum allowed value.

2000-10-10  Kalle Marjola  <rpr@wapit.com>

	* gwlib/octstr.c: fixed bug in octstr_str_compare
	
2000-10-10  Kalle Marjola  <rpr@wapit.com>

	* gwlib/socket.c: moved 'errno' from second call to first one in
	connect_to_server to avoid tempering with it before we report the
	error.

2000-10-10  Lars Wirzenius  <liw@iki.fi>

	* gwlib/gwthread.h: Removed unnecessary and bad ## operator
	from gwthread_create wrapper macro. It pasted together two
	string literals, creating an invalid pre-processing token, thus
	causing small red daemons to fly out of my nose, flapping their
	wings furiously, and thus causing a small wind to blow in Rio
	de Janeiro, turning the page of the book being read by a local
	critic and causing him to complain in his article about the book
	that it was repetitive. Be careful with those undefined behaviors,
	folks, you never know what will happen.

	* gw/wap-appl.c, gw/wsp.h: Added function wsp_http_map_destroy,
	from Paul Keogh.
	
	* gw/wapbox.c: Call wsp_http_map_destroy at shutdown.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsopt.c: Add an optimization to remove useless tobool
	conversions.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsstree.c: Always convert the result of an && or ||
	operator to boolean, because the spec requires it for typeof().

2000-10-09 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_init.c, wtp_resp.c: When the state machines cannot handle
	an event, we ignore it and log an error message. Timer will abort
	this tranaction.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Converted to new formatting style.

2000-10-09 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_state-decl.h: Incorporated CR-Nokia-WTP-20-March-2000/2.
	In plain words, when load is heavy, Ack(TidOK) may be delayed so 
	much that initiator will retransmit it and the responder will re-
	ceive the original when its state is RESULT_WAIT. This Ack must 
	be ignored. This corrects bug reported by David.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsgram.y: Compile unary + such that it performs the
	required type conversions.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsasm.c: Fixed error in jump distance calculation when
	jumping backward over a forward jump.  This messed up "continue"
	statements among other things.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* Renamed Msg type smart_sms to sms.

2000-10-09  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Rearranged immutable octstrs so that seems_valid()
	correctly flags freed octstrs again.  Added !immutable assertions
	to octstr_grow and octstr_set_char.
	Reformatted octstr_append_from_hex.

	* test/test_http.c: Fixed memory leak in case of server not
	responding.

2000-10-09 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp_init.c: Remove an unused variable.

2000-10-06  Richard Braakman  <dark@wapit.com>

	* gwlib/utils.c: Changed kannel_cfmakeraw() comments to match
	reality.

2000-10-06 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp*: Reformat (except wtp_pdu.*).

	* gw/wtp_resp_state-decl.h: More comments.

	* gw/wtp_init.c, gw/wtp_init_state-decl.h: wtp had a tid of its own, 
	so no mutexes are needed here.

2000-10-06  Richard Braakman  <dark@wapit.com>

	* gw/smsc.c: Reactivate the code that sets the timestamp on an
	sms message, if the SMSC didn't set it.  Thanks to Jarkko Kovala
	for noticing.

2000-10-06  Richard Braakman  <dark@wapit.com>

	* Making release 0.11.3

2000-10-06  Richard Braakman  <dark@wapit.com>

	* doc/userguide/userguide.xml: Terminate OTA CGI table so that
	it compiles.

	* gw/smsbox.c, gw_smsbox_req.[ch]: Give smsbox_req_sendota() a
	"client_ip" parameter so that it can call authorise_user correctly.

	* gw/smsbox_req.c: smsbox_req_sendota(): Remove unused variables.
	Use octstr_create("") instead of the no longer existing
	octstr_create_empty().

	* gw/bb_boxc.c: Fix memory leak in route_msg() when routing
	WAP packet but no wapboxes are connected.

	* gwlib/http.c: Fixed silly bug in http_remove_hop_headers that
	would make the wapbox panic if a server used the Connection: header.
	Fixed memory leak in same function.

2000-10-05  Yann Muller  <ymuller@3glab.com>

	* gw/smsbox_req.c/h: added smsbox_req_sendota() to send OTA config
	messages.

	* smsbox.c: calls smsbox_req_sendota() if cgi address matches
	'/cgi-bin/sendota'.
	
	* doc/userguide/userguide.xml: added info about config and usage
	of OTA.

	* gwlib/octstr.c/h: added octstr_append_from_hex().

2000-10-05  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: language corrected.

2000-10-05  Richard Braakman  <dark@wapit.com>

	* Added seems_valid assertion to end of octstr_format().

	* gw/wap-appl.c: Fixed silly mistake that caused random panics.

2000-10-05  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Bugfix, don't panic if resp_headers is NULL
	(i.e. the HTTP request failed).

	* gw/fakewap.c: Correctly encode requests with urls longer than
	128 bytes.

2000-10-05  Kalle Marjola  <rpr@wapit.com>

	* test/fakesmsc.c: use info level to inform that all messages have
	been sent.

2000-10-05  Richard Braakman  <dark@wapit.com>

	* wmlscript/*: Reformatted.

2000-10-05  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: made sure that when max_msgs == 0 then no
	messages are sent.

2000-10-05  Richard Braakman  <dark@wapit.com>

	* gw/wsp_headers.c: Bugfix in pack_integer_string, use ULONG_MAX
	instead of UINT_MAX and include the right header file.

2000-10-04  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Pass the status code we really got from
	the server to the client, instead of only accepting code
	200 (HTTP_OK).	Use 502 (Bad Gateway) if the actual lookup
	failed.  Use http_get and http_post instead of http_get_real
	and http_post_real.  Together with the header encoding patch
	earlier today, these changes allow HTTP redirection to work.

	* gw/wap-appl.c, gwlib/http.h: Use symbolic names for HTTP status
	codes.

	* gw/wsp_headers.c: Correct small bug that made wsp_headers_pack
	encode the content-type twice if separate_content_type was on.

2000-10-04  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem.h, gwlib/gwmem-check.c: Let gw_claim_area return
	the pointer it gets, and let it accept NULL pointers.  This
	makes it easier to use in wrapper macros.

	* gwlib/octstr.[ch]: Wrap octstr_create, octstr_create_from_data,
	octstr_copy, and octstr_duplicate so that they "claim" the Octstr
	they return for their caller.  This information will show up in
	the gw_check_leaks() output, making memory leaks much easier to
	trace.

	* gw/wsp_headers.c, gwlib/http.c: Fix memory leaks found this way.

2000-10-04  Richard Braakman  <dark@wapit.com>

	* Encode response headers and send them to the client:

	* gw/wsp_headers.[ch]: Added wsp_headers_pack.  Fixed some bugs in
	wsp_headers_unpack.  Replaced a few magic numbers with names.
	Reformatted.

	* checks/check_headers.sh, test/test_headers.c, test/header_test:
	New files.  Exercise header code by packing and unpacking a set
	of headers that try to cover all possibilities.

	* test/fakewap.c: Be less strict in checking Reply packet, because
	it can no longer assume the response headers are empty.  (Implementing
	full parsing wouldn't be worth the effort.)

	* gw/wap-appl.c: Added http_remove_hop_headers and used it to
	delete hop-by-hop headers when forwarding HTTP headers to
	client or server.  (The hop-by-hop headers are for one connection
	only, for example Transfer-Encoding.)

	* gw/wap-appl.c: When applying a content converter to the 
	response body, update the response headers to reflect this.

	* gw/wap-appl.c: Fill in the response_headers field of
	S_MethodResult_Req and S_Unit_MethodResult_Req events, now
	that they're used.

	* gw/wap-events-def: In the S_MethodResult_Req, response_headers
	is a HTTPHEADER, not an OCTSTR.
	Removed response_type field from the MethodResult events, it's
	not used and the information is present in response_headers.

	* gw/wsp-method-state.h, gw/wsp-session-state.h, gw/wsp-unit.c:
	Renamed unpack_headers to wsp_headers_unpack to match function naming
	convention.  Use wsp_headers_pack instead of wsp_encode_http_headers.

	* gw/wsp-strings.def: Introduce some new tables used for
	header encoding.

	* gw/wsp.c, gw/wsp.h: Deleted wsp_encode_http_headers, it's
	obsoleted by wsp_headers_pack.

	* gw/wsp.c: Changed wsp_convert_http_status_to_wsp_status to
	handle all defined status values.

	* gwlib/http.[ch]: Added several utility functions used by
	header packing.  Minor formatting corrections.

	* gwlib/octstr.c: Added assertions to octstr_append* functions
	to prevent segfault.

2000-10-04  Kalle Marjola  <rpr@wapit.com>

	* gwlib/conffile.c|h: added new function 'config_sanity_check' to
	check configuration files for basic errors (like empty lines in
	the middle of groups).

	* gw/*box.c: modified to use that new function
	
2000-10-04  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_emi.c: added configuration
	variable 'connect-allow-ip' currently used by emi_ip in certain
	situations - banned connect from other IPs, so you have to set
	this variable if you still want to use emi_ip with receive port.

	* gwlib/socket.c: removed loist of 'errno' from error, to minimize
	double system error outputs.

2000-10-03  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: Fixed that we tried to close non-opened
	http-server-socket, which caused PANIC.

2000-10-03  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smsc.c: Fixed a nice bug that appeared only with severe
	load. 
	
2000-10-03  Kalle Marjola  <rpr@wapit.com>

	* gw/bb-smsc.c: added SMS multi-send. This is achieved via
	multiple phone numbers at 'to' field in send-SMS request, each
	separated with space (currently, possibly changed later). This is
	not a complete multi-send at SMSC protocol level - the message is
	splitted into several ones in bearerbox before sending it to
	SMSC. Note that 'preferred-prefix' and 'denied-prefix' only care
	about the FIRST phone number in such a message (anyway, use smsc
	ID instead)
	
	* doc/userguide/userguide.xml: added notes on multi-send

2000-10-03  Lars Wirzenius  <liw@iki.fi>

	* debian/changelog: Added new entry for newer upstream version
	number.
	
	* debian/copyright: fixed spelling of Wapit (used to be WapIT).
	
	* debian/conffiles: New file, lists the files in the Debian
	package that are marked as configuration files.
	
	* debian/init: No longer automatically copied from
	utils/kannel-init.d, since we can't guarantee that would be the
	right thing to do for a Debian package. Updated to work on Debian
	(box path was wrong).
	
	* debian/kannel.conf: Re-wrote to work with newer config file
	syntax.
	
	* debian/kannel.wapconf: Removed, no longer needed.
	
	* debian/rules: fixed so it works with current Kannel. Also added
	manual page installation, etc.
	
	* gw/kannel.8, utils/run_kannel_box.8, utils/seewbmp.1,
	wmlscript/wmlsc.1, wmlscript/wmlsdasm.1: Wrote skeletal manual
	pages for various parts of Kannel that are installed by the
	Debian package.

2000-10-03  Richard Braakman  <dark@wapit.com>

	* gw/wsp_headers.c: Bugfix in multi_octet_integer for integers
	exactly as large as a long.

	* gwlib/date.c: Bugfixes for parsing non-recommended (but still
	standard) date formats.

	* gwlib/parse.c: Bugfixes in parse_peek_char and parse_get_uintvar.

	* utils/run-checks: Don't report success if a test failed silently.
	Add the name of the failing check to check.log.

2000-10-03  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_definitions.h: some data types unified.

	* gw/wml_compiler.c: Code updated to the new coding style.
	Old character set conversion code mostly removed, some skeletons
	still in the closet. Hash table code added, wml_init and
	wml_shutdown written, but not yet used or tested.

	* gwlib/octstr.[ch]: octstr_hash_key-function added.

2000-10-03  Kalle Marjola  <rpr@wapit.com>

	* test/fakesmsc.c: Updated to use general Kannel command line
	interface - now use options -p, -i and -m to set various fakesmsc
	settings. Also changed messages to 'debug' level so that there is
	some use for -v argument.

2000-10-03  Richard Braakman  <dark@wapit.com>

	* gw/wsp-strings.c: Correct silly mistake in string_to_number.

2000-10-03  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c, gw/smsbox_req.c|h: added new smsbox configuration
	variable 'sendsms-chars' which is used to prevent garbage
	requests. NOTE: if you are running SMS services, you should check
	this out! (see user guide)

	* gw/smsbox_req.c: allowed 'user' and 'password' in place of
	'username' and 'password' in sendsms request.

	* doc/userguide/userguide.xml: userguide upgraded to reflect
	these.
	
2000-10-02	Paul Keogh <paul.keogh@anam.com>

	* gw/cookies.c: Updated comment and fixed bug in get_cookies()

2000-10-02  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: fixed possible crash (panic) with malformed
	http request

2000-10-02  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: added 'pin' to GSM Phone smsc, did
	some output formatting.

2000-10-02  Richard Braakman  <dark@wapit.com>

	* doc/userguide/userguide.xml: Explained CIMD2 keepalive option.

2000-10-02  Kalle Marjola  <rpr@wapit.com>

	* README: updated. Removed old references to test_wml, ooutdated
	libxml version etc.

	* doc/userguide/userguide.xml: some fix

2000-09-30  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: some update
	 
2000-09-30  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: little update for SMS center
	groups. Still missing values and meanings for some attributes.

2000-09-29  Richard Braakman  <dark@wapit.com>

	* gw/wtp_init.c, gw/wtp_resp.c: Fixed some compiler warnings.

2000-09-29  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: It has been done. Now (practically)
	all data is rendered into XML and there is list of examples and
	other things. However, we are missing settings for some SMS
	centers and their exact names and things like that, help needed.

2000-09-29  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: rest of the newconf.txt moved into
	this, and some of it edited to XML

	* doc/userguide/newconf.txt: removed

2000-09-29  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: moved rest of the newconf.txt main
	things into it, but not yet formatted.

2000-09-29  Richard Braakman  <dark@wapit.com>

	* doc/*: Ran spelling checker over most documents.

2000-09-29  Kalle Marjola  <rpr@wapit.com>

        * doc/userguide/userguide.xml: updating, moved all data from
	newbb.txt into this and did some reorganisating. Started to insert
	entire newconf.txt into this.
	
	* doc/userguide/newconf.txt: some data already moved to User Guide
	
	* doc/userguide/newbb.txt: removed

	* gw/*kannel.conf, README: updated file references

2000-09-28  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: fixed mismatch and put some extra
	words about 'my_conf.conf'. More update coming tomorrow...

2000-09-28 Aarno Syvnen <syvanen@wapit.com>

	* gw/wsp-session.c: Calling wtp_resp_dispatch event and wtp_resp_get_
	address_tuple

	* gw/wsp-session|method-state.h : Calling wtp_resp_dispatch_event

	* gw/wap-events-def.h: Added event TR-Invoke.cnf

	* gw/wtp.c|h: Added new external function wtp_event_id_for_responder.
	This checks first bit of tid. Added helper functions unpack_invoke,
	unpack_ack and unpack_abort.

	* gw/wtp_resp.c|h, gw/wtp.c|h: Transferring responder machine code
	to a separate module (we have an iniator, too).

	* gw/wtp_resp.c: Most error checking transferred to the function 
	rep_machine_find_or_create. Refer to WTP, 10.2, table 33 when comment-
	ing.

	* gw/wtp_init.c|h, gw/init_state-decl.h, gw/init_machine-decl.h:
	Wrote code for wtp iniator (for classes 0 and 1).

	* gw/wapbox.c: Sending incoming message to the iniator or the 
	responder, depending on the first bit of the tid. Shutting down
	and iniating the iniator and responder, too.

	* gw/wtp_send.c|h: New functions add_responder_address and add_
	iniator_address (to avoid void pointer). In functions, use field of
	a machine type instead of the machine itself, if possible. Added 
	function wtp_send_invoke to the interface, removed do_not_start

	* gw/wtp_resp_state-decl.h: Renamed wtp_state-decl.h. Reformatted 
	comments. Use variable name resp_machine instead of machine every-
	where. Make use of the new wtp_send interface. Do not turn u_ack flag,
	but ack_pdu_sent (this bug is pointed out out by Huang Li), when ack
	pdu was send. Used constant ACKNOWLEDGEMENT everywhere in 
	wtp_send_calls. Noticed invalid use of 'resent' in the specs. Rid-flag
	is not turned when ack is sended, because the iniator does not use 
	this flag (only rid of result message is used by it. This is pointed
	out by Huang Li, too).

	* gw/wtp_tid.c|h: Used variable resp_machine (and corresponding type)
	everywhere

2000-09-29  Richard Braakman  <dark@wapit.com>

	* checks/check_date.c: Wrote.

	* checks/test_dates: Test material for testing dates.

	* gwlib/date.[ch]: Added date_parse_http().  Fixed some bugs
	in date_format_http() uncovered by check_date.

2000-09-28  Lars Wirzenius  <liw@iki.fi>

	* gwlib/socket.c: udp_bind: Recognize interf "*" as an alias for
	INADDR_ANY, so that Kannel again follows documentation.

2000-09-27  Richard Braakman  <dark@wapit.com>

	* gw/wsp-strings.c: Changed everything in order to get
	case-insensitive string lookup working right.  Converted
	to new formatting rules.

	* gw/wsp-strings.h, gw/wsp-strings.def: Improved comments.

2000-09-27  Lars Wirzenius  <liw@iki.fi>

	* gw/wtp_state-decl.h: Removed handling of event RcvInvoke in
	state RESULT_RESP_WAIT, since that was neither in the spec and
	seems to do nothing useful.

2000-09-27  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, gw/wapbox.c, doc/userguide/newconf.txt: Added
	configuration variable http-proxy-exceptions.

2000-09-27  Tuomas Luttinen  <tuo@wapit.com>

	* configure[.in]: Support for libxml1 removed, only 2.2.0 and
	up now.

2000-09-27  Richard Braakman  <dark@wapit.com>

	* gw/smsc_emi.c: Correct calculation of message length for
	UDH messages.

2000-09-27  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: moved http-proxy-host and http-proxy-port into
	"core" from "wapbox" section. (That's where they were for the
	smsbox as well.) Also added the code that actually makes use
	of the proxy support, by calling http_use_proxy.
	
	* gwlib/http.c: Allow the list of exceptions to be NULL, to
	simplify the case when no exceptions are wanted. Also report
	when a proxy is being used.

2000-09-27  Richard Braakman  <dark@wapit.com>

	* gw/wsp.c: Encode all known content types, not just the
	most common ones.

	* gw/wsp-strings.def: s/applicatoin/application in one of
	the content types.

2000-09-26  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c: Added Via header to HTTP requests.
	
    	* gwlib/socket.[ch]: Wrote function get_official_name.

	* gwlib/octstr.c: Don't call gwlib_assert_init, instead assert
	that octstr itself has been initialized. This is necessary because
	socket.c now needs to use octet strings before gwlib has been
	fully initialized.

2000-09-26  Richard Braakman  <dark@wapit.com>

	* Making release 0.11.2.

2000-09-26  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox_req.c: smsbox used to dump core if the sendsms
	username was incorrect, now it correctly returned authorization
	failure. Fixes bug report 105 from Paul Keogh.

2000-09-26  Lars Wirzenius  <liw@iki.fi>

	* test/fakesmsc.c: Initialize the third parameter to accept
	correctly. I wonder why this has ever worked.

2000-09-26  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c, gw/urltrans.c: set so that message without any
	content is passed to default service group, not ignored. Fixed
	request count, too.

2000-09-25  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Make conn_read_line() work more than once.
	Thanks to mulix@actcom.co.il for reporting this.

	* gw/wtp_send.[ch], gw/wtp_state-decl.h: Removed "event"
	parameter from wtp_send_abort and wtp_send_ack.  There were
	assertions for this (otherwise unused) parameter which caused
	the function to fail if the event was for example a timeout.

2000-09-25  Lars Wirzenius  <liw@iki.fi>

	* checks/check_http.sh: Check for "ERROR:" in log file.
	
	* gw/html.h: Include gwlib/gwlib.h, not octstr.h.
	
	* test/test_http.c: Add -q option.
	
	* gwlib/http.c: Bugfix. Format string said %s when it should
	have said %S.

2000-09-25  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox*.*: activated sendsms-user allow/deny-ip strings

	* gw/urltrans.c|h: appropriate modifications to that file
	
	* doc/userguide/userguide.xml: started to write a new chapter
	about SMS Kannel setup

2000-09-25  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_udp.c, gwlib/socket.c|h, test/test_udp.c: inserted
	interface-name patch by Andreas Fink. 

2000-09-25  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/newconf.txt: Added slightly better descriptions
	from Paul Keogh for SMS2000 config variables.

2000-09-25  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml, doc/userguide/newconf.txt: updated
	to include notes about SMSC ID use.

	* gw/bb_smsc.c, gw/smsc.c|h, gw/smsc_p.h: added preferred-id and
	denied-id configuration variable for SMS routing
	
2000-09-25  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c: added str_find_substr

	* gw/urltrans.c|h: added 'smsc' to find_translations, and
	forced-smsc, default-smsc and accepted-smsc for translation
	groups. Accepted-smsc is now in full use, so if you need
	sms-services linked to used SMSC, use it (and smsc-id for
	corresponding SMSC)

	* gw/smsbox_req.c: set smsc_id for send-sms requests

	* doc/userguide/newconf.txt: added new attributes here

2000-09-25  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c (get_and_set_debugs): fixed '--' parsing

2000-09-22  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c: set that command line option '--' ends option
	parsing. Thanks to Kari Lempiainen for finding this, although I
	added one 'break' to it, too.
	
2000-09-22  Richard Braakman  <dark@wapit.com>

	* gw/timers.c: Correctly record elapse-event in gwtimer_start.  Oops.
	This also fixes a memory leak.

2000-09-22  Richard Braakman  <dark@wapit.com>

	* gwlib/protected.[ch]: Removed gw_getlocale().  Despite
	protection, toggling locale settings is inherently not
	thread-safe.

	* gwlib/date.[ch]: Started file for date handling functions.
	Contains date_format_http(). It is a reimplementation of
	rfc2068_date_format() but does not use setlocale trickery.

	* Removed rfc2068_date_format() from gwlib/utils.[ch] and
	made gw/wsp_headers.c call the new function.

2000-09-22  Richard Braakman  <dark@wapit.com>

	* gw/wsp-session.c: Corrected capabilities negotiation.  This
	is not the promised rewrite, and its replies are still longer
	than they need to be, but it follows the standard now.

	* gw/wsp_caps.[ch]: Added helper function wsp_cap_get_server_sdu.

2000-09-22  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: edited access log entries, now the HTTP request
	status is logged etc.

2000-09-22  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: added opening/closing of access log

	* gw/smsbox_req.c: added access log entries for requests (send-sms
	and MO), and modified the entire MO SMS lifetime so that 'request
	failed' replies to max-messages = 0 translations still get that
	answer

	* gw/smsc.c|h: changed so that smsc_send_message does not destroy
	the msg

	* gw/bb_smsc.c: updated access log entry

	* doc/userguide/newconf.txt: added access-log into
	variables. Still missing smsc-id, as the implementation is not
	finalized.

2000-09-21  Kalle Marjola  <rpr@wapit.com>

	* gwlib/accesslog.c|h: added first version of access log system

	* smsc.c|h: added SMSC Id (a bit like name but user defined)

	* gw/msg-decl.h: added SMSC Id to SMS messages 
	
	* gw/bb_smsc.c, gw/bearerbox.c: added access log entries for
	incoming/outgoing SMS messages

	* gw/smsbox_req.c: added 'smsc' entry for send-sms interface, but
	not yet supported.

2000-09-21  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Use octstr_case_search instead of
	octstr_convert_range and octstr_search to check whether a URL
	begins with "http://".

2000-09-21  Lars Wirzenius  <liw@iki.fi>

	* checks/check_octstr.c: Wrote.
	
	* gwlib/octstr.[ch]: Wrote new function octstr_case_search.

2000-09-21  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: octstr_compare: Fixed behavior when either argument
	was a zero length octet string. It used to always return zero,
	now it returns -1 or 1 if the other argument is not a zero length
	octet string.
	
	* gwlib/octstr.[ch]: Wrote octstr_case_compare.

2000-09-21  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: Reformatted to new code layout.

2000-09-21  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c: Start the WAP application layer before the
	heartbeat thread. This prevents a race condition at startup.

2000-09-21  Richard Braakman  <dark@wapit.com>

	* gw/timers.c: In TimerHeap struct, rename "heap" field to "tab".
	There's something confusing about heap->heap[index].

	* gw/timers.c: Simplified main loop in the timer thread.
	Made it process all elapsed timers before releasing its lock
	-- should be faster if a bunch of timers elapse at once.

2000-09-20  Richard Braakman  <dark@wapit.com>

	* gw/wsp_headers.c: Try to skip over unknown code pages more
	intelligently.

2000-09-20  Richard Braakman  <dark@wapit.com>

	* gw/timers.[ch], gw/wtp.c: Renamed timer_* to gwtimer_* to
	avoid name conflict with system functions.  Sigh.

2000-09-20  Richard Braakman  <dark@wapit.com>

	* gw/timers.c: Reformatted according to new layout standard.

2000-09-20  Richard Braakman  <dark@wapit.com>

	* gw/timers.c: Implement the heap structure using a C array,
	instead of using List.  This has less overhead and removes the
	need for list_swap.

	* gw/list.[ch]: Remove list_swap.

2000-09-20  Richard Braakman  <dark@wapit.com>

	* gw/timers.[ch]: Removed timersets from the interface.  The choice
	of what timers should be handled by a single thread is a performance
	issue, not an interface issue.  All timers are now handled by a
	single timer thread.  The choice of output list is now specified
	per timer, instead of per timer set.
	Added timer_init and timer_shutdown functions that should be
	called before creating any timers.

	* gw/wapbox.c, gw/wtp.c: Adjust to new timers interface.

2000-09-19  Richard Braakman  <dark@wapit.com>

	* gw/timers.c, gw/timers.h: New timers.  Faster, better, and
	they actually time out.

	* gw/wtp_timer.c, gw/wtp_timer.h: Removed.  (Remnants of old
	timer code).

	* gw/wapbox.c: Removed references to old timer code.  It's now
	completely hidden in the wtp layer.  Other layers can get their
	own timers.

	* gw/wtp.c: Use new timers.  Added some convenience functions
	(start_timer_A and start_timer_R).  Handle TimerTO_* events.
	There's no start_timer_W yet because we don't use it yet.

	* gw/wtp.h: Use new timers.

	* gw/wap-events-def.h: TimerTO_* events get a machine handle
	instead of a dummy field, so that the WTP layer knows which
	machine timed out.

	* gw/wtp_state-decl.h: Use new timers, by calling the
	convenience functions.  There's no real timer code left in
	the state machines.

	* gw/list.c, gw/list.h: Made list_delete_matching and
	list_delete_equal return the count of items deleted.
	Getting that info from an atomic operation is useful
	for the timer code.  Also added list_swap function.

2000-09-19  Richard Braakman  <dark@wapit.com>

	* gw/wtp.[ch], gw/wtp_machine_decl.h: Removed unused field
	type LIST from state machines.

2000-09-19  Lars Wirzenius  <liw@iki.fi>

	* gwlib/list.[ch]: Removed list_cat function, as it is now unused.

2000-09-19  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Added wml_init and wml_shutdown that do nothing
	yet, removed call to list_cat.

	* gw/wml_compiler.h: Added prototypes for wml_init and wml_shutdown.

2000-09-18  Richard Braakman  <dark@wapit.com>

	* gw/smsc_smpp.c: Make charset_iso_to_smpp and charset_smpp_to_iso
	work with character values > 128.  Bugfix suggested by
	Philip Chr. Psiloinis.

2000-09-18  Lars Wirzenius  <liw@iki.fi>

	* doc/CodingStyle: Added example of coding style.

2000-09-18  Lars Wirzenius  <liw@iki.fi>

	* ChangeLog, debian/init, gw/bb_boxc.c, gw/bb_http.c, gw/html.h,
	gw/msg.c, gw/urltrans.c, gwlib/conffile.c, gwlib/conffile.h,
	gwlib/gwassert.h, gwlib/gwstr.h, gwlib/gwthread-pthread.c,
	gwlib/http.c, gwlib/http.h, gwlib/list.c, gwlib/list.h,
	gwlib/log.h, gwlib/octstr.c, gwlib/octstr.h, gwlib/socket.c,
	gwlib/thread.c, gwlib/thread.h, gwlib/utils.c: Folded some long
	lines (see utils/find-long-lines).


2000-09-18  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.c: Shut up char/unsigned char implicit conversion
	warning by adding a cast.

2000-09-18  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* gwlib/thread.h: changed the call to mutex_init_static_real
	to actually pass the mutex when MUTEX_STATS are required.

2000-09-18  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c (get_and_set_debugs): PANIC if unknown option is
	encountered, to avoid misuse of options.

2000-09-18  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c (httpd_serve): when receiving an unknown command,
	tells the received url back to caller

2000-09-18  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c (init_smsbox): fixed bug reported by Paul Keogh.

	* gw/bearerbox.c: some fix to shutdown order

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* utils/source-stats: Wrote.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* config.h.in, configure.in, configure, gwlib/socket.[ch],
	gwlib/getnameinfo.h: Killed the getnameinfo implementation. Yet
	another non-standard function that we don't even refer to anymore.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/log.[ch]: Removed the `forced' log level, since it is
	pointless and unused.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* config.h.in, configure, configure.in, gwlib/utils.[ch]: Always
	use kannel_cfmakeraw, instead of the libc one. This simplifies
	configuration, and lets us not have to worry about having another
	cfmakeraw in a non-glibc library that does something else than
	the glibc one. Or about the glibc one changing behavior sometime
	in the future. (Oh the joys of using extensions to the standard
	libraries...)

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gw/wap-appl.c, gw/wsp.h: Added function wap_appl_get_load,
	which gives a current load average for the application layer
	(which is essentially the only sensible place to look for load
	averages), defined as the sum of the length of request queue
	and number of HTTP fetches that are currently happening. The
	old getloadavg method is deleted, but if this one proves to be
	completely unworkable, we can always salvage the code from CVS. On
	the other hand, this method actually works on systems that don't
	have a getloadavg, and works even on systems where getloadavg
	is defined differently (imagine running two different wapboxes).
	
	* gw/wapbox.c: Use wap_appl_get_load instead of getloadavg.

	* configure{,.in}: Removed checks for getloadavg.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Ran through astyle to get formatting right.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Removed internal function octstr_str_ncompare,
	replacing it with calls to octstr_search and
	octstr_create_immutable. Die *_cstr, die!

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch]: Added `pos' argument to octstr_search to
	let caller specify from where the search in the haystack starts.
	Also, octstr_format now understands %c.
	
	* gw/html.c, gw/smsc_at.c, gw/wap-appl.c, gw/wsp_headers.c,
	gwlib/http.c, gwlib/octstr.c, test/drive_wapbox.c,
	test/test_cimd2.c: Use octstr_search instead of octstr_search_cstr
	and various functions instead of octstr_append_cstr.
	
	* gw/wml_compiler.c: Fix call to octstr_search.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/octstr.[ch]: Removed the octstr_create_limited, because
	it had so limited use.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* test/test_http_server.c: Catch SIGTERM and die immediately.
	
	* checks/check_http.sh: Wrote.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gw/smsbox.c, gw/wapbox.c, doc/userguide/newconf.txt: Added
	HTTP proxy support to configuration files. No way to test it,
	right now, but will eagerly await bug reports.

2000-09-14  Lars Wirzenius  <liw@iki.fi>

	* gwlib/list.c: Don't do the atomic operation locks for list_lock
	and list_unlock: they're unnecessary for atomicity and cause
	deadlocks. Thanks to Kalle Sandstrm for noting this.
	
	* gwlib/octstr.c: Silence compiler warning regarding using a plain
	char as an index to an array (in reality, argument to isdigit),
	by typecasting a pointer. If we used fewer C strings, this would
	be less of a problem...

2000-09-11  Lars Wirzenius  <liw@iki.fi>

	* README: Fixed download URL, re-formatted and removed the
	outdated claim that it is a very raw draft.
	
	* doc/CodingStyle: Added note about the official formatting style,
	as discussed on devel@kannel.org. Also added a note about memory
	allocation policy as far as function interfaces are concerned,
	a note to avoid #if, and something about abstract data types
	and naming conventions related to that.
	
	* doc/dialup.txt, Makefile.in, configure.in,
	doc/arch/arch-bearerbox.xml, doc/arch/arch-bib.xml,
	doc/arch/arch.xml: Shortened long lines.
	
	* gwlib/list.[ch]: Changed the interface of the list_destroy
	function by adding a second argument, which is a pointer to an
	item destroying function.

	* checks/check_list.c, gw/cookies.c, gw/bb_boxc.c, gw/bb_smsc.c,
	gw/bearerbox.c, gw/numhash.c, gw/smsbox.c, gw/smsbox_req.c,
	gw/smsc.c, gw/smsc_cimd2.c, gw/urltrans.c, gw/wap-appl.c,
	gw/wapbox.c, gw/wml_compiler.c, gw/wsp-session.c, gw/wsp-unit.c,
	gw/wsp_caps.c, gw/wtp.c, gw/wtp_pdu.c, gw/wtp_tid.c,
	gw/wtp_timer.c, gwlib/http.c, gwlib/parse.c, test/drive_wapbox.c,
	test/test_cimd2.c, test/test_http.c, test/test_http_server.c:
	Updated calls to list_destroy to work with its new interface.
	
	* gw/msg.[ch], gw/wap-events.[ch]: Added functions *_destroy_item,
	for use with new list_destroy.
	
	* gw/wap-appl.c: Add X-WAP-Client-SDU-Size header.
	
	* gwlib/octstr.[ch]: Added functions octstr_format and
	octstr_format_append. Also added "immutable octet strings",
	for wrapping around C string literals, which required adding
	octstr_init and octstr_shutdown. See the header for more info.
	Also added some consts here and there.
	
	* gwlib/gwlib.c: Call octstr_init and octstr_shutdown.
	
	* test/test_octstr_format.c, test/test_octstr_immutables.c: New
	test programs.
	
2000-09-04  Richard Braakman  <dark@wapit.com>

	* gw/wapbox.c, gw/smsbox.c, gw/bearerbox.c: Handle only signals
	for the main thread, so that each signal is received exactly once.

2000-09-04  Richard Braakman  <dark@wapit.com>

	* Changes prompted by code review:

	* gwlib/gwthread.h, gwlib/gwthread-pthread.h: Rename Threadfunc
	to gwthread_func_t.

	* gwlib/parse.h, gwlib/parse.c, gw/wsp_headers.c: Rename Context
	to ParseContext.

	* gwlib/gwmem-check.c: Give symbolic names to the memory-filling
	patterns it uses.

	* gwlib/conn.h: Improve comments.

2000-09-04  Richard Braakman  <dark@wapit.com>

	* Making release 0.11.1.

2000-09-04  Derry Hamilton <rasilon@tardis.ed.ac.uk>
	
	* gw/wml_compiler.c: reformatted my earlier patch.

2000-09-03  Lars Wirzenius  <liw@iki.fi>

	* gw/wml_compiler.c: Removed unnecessary call to gw_assert:
	list_create is defined as always returning non-NULL, so it's not
	necessary to check it. (Or if we do, we should check it everywhere.)

	* gwlib/list.c: Removed unused variable from lock(). Also
	re-did the change to list_len in my own coding style, just to
	be pedantic.

	* I assume these were leftovers from Derry's debugging.

2000-09-01  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/list.c: Added a test for NULL list to list_len since some
	things want the length of NULL lists.
	* gw/wml_compiler.c: string_table_build no longer tries to add 
	strings to the stringtable if the list is NULL.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* wmlscript/wsencode.c: Added a typecast to convert a va_arg call
	that fetches an int to convert the value to an unsigned char *.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/http.c: Improved (but still did not write properly) HTTP
	Content-Type header parsing. Fix suggested by Joerg Pommnitz,
	though re-did the patch to add some error checking.
	
	* test/test_http.c: Parse and report Content-Type. Also, http_get_real
	now wants a non-NULL request header list. Give it that.
	
	* test/test_http_server.c: Report a character set (UTF-8, though
	it doesn't really matter) so that the parsing can be tested.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* configure.in: Tweaked the libxml checking. It should now be
	slightly cleaner and should work with upcoming 2.2.x versions
	of the library without changing configure.in. Thanks to Geir
	Johannessen, whose mail prompted me to look at this, even though
	I didn't use his patch directly.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gw/wsp.[ch]: Minor cleanups: Removed unused constants, added
	a comment for assertions, etc.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.[ch]: Moved WB_DEFAULT_TIMER_TICK and CONNECTIONLESS_PORT
	defines from .h to .c, since they're only used inside .c.
	
	* gw/wsp-method-state.h: Formatting change (comments should be
	indented similarly to the code they describe). Also, bug fixes:
	several comparisons had a single equals (i.e., assignment)
	instead of two (i.e., comparison).

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gw/wapbox.c, gw/log.c: Moved syslog opening internals to log.c,
	where it belongs. Introduced new function set_syslog to do this.
	
	* gw/log.c: Cleaned up formatting, etc, a bit. syslog support
	(internals of kannel_syslog (now static, btw)) is compiled on
	all platforms, not just SunOS.
	
	* gw/log.h: Added note that opening and closing of log files is
	not thread safe.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/list.[ch]: Some further cleanups:
	
		- list_delete_all and list_extract_all were named in a
		misleading way; renamed to *_matching instead, and all
		calls fixed as well; argument `cmp' renamed to `matches'
		for clarity's sake
		
		- some assertions uncommented and fixed to compare a 
		pointer explicity to NULL, instead of implicitly
		
		- code changed to call delete_items_from_list, instead of
		doing the same thing manually
		
		- list_lock and list_unlock use the single-operation lock
		
	* checks/check_list.c, gwlib/http.c: Related changes.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* gwlib/list.c: list_len is now protected by locks.

2000-08-31  Lars Wirzenius  <liw@iki.fi>

	* test/test_list.c: Removed.
	
	* checks/check_list.c: Wrote.

2000-08-30  Lars Wirzenius  <liw@iki.fi>

	* gw/bb_udp.c, gw/cookies.c, gw/html.c, gw/msg.c,
	gw/smsbox_req.c, gw/smsc_at.c, gw/smsc_cimd2.c, gw/smsc_ois.c,
	gw/smsc_sema.c, gw/smsc_smpp.c, gw/wap-appl.c, gw/wml_compiler.c,
	gw/wsp-session.c, gw/wsp-unit.c, gw/wsp.c, gw/wsp_caps.c,
	gw/wsp_headers.c, gw/wsp_pdu.c, gw/wtp_pdu.c, gwlib/conn.c,
	gwlib/http.c, gwlib/http.h, gwlib/octstr.c, gwlib/octstr.h,
	gwlib/parse.c, gwlib/socket.c, test/fakewap.c, test/test_cimd2.c:

	Cleanups based on a (brief) code review. Lots of small changes
	pretty much everywhere, but nothing really big.
	
	* Renamed octstr_search_*_from to octstr_search_*, because there's
	no point in having two almost equivalent functions.
	
	* Renamed octstr_*_blank to octstr_*_blanks, to be grammattically
	correct.
	
	* Killed octstr_create_empty, replaced it with octstr_create("").
	
	* Other minor differences, see the diff if you're interested.

2000-08-30  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: The octet string memory leaks in the string table
	code plugged.

2000-08-29  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Plugging the huge memory leaks of the string 
	table code started. No more leaks due lists or mutexes. Some leaks 
	with octstr:s also plugged, some still remain. 

2000-08-28  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: The patch by Aarno was removed because it caused 
	problems like "WARNING: WSP: All converters for `text/vnd.wap.wml' 
	failed.", segmentation fault on variables and maybe others.

2000-08-26  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* solaris/mk-solaris-package.sh:  Now compiles for a bare
	Solaris 7 box, doesn't assume LD_LIBRARY_PATH

2000-08-24  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_udp.c (udp_receiver): trap ECONNREFUSED too (hey it was
	missing from Man page) and just continue

	* gw/bb_boxc.c: extend wapbox_list lock to prevent packet routing
	to exiting wapboxes	

2000-08-23  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Make sure content.url and content.body have valid
	values even if request method is not supported.

	* gw/wsp_pdu.c, gw/wtp_pdu.c: Make sure REST fields are always
	filled, even if packet contains bad length info.  This fixes a
	crashing bug discovered by OUSPG.

	* test/fakewap.c: Fix small memory leak.

	* test/udpfeed.c: New test program, reads a bunch of files and
	sends each in a single UDP packet.  Useful for feeding OUSPG's
	test set to Kannel.

	* gw/wapbox.c: Catch SIGQUIT and use it to report memory usage.
	Useful for detecting memory leaks.

	* gw/gwmem-check.c: Bugfix to allow gw_check_leaks() to be called
	multiple times in one run.

	* gw/wsp-unit.c: Fix memory leaks.

2000-08-22 Aarno Syvnen <syvanen@wapit.com>

	* gw/wml_compiler.c: Fixed some memory leaks

2000-08-22  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* solaris/etc/kannel.conf: By default do not permit admin connections

Mon Aug 21 18:39:30 2000  Lars Wirzenius  <liw@iki.fi>

	* test/test_counter.c: Removed, as this is now replaced by
	chec/check_counter.c.

Mon Aug 21 18:32:04 2000  Lars Wirzenius  <liw@iki.fi>

	* README, Makefile.in: Added some automatic checking as "make
	check". See the README for more info.
	
	* utils/run-checks, checks/*: New files.

2000-08-21  Paul Keogh <paul.keogh@anam.com>
	* gwlib/counter.[ch]: Added counter_set method.

2000-08-18  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: In gwthread_shutdown, don't delete
	the tsd_key.  It's still needed by gwthread_self(), which can 
	still be called.  This might fix the problem of wapboxes that
	refuse to die.

	* gw/wsp-strings.c: Make wsp_##name##_to_string not crash if
	the string was not found.

	* gw/wsp_headers.c: Have unpack_all_parameters() stop at
	the end of its string, rather than reporting a bogus error.
	Also fixed a memory leak in header unpacking.

2000-08-18 Derry Hamilton <rasilon@tardis.ed.ac.uk>
	
	* solaris/mk-solaris-package.sh: Changed default optimisation level.
	* solaris/etc/kannel.conf: Kannel needs an admin port to start
	
2000-08-16 Derry Hamilton <rasilon@tardis.ed.ac.uk>
	
	* solaris/*:  Added packaging information for Solaris

2000-08-14 Peter Grnholm

       * gw/wml-definitions.h: A typo corrected in URL value code table.
       Now URLs ending with .net/ work, too. Two other typos: Content-
       Type and Expires use capital letters. 
	
2000-08-10  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (check_variable_syntax): Escaping now possible 
	with one letter acronyms 'e', 'u' and 'n'.

2000-08-07  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: A little bit of code cleaning, changing return 
	types to null where a status is not needed.

2000-08-06  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* config.h.in, wmlscript/wsencode.c:  Fixed the WMLScript compiler
	  errors under Solaris SPARC.  The SPARC ABI requires that function
	  parameters be int aligned.

2000-08-04  Tuomas Luttinen  <tuo@wapit.com>

	* test/decompile.[ch]: A patch by Chris Wulff applied.

	* gw/wml_definitions.h: STRING_TABLE_MIN defined

	* gw/wml_compiler.c: The first attemp to use string table more 
	efficiently. For a reason or another hangs up when compiled with 
	checking-malloc on the check phase into a allocation lock.

	* gw/wml_compiler.c: The patch to fix a bug in the libxml-1.8.6 is 
	removed.

	* configure[.in]: The flag HAVE_LIBXML_1_8_6 is removed, now takes 
	only 1.8.7 and up.

2000-08-04  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: In X-WAP-Gateway header, use "Kannel/0.11"
	instead of "Kannel 0.11", to comply with HTTP/1.1 recommendations
	for version strings.

2000-08-02  Richard Braakman  <dark@wapit.com>

	* Making development release 0.11.

2000-08-02  Richard Braakman  <dark@wapit.com>

	* Applied Joerg Pommnitz's patch for Crypto library support in
	the WMLScript compiler.

2000-08-02  Richard Braakman  <dark@wapit.com>

	* Folded in POST_SUPPORT.  Duplication of code is Bad.

2000-08-01  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Be forgiving of cimd2 calls while the
	socket is not open.  This is necessary because of the 
	changed thread structure in the new bearerbox.

2000-08-01  Richard Braakman  <dark@wapit.com>

	* gw/smsbox_req.c: When logging "message sent", use errno 0
	instead of 1. (?)

	* doc/userguide/newconf.txt: Change recommended unified-prefix
	string for Finland, because smscenters no longer accept "00"
	prefix as of today.

2000-08-01  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: When complaining about format of sender number,
	actually log the sender number rather than the receiver number.

2000-07-27  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: When pending_smsmessage receives an unexpected
	response packet, report it instead of crashing.

2000-07-24  Richard Braakman  <dark@wapit.com>

	* gw/wsp_headers.c: Mostly rewritten.  Now decodes all header
	types defined by WSP 1.1.  This means that the headers sent
	by the phone are all passed to the HTTP server.  Previously,
	only a few commonly-appearing ones were (partially) decoded.
	Uses wsp-strings.def instead of inlined string tables.
	Uses new gwlib parse module to scan octstr contents.
	"Works for me" status.  Will be more thoroughly tested after 
	the decoding code is complete.

	* gw/wsp_headers.h: Changed interface of unpack_headers.
	It now takes a content_type_present flag parameter, instead
	of having a separate unpack_post_headers function.

	* gw/wsp-strings.c: Support for NUMBERED tables, which assign
	non-sequential numbers to the strings in a table.

	* gw/wsp-strings.h: Support for NAMED tables, which assign an
	enum value to each entry in a string table.

	* gw/wsp-strings.def: Define lots of new string tables, for use
	by the wsp_header module.

	* gw/wapbox.c: Init and shutdown newly used wsp-strings module.

	* gw/wsp-method-state.h, gw/wsp-session-state.h, gw/wsp-unit.c:
	Use new unpack_headers interface.

	* gwlib/octstr.c: In octstr_insert, assert that ostr2 is not
	inserted past the end of ostr1.  (This assumption was already
	there; it's just made explicit now.)
	Removed unused octstr_get_digit_from function.  octstr_parse_long
	does the same thing.
	New octstr_append_decimal function.

	* gwlib/protected.c, gwlib/protected.h: Added gw_getlocale,
	for use by rfc2068_date_format function.

	* gwlib/utils.c, gwlib/utils.c: New rfc2068_date_format function,
	to convert a unix timeval to a common textual format.  (The RFC2068
	format also fits the RFC822 format).

	* gwlib/parse.c, gwlib/parse.h: New module to make it easier to
	parse octstrs without passing lots of length and offset variables
	around.
	
	* gwlib/gwlib.h: Include new parse.h.  Move inclusion of protected.h
	to end, so that it can use Octstr in its function prototypes.

2000-07-24  Tuomas Luttinen  <tuo@wapit.com>

	* gw/smsbox_req.c: Removed function smsbox_req_sendota that used
	nonexistent octstr-function so that the CVS version didn't compile.

2000-07-23  Tuomas Luttinen  <tuo@wapit.com>

	* configure.[in]: libxml 2.2.1 added.

2000-07-21  Paul Keogh   <paul.keogh@anam.com>

	* gw/bb_udp.c: Added check for NULL ptr return from udpc_create()
	in function add_service() to prevent subsequent NULL dereference
	and crash.

2000-07-21  Yann Muller  <ymuller@3glab.com>

	* gw/smsbox_req.c, smsbox_req.h: messages with or without UDH are
	now handled in the same way, they can all be sent as multiple
	messages or concatenated messages if too long.
	
	* gw/smsc_at.c: Receiver address fix by Paul Keogh and Marcus
	Shawcroft. Better support for UDH.
	
	* gw/urltrans.c, urltrans.h: Added the concatenation option for
	SMS messages.
	
	* doc/userguide/newconf.txt, userguide.xml: Added a note about the
	concatenation and removed the limitation about UDH.
	
2000-07-20  Richard Braakman  <dark@wapit.com>

	* gw/wtp.c: Fixed memory leak in wtp_unpack_wdp_datagram.
	Simplified the code a bit.

	* gw/wtp.c: Made wtp_unpack_wdp_datagram_real not crash when
	receiving an invalid PDU.

	* gw/wtp_pdu.c: In wtp_pdu_unpack, simply free a PDU with 
	unknown type instead of trying to destroy it.  None of its
	fields were set anyway.

	* test/fakewap.c: Actually test separation when -s flag is given.
	The test is wrong, though, it sends bad packets.  Not going to
	fix that now.

2000-07-19  Tuomas Luttinen  <tuo@wapit.com>

	* configure[.in]: libxml 1.8.9 and 2.2.0 added. Fixes bug #97.

2000-07-18  Richard Braakman  <dark@wapit.com>

	* gw/html.c: Fix skipping of quoted strings (bug #89, reported
	by Paul Keogh).

	* gw/smsbox.c: Avoid memory leak in http_request_thread().
	Fixes bug#101, reported by Paul Keogh.

2000-07-18  Richard Braakman  <dark@wapit.com>

	* gw/smsc_ois.c: Fixed some warnings.

2000-07-18  Kalle Marjola  <rpr@wapit.com>

	* gwlib/gwthread-pthread.c, gwlib/http.c: Fized bugs #98 and #100
	reported by Paul Keogh.

2000-07-18  Paul Keogh <paul.keogh@anam.com>
	* gw/urltrans.c: Fixed memory leak in destroy_onetrans().

2000-07-17  Paul Keogh <paul.keogh@anam.com>
	* gwlib/counter.[ch]: Added counter_decrease() function.

2000-07-15 Derry Hamilton <rasilon@tardis.ed.ac.uk>
	
	* config.h.in,configure,configure.in: Removed checks for integer
	lengths as it broke more than it might have fixed.

2000-07-14  Paul Keogh <paul.keogh@anam.com>
	* gwlib/http.c: Fixed a bug in the HTTP POST which prevented interop
	with some versions of Apache and ultimately crashed.

2000-07-13  Derry Hamilton <rasilon@tardis.ed.ac.uk>
	* gw/wapbox.c,gw/wapkannel.conf,gwlib/log.c: first implementation of 
	syslog support under Solaris.

2000-07-13  Kalle Marjola  <rpr@wapit.com>

	* */*: Making out release 0.10.2

2000-07-13  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (wml_compile): Compiler now checks that the 
	output from libxml is not a NULL pointer.

2000-07-13  Derry Hamilton <rasilon@tardis.ed.ac.uk>
	* config.h.in,configure,configure.in: configure now checks for the 
	32-bit type and defines kint32 and kuint32 as appropriate in 
	preparation for 64-bit kannel on Alpha and UltraSPARC since the
	compiler types int32 and uint32 are not supported everywhere.
	* gwlib/http.h: Added the function definition for 
	http_charset_accepted rather than leaving it to be implicitly
	defined.
	
2000-07-13  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: removed two unused variables.
	
2000-07-12  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Little bug fixes with variables:
	- no more empty	string before variable reference to string table
	- double $ won't eat a character after them, fixes #94
	- a little memory leak mentioned below corrected

2000-07-12  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_http.c: oops, return value for HTTP admin was not checked,
	now fixed

	* gw/bearerbox.c: added compiler options KANNEL_NO_SMS and
	KANNEL_NO_WAP

2000-07-11  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Bug #86 fixed. A memory leak with $ characters 
	fixed. Another one still remains with mix of $ characters and 
	variables.

2000-07-11  Yann Muller  <ymuller@3glab.com>

	* doc/userguide/newconf.txt: Added configuration information to use
	a GSM modem as an SMSC.

2000-07-10  Yann Muller  <ymuller@3glab.com>

	* gw/smsc_at.c: now removes SMSC address at beginning of PDU sent
	by the Wavecom. Better handling of messages with UDH (no 7bit encoding
	of UDH yet).

2000-07-10  Kalle Marjola  <rpr@wapit.com>

	* gw/urltrans.c (find_translation): fixed string matching of
	sms-services.

2000-07-07  Tuomas Luttinen  <tuo@wapit.com>

	* configure: Now support for libxml 1.8.8 and 2.1.1.

	* gw/wml_compiler.c: Support for libxml version 2 and above
	now ready.

	* gw/wml_compiler.c (parse_attribute): Patch by Holger Casties
	applied to eliminate a segmentation fault with NULL pointer
	passed as a second argument to strcmp.

2000-07-07  Kalle Marjola  <rpr@wapit.com>

	* doc/dialup.txt: updated to reflect current configuration, and
	added data on how to get it work with Siemens S25i from Matthias Wutke

2000-07-07 Aarno Syvnen <syvanen@wapit.com>

	* gw/wtp.c: Bugfixes in the separation code

	* test/fakewap.c: Added sending of a concatenated message, for testing
	separation.

2000-07-07  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: hopefully fixed a little bug/feature in connection 
	closing

2000-07-06  Richard Braakman  <dark@wapit.com>

	* Making release 0.10.1.

	* Extended NEWS.  Removed NEWS.devel, we won't need it until
	we start on 0.11.

2000-07-06  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_ois.c: (hopefully) fixed warnings from FreeBSD

2000-07-06  Kalle Marjola  <rpr@wapit.com>

	* gw/bearerbox.c: added --suspended and --isolated command-line
	option names (same as -S and -I)

	* gw/smsbox.c: fix in command line parsing

	* doc/userguide/newbb.conf: added data on those new options

2000-07-06  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox.c: modified so that if the HTTP-sendsms interface is
	defined, the smsbox won't start if it fails to init it. Use new
	command line option -H or --tryhttp to override this feature 

2000-07-05  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/newconf.txt: oops, forgot admin-username. And
	returned sample smsc-groups

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_ois.c: Added support for SEMA
	SMS2000 (G6.0) OIS 5.0 over X.25, under name OIS, by Jouko Koski.

2000-07-03  Richard Braakman  <dark@wapit.com>

	* gw/wml_definitions.h: Applied patch by brennon loh york hong
	to fix compilation of pages with multiselect.

2000-07-03 Paul Keogh <paul.keogh@anam.ie>

	* gwlib/http.c,gwlib/http.h,gw/wsp_headers.h,gw/wsp_headers.c,
	gw/wsp_unit.c,gw/wsp_session_state.h,gw/wsp_method_state.h,
	gw/wap-appl.c: Added support for HTTP POST under #ifdef POST_SUPPORT.
	Also enabled runtime cookies under #ifdef COOKIE_SUPPORT.

2000-06-30 Aarno Syvnen <syvanen@apit.com>

	* wsp-unit.c: Fixed some memory leaks

2000-06-30  Aarno Syvnen <syvanen@wapit.com>

	* wtp_tid.c|h, wtp_state-decl.h: Tid was not cached when tid 
	verification was invoked because of a failed tid validation test.
	So after every validation all following tids were verified. Added
	to the the module wtp_tid an external function wtp_tid_set_by
	machine, which stored tid after validation.

2000-06-30  Richard Braakman  <dark@wapit.com>

	* gw/wml_compiler.c: In parse_octet_string, one extra byte was
	skipped after a variable reference, including the special "$$"
	sequence.  Fixed.

2000-06-30  Richard Braakman  <dark@wapit.com>

	* gwlib/http.c: Change some of the locking according to Joerg
	Pommnitz's suggestions, to deal more smoothly with slow connects.

2000-06-30  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* Makefile.in: made .depend depend on config.h.  This should
	allow changing between checked and unchecked malloc without manual
	intervention.

2000-06-30  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem-check.c: Fix call to free() in drop_from_free_ring().
	This fixes a memory leak.

2000-06-29  Paul Keogh <paul.keogh@anam.ie>

	* gwlib/list.c: Removed unnecessary calls to lock() and unlock()
	in the list_cat() function as the called functions do the
	required locking.  Locking the same lock twice causes a panic().

2000-06-29  Richard Braakman  <dark@wapit.com>

	* gw/wsp-session.c: Fixed memory leak in new capability code.

2000-06-29  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Applied fix suggested by Lim YoungLan, to make
	sure S-MethodInvoke.res is sent before any S-MethodResult, even
	if fetch_thread() is very fast.

2000-06-28  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsstdlib.c: Applied Joerg Pommnitz's patch to support 
        WTAI standard library function calls, after converting it to the
	local indentation style.

2000-06-27  Kalle Marjola  <rpr@wapit.com>

	* doc/userguide/userguide.xml: did some updating, still needs to
	integrate newconf.txt and newbb.txt into it, but that some other
	day

2000-06-27  Paul Keogh <paul.keogh@anam.ie>

	* gw/cookies.c: Added a check for valid WSP session machine to prevent
	possible crash.

2000-06-26  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gw/cookies.c: casted char to int for several isspace() etc. calls.
	Stops the compiler complaining under Solaris.

2000-06-26  Kalle Marjola  <rpr@wapit.com>

	* Making out stable release 0.10, branched as 'release_0_10'

2000-06-26  Kalle Marjola  <rpr@wapit.com>

	* gw/smsc_smpp.c: small fix by Mikael Gueck

2000-06-21  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: added on-line information about connected boxes in
	status query

2000-06-20  Kalle Marjola  <rpr@wapit.com>

	* README: added notes of what need to be done if Kannel version is
	upgraded from some old version

2000-06-20  Kalle Marjola  <rpr@wapit.com>

	* Making out development release 0.9.3, canditate as production
	release 0.10

2000-06-20  Kalle Marjola  <rpr@wapit.com>

	* gwlib/utils.c, gwlib/utils.h: moved #ifdef of cfmakeraw into
	header file so that it will compile in (my) system with cfmakeraw 

	* gw/bb_boxc.c: updated output information of bocx_status

	* gw/bb_smsc.c: fixed compiler warning
	
2000-06-19  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: fixed one very-infrequently striking lockout
	during shutdown

	* README.docbook: user --disable-docs, not --without-docs

2000-06-19  Derry Hamilton <rasilon@tardis.ed.ac.uk>

        * gw/wsp-session.c: included limits.h to get LONG_MAX
	* gwlib/utils.c,gwlib/utils.h: created kannel_cfmakeraw()
	* gw/smsc_emi.c: removed cfmakeraw stub
	* gw/smsc_emi.c,gw/smsc_at.c,gw/smsc_sema.c: converted calls to
	  cfmakeraw to kannel_cfmakeraw.

2000-06-19  Kalle Marjola  <rpr@wapit.com>

	* gw/wsp-session.c, gw/wsp_pdu.c: inserted patch from Joerg
	Pommnitz, now Kannel hopefully works better with Motorola
	Timeport.

2000-06-19  Kalle Marjola  <rpr@wapit.com>

	* gwlib/http.c: parse_url() modified to change start of the url
	tolower() so that comprasion to http:// succeeds even with
	HTTP://

2000-06-19  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smsc.c: added suspend-mode to sms_router to synchronize
	start-up

2000-06-19  Yann Muller  <ymuller@3glab.com>

	* gw/smsc.c, gw/smsc_p.h, gw/smsc_at.c: Applied Denis Hennessy's
	patch to support Siemens M20: connect at 19200 baud, added a
	'pin = xxxx' entry to the conf file,  fixed missing trailing
	null char in encode_pdu, added a dummy receiver address since
	smsbox requires one, added the dummy "00" SC prefix for the M20
	(like the wavecom).

2000-06-17  Richard Braakman  <dark@wapit.com>

	* Replaced capabilities parsing.  New file gw/wsp_caps.[ch] defines
	a structure to represent capabilities, and some operations on it.
	WSP layer passes capability requests up to the Application layer,
	which can respond to some and ignore others.  WSP layer then completes
	the capabilities reply when it generates the ConnectReply PDU.
	See negotiate_capabilities() function in wap-appl.c for more info.

	* Added CAPABILITIES type to wap-events and wsp-session-machine.

	* Added request_caps and reply_caps fields to WSP session machine,
	removed most of the other capability-related fields except
	client_SDU_size and MOR_push (which are the only ones we support
	and need to remember).

	* gwlib/octstr.[ch]: New function octstr_extract_uintvar.

	* gw/wsp-session.c: unpack_caps, unpack_uint8, and unpack_uintvar
	removed.

	* Removed unused SESSION_MACHINE type from wap-events.

	* test/drive_wapbox: Supply the same capability values as the
	Motorola Timeport does, for testing.

	* Corrected:
	gw/cookies.c:88: warning: char format, Octstr arg (arg 3)

2000-06-17  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: Defined wtp_types enum, because we can
	no longer steal the values we need from wtp.h.

2000-06-16 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Fixed bug pointed out by Joerg Pommnitz

	* removed debug functions

	* wtp.c | wapbox.c: Code for separation added. Must test it ...

2000-06-16  Kalle Marjola  <rpr@wapit.com>

	* gw/cookies.c: changed strnicmp to strcasecmp, as nicmp is not
	supported in standard C libraries

	* gw/urltrans.c: fixed find-operations

	* gw/bb_smsc.c: added smsc_status

2000-06-16	Yann Muller <ymuller@3glab.com>

	* gw/smsc.c, gw/smsc_p.h: Added modemtype configuration parameter
	for the AT SMSC.
	
	* gw/smsc_at.c: Added support for Nokia PremiCell GSM modem.
	The parameter modemtype in kannel.conf can be set to 'wavecom'
	or 'premicell'.

2000-06-16	Paul Keogh <paul.keogh@anam.ie>

	* gw/cookies.c: updates after review by Richard Braakman. Also some
	additional includes.

	* gw/cookies.h: As for cookies.c

	* gw/wsp-session-machine.h: Added COOKIES field to session MACHINE

	* gw/wsp-session.c: Added cookie support to machine_create(),
	machine_destroy (). Also added id_belongs_to_session() function
	for use by cookie functions.

	* gw/wsp.h: Added cookie support to struct WSPMachine.

2000-06-15  Kalle Marjola <rpr@wapit.com>

	* gw/smsbox_req.c: fixed bug in http2-conversion, and set that
	'request failed' is send back to the phone (no more 'nothing')

2000-06-15  Richard Braakman  <dark@wapit.com>

	* gw/wsp-strings.*: Interface for tables of constant strings defined
	in WSP.  Not used yet.

	* gw/wsp-session.c: Got rid of append_uint8 and append_octstr; use
	basic octstr functions instead.

2000-06-15  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: In fetch_thread(), explicitly set content.charset
	to an empty octstr if the http fetch failed, otherwise it remains
	uninitialized and causes a crash when octstr_destroy is called on it.
	Thanks to Paul Keogh for finding this.

	* gw/wsp-session.c: In wsp_disconnect_other_sessions(), use
	"Disconnect_Event" instead of "Disconnect".  The latter is a PDU
	type, not an event type.  Thanks to Paul Keogh for finding this.

2000-06-15 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Bugfixes in error handlin

	* wtp_pdu.c: wtp_pdu_unpack must return NULL when header is not valid

2000-06-14  Richard Braakman  <dark@wapit.com>

	* Filled in WSP state tables.  Defined lots of new events.
	Sanitized event routing: WTP to WSP events get an addr_tuple.
	WSP to WTP events get a "handle" (as defined in the spec) which
	happens to be equal to the mid.  WSP to APPL events contain the
	session id, and possibly a transaction id (as defined in the spec),
	which can be returned in the APPL to WSP events.  No more mid
	or msmid fields.  The transaction id is set equal to the handle
	gotten from the WTP layer, because that one's already unique.

	* Still missing: Push and Suspend/Resume.

	* gw/wap-appl.c: Handle all the new S- events and send back
	the proper replies.

	* gw/wsp-session.c: Moved method machines into the session machines.
	They can only be addressed via a session id and transaction id.
	The session machine can send events to all its method machines.
	Also added support functions for the WSP state tables.
	Implemented pre- and post- state machine checks, for more accurate
	handling of events without sessions, etc.

	* gw/wsp.h: Defined an enum for all the possible abort values.

	* test/drive_wapbox.c: Really disconnect clients after the right
	number of page fetches.  (Used to do this only once per client.)

2000-06-14  Yann Muller  <ymuller@3glab.com>

	* smsc_at.c: Fixed a memory leak in pdu_extract. Removed unused
	variables.
	
2000-06-14  Kalle Marjola <rpr@wapit.com>

	* gw/html.c: fixed parsing bug in html_to_sms

	* utils/kannel-init.d: made to worship new configuration files

2000-06-14 Aarno Syvnen <syvanen@wapit.com>

	* wtp_send.c|h: wtp_do_not_send uses WAPAddrTuple type, too

	* wtp.c: Reimplement error handling

2000-06-14  Kalle Marjola  <rpr@wapit.com>

	* gw/smsbox_req.c: fixed split-send Octstr-wise, now it should
	work with CIMD2, too (and other new SMSC protocols?)

2000-06-14  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_smsc.c: modified sleep in smsc receive to variable length,
	to increase performance

2000-06-14  Yann Muller  <ymuller@3glab.com>

	* smsc_at.c: New SMSC for wireless modems (AT commands).
	
	* smsc.c, smsc_p.h: Added support for new AT SMSC.

2000-06-13  Kalle Marjola  <rpr@wapit.com>

	* gw/bb_boxc.c: (somehow) fixed pointer error pointed out by Paul
	Keogh.

2000-06-13  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: Query list of charsets from the WML compiler,
	and use that instead of accessing the table as an extern.

	* gw/wml_compiler.[ch]: Added wml_charsets function.

	* gw/wap-appl.c: Continued simplifying fetch_thread, broke out
	a number of smaller functions.  Made converters table only
	list actual converters, eliminated convert_to_self.

	* gw/wap-events-def.h: Made response_type an octstr.  Convert
	it to the WSP encoding in the WSP layer, not the application layer.
	Moved encode_content_type function to wml.c.

	* gwlib/http.c: Reindented http_something_accepted and istrdup
	to fit with the rest of the code.

	* gwlib/http.h: Added prototype for http_charset_accepted.

	* gw/wap-appl.c: Created "content" struct to describe content
	body and meta-info.  Made convert functions use it.  Split off
	content conversion into a separate function that uses the table.

2000-06-12  Richard Braakman  <dark@wapit.com>

	* Started simplifying fetch_thread function.

	* Add "X-WAP-Gateway: Kannel XXX" to requests, where XXX is the
	version number.

2000-06-12  Richard Braakman  <dark@wapit.com>

	* Renamed http2 to http everywhere, because the old http code
	is completely gone.  Removed --with-http2 configuration option.

2000-06-12  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Character set and string table length changed 
	from chars to uintvars. Now WML compiler can handle string table 
	length greater than 127.

2000-06-12  Richard Braakman  <dark@wapit.com>

	* Making development release 0.9.2.

	* Commented-out some excessive logging.

2000-06-12 Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: TR-Abort.ind when timer counter has expired

2000-06-10  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem-check.c: New implementation.  This fixes the speed
	bottleneck that the old gwmem-check was, and it provides better
	checking and some extra features.

	* gwlib/gwmem.h: Slight changes for the new gwmem-check.  New
	functions gw_check_area_size and gw_check_claim_area, which do
	not have macro wrappers yet.

	* gwlib/thread.[ch]: Add support for statically allocated Mutex
	structures.  They are needed to break some dependency loops
	between the various wrappers (log.c needed protected.c,
	protected.c needed Mutex, Mutex needed gwmem, gwmem needed log.c)
	which made it impossible to shut them down correctly.

	* gwlib/protected.c, gwlib/gwmem-check.c: Use the new static mutexes.

2000-06-09  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/http2.c: A http request headers patch applied.

	* gw/wap-appl.c: A http request headers patch applied.

	* gw/wml_definitions.c: Character set conversion pathes added, see 
	below.

	* gw/utf8map_iso8859-7.h: A conversion table for greek character set.

	* gw/utf8map_win1253.h: A character set added.

	* gw/utf8map_win1251.h: A russian character set added.

	* gw/utf8map_koi8r.h: A russian character set added.

	* gw/wml_compiler.c: A memory allocation loop removed from 
	parse_attribute.

2000-06-09  Richard Braakman  <dark@wapit.com>

	* gw/wap-appl.c: In fetch_thread, also clean up "url" octstr.
	This fixes the last big memory leak.  I now get only a handful
	of leaked areas after 100 requests.

2000-06-09  Richard Braakman  <dark@wapit.com>

	* gw/wsp-session.c: Fixed two of the memory leaks, still hunting
	for others.

2000-06-09  Richard Braakman  <dark@wapit.com>

	* gwlib/http2.c: Fixed header_is_called() to return 0 for no match
	and 1 for match; simplified it in the process.  I think this was
	the original intent, and it matches the function name.
	By a roundabout path this fixes the lack of "Accept: text/vnd.wap.wml"
	and such in the HTTP request headers Kannel generates.
	Adapted http2_header_find_first() to the new interface of
	header_is_called().

2000-06-09  Richard Braakman  <dark@wapit.com>

	* gw/wsp_pdu.c: Allow REST fields to be NULL when packing (treat
	them as length 0 strings).  This was already done for OCTSTR fields.
	Thanks to Paul Keogh for fixing this.

	* gw/wtp_pdu.c: Make the same change for REST and OCTSTR fields as
	above.  It's going to be difficult to keep this code in sync.

2000-06-09  Richard Braakman  <dark@wapit.com>

	* gwlib/socket.c: Make read_available assert that fd >= 0, because
	otherwise it just segfaults.

	* gwlib/http2.c: Make pool_socket_is_alive return "not alive" for
	sockets < 0.  This does not fix the whole problem but it keeps the
	wapbox from crashing here.

	* gwlib/list.c: Fix bug in delete_items_from_list which would
	corrupt the list in some cases.

2000-06-09  Kalle Marjola  <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: removed START and EXIT debug info as they are in new
	thread wrapper, too

	* gw/bb_boxc.c: fixed bugs in wdp-router and wapbox quit, and
	re-synchronized shutdown

	* gw/bearerbox.c, gw/bb_http.c: removed core_threads as new thread
	wrapper can be used to handle that.
	
Fri Jun  9 08:31:18 2000  Lars Wirzenius  <liw@wapit.com>

	* Separated the method state machine from the session state machine,
	to keep state tables in the source closer to the spec and to allow
	multiple fetches per client.
	
	* gw/wsp-method-machine.h, gw/wsp-session-machine.h: Split out from
	gw/wsp_machine-decl.h, now removed.
	
	* gw/wsp-method-state.h, gw/wsp-session-state.h: Split out from
	gw/wsp_state-decl.h, now removed.

	* gw/wsp-session.c: Added handling of WSPMethodMachines and
	correct routing of WAPEvents between the session and method
	state machines. This is a bit ugly, though.

	* gw/wap-appl.c, gw/wap-events-def.h, gw/wsp.h, gw/wtp.c:
	Related changes.

Fri Jun  9 06:20:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Combined wtp_machine_create and wtp_machine_create_empty.

Fri Jun  9 05:39:06 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp-session.c, gw/wsp_machine-decl.h, gw/wsp_state-decl.h:
	Removed `unused' field from WSPMachine, using state == NULL_STATE
	instead.

Fri Jun  9 05:32:38 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events-def.h, gw/wtp.c, gw/wsp_state-decl.h: Removed
	unused exit_info and exit_info_present fields from WAPEvents.

Fri Jun  9 05:28:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp_state-decl.h: Enabled sending of TR-Abort.ind events
	to WSP.

	* gw/wtp.c: Removed (now unused) variable current_primitive.

Fri Jun  9 05:18:07 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events-def.h: Finished breaking up pack_wsp_event into
	smaller functions.

Fri Jun  9 05:10:20 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c, gw/wap-events-def.h: Removed event TR_Invoke_Cnf since
	it wasn't used and is only generated on the client side.

Fri Jun  9 04:58:02 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events-def.h, gw/wtp.c: Removed unused fields wsp_pdu
	and wsp_tid from various events. Then removed code that set
	and copied them between events.

Fri Jun  9 07:44:25 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c, gw/wtp_state-decl.h: Beginning the breaking up of
	pack_wsp_event function into smaller, more well defined ones.

Fri Jun  9 06:48:42 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-appl.c: Combine headers for HTTP request after the
	actual list of headers has been collected.

Fri Jun  9 02:58:00 2000  Lars Wirzenius  <liw@wapit.com>

	* Implemented WSP connectionless service. This meant moving
	things around a bit. The basic approach is to treat connectionless
	mode as a level in the protocol stack that is parallel to WTP and
	session oriented WSP. That is, connectionless mode gets events
	directly from wapbox.c and feeds them to wap-appl.c, and vice
	versa for replies.
	
	* gw/bb_udp.c: Read from port 9200 as well.
	
	* gw/wap-events-def.h: Added events S_Unit_MethodInvoke_Ind and
	S_Unit_MethodResult_Req.
	
	* gw/wapbox.c: Deal with connectionless packets as well. Feed them
	to wsp-unit.c. Also: trace packets received and sent, except for
	heartbeat packets.
	
	* wsp-session.c: The session oriented mode of WSP. I just moved
	relevants parts of wsp.c here and renamed them to use the
	wsp_session prefix.

	* gw/wsp-unit.c: The connectionless mode of WSP.
	
	* gw/wsp.c: Kept only stuff shared by wsp-session and wsp-unit.

	* gw/wap-appl.c: Deal with both S-MethodInvoke.ind and
	S-Unit-MethodInvoke.ind events.
	
Fri Jun  9 02:46:53 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.[ch]: Changed the WAPEvent sub-structures to be
	held inside a union, to reduce amount of space used. Related
	changes everywhere WAPEvents are used.
	
2000-06-08  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: Added option -g N to try more than one
	page fetch per WSP session.  Improved tid checking so that it
	will catch the tid inversion bug (fixed below) in the future.

	* gw/wapbox.c: Make wap_addr_tuple_duplicate handle a NULL
	argument by returning NULL, like most other _duplicate functions.

	* gwlib/http2.c: Make http2_append_headers copy the headers it
	appends, so that http2_destroy_headers can safely be called on
	the result.

2000-08-07  Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: Removed machine_mark_unused calls

2000-06-07  Richard Braakman  <dark@wapit.com>

	* gw/wtp_send.c: Invert the MSB of the received tid when sending,
	to comply with WTP 8.8.1.  This fixes a bug introduced two days ago.

2000-06-07  Richard Braakman  <dark@wapit.com>

	* gw/wtp.c: Also destroy the event queue at shutdown.

2000-06-07  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Fixed silly bug in yesterday's patch.

2000-06-07  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* test/fakewap.c: Running fakewap too quickly messes up
	thread-control signal handling under Solaris.  Ignore SIGALRMs,
	they are not meant for us.
	
2000-06-06  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Information for main thread is now
	allocated statically, so that we don't have to deallocate it
	at shutdown.  This way we can keep it around so that gwthread_self
	continues to work as expected even during shutdown.

2000-06-06  Richard Braakman  <dark@wapit.com>

	* Making development release 0.9.1.

2000-06-06  Richard Braakman  <dark@wapit.com>

	* gwlib/gwlib.c: Patch gwlib_assert_init so that it works if
	NDEBUG is on.

	* gwlib/octstr.c: Patch seems_valid macro so that it does nothing
	if NDEBUG is on.

2000-06-06  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wsp.c: append_uintvar removed, calls to it were changed to
	octstr_append_uintvar.

	* gw/utf8map_win1257.h: A new file from the Latvian localisation 
	patch.

	* utils/win1257unicode.txt: A new file from the Latvian localisation 
	patch.

	* utils/utf8map.pl: A new file from the Latvian localisation patch.

	* gw/wml_definitions.h: Latvian localisation patch applied.

	* gw/wml_compiler.c: Latvian localisation patch applied.

Tue Jun  6 15:43:31 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_state-decl.h: Bugfix. The mid for a S_MethodInvoke_Ind
	was copied from a tid. Oops.

Tue Jun  6 15:11:14 2000  Lars Wirzenius  <liw@wapit.com>

	* wap-events-def.h, gw/wsp.c, gw/wtp.c: Some events are generated
	by WTP immediately before it kills the WTPMachine. We used to
	fetch the address information for those WTP transactions from the
	WTPMachine after the machine had been killed. This was a bug. I
	changed the relevant events to supply the necessary information
	in the event, so that the WTPMachine is no longer needed.
	
Tue Jun  6 12:28:48 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-appl.c, gw/wap-events-def.h, gw/wap-events.c,
	gw/wap-events.h, gw/wapbox.c, gw/wapbox.h, gw/wsp.h,
	gw/wsp_machine-decl.h, gw/wtp.c, gw/wtp.h, gw/wtp_machine-decl.h,
	gw/wtp_send.c, gw/wtp_tid.c: Made more use of WAPAddrTuple.

Tue Jun  6 11:37:22 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-appl.c, gw/wap-events-def.h, gw/wap-events.[ch]: Replaced
	member `machine' (a pointer to a WTPMachine) to `mid' and `tid'
	(integers), so as to remove direct references to WTPMachines
	from outside the WTP layer.
	
	* gw/wtp.[ch]: Added function wtp_get_address_of for finding the
	address of a machine given its id (mid). 
	
	* gw/wapbox.[ch]: Added data types WAPAddr and WAPAddrTuple,
	for holding addresses of phone and gateway, and functions for
	creating and destroying them.
	
	* gw/wsp_state-decl.h: Made use of mid instead of machine.
	
	* gw/wsp.c: Made light use of WAPAddrTuple.  Made use of mid
	everywhere, instead of pointers to WTPMachines.

Tue Jun  6 08:44:13 2000  Lars Wirzenius  <liw@wapit.com>

	* test/decompile.c: Added return type (void) to function
	OutputEncodedString.

2000-06-05  Richard Braakman  <dark@wapit.com>

	* gw/wsp_pdu.[ch]: Added wtp_pdu_append_tpi function.

	* gw/wtp_send.c: Continued conversion to use of wtp_pdu.
	Next step is to handle resends better, but that requires
	changes to the state machines.

2000-06-05  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.[ch]: Change conn_flush interface so that it can
	block, and tries to send all queued output.  This makes it more
	useful for threads that only want to do output and do not want
	to wake up for input.

	* gwlib/gwthread-pthread.c: Make gwthread_pollfd return -1 when
	poll() fails with EINTR, instead of 0, so that 0 can be relied
	on to mean timeout.
	 
2000-06-05  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Implemented conn_open_tcp().
	Fixed conn_read_withlen, which I broke a few days ago.

	* gwlib/conn.c: Split the single Connection lock into two locks,
	one for reading and one for writing.  This allows reader and
	writer threads to work without fighting over one lock.  Only
	conn_wait needs both locks.

	* test/drive_wapbox.c: Take advantage of some new octstr functions.

2000-06-05  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread.h, gwlib/gwthread-pthread.c: Renamed
	gwthread_join_all to gwthread_join_every, and added a
	gwthread_join_all that joins ALL threads.  Added gwthread_wakeup_all
	to match.

	* gwlib/gwthread-pthread.c: Fix use of pipe(); reading and
	writing fd's were reversed.

2000-06-05  Richard Braakman  <dark@wapit.com>

	* gw/wsp.c: Installed Joerg Pommnitz's patch for correct parsing
	of WSP capabilities.

2000-06-05  Tuomas Luttinen  <tuo@wapit.com>

	* test/decompile.[ch]: A WML decompiler by Chris Wulff, Vanteon.
	
	* test/wml_tester.c: A patch by Chris Wulff, Vanteon added to produce 
	pure binary files. A little cleanup.

2000-06-05    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_smsc.c: changed sleep(1) to usleep. A bit more busier
	loop, that new interface is really needed

	* gw/numhash.c: removed some warnings

Mon Jun  5 10:32:41 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Fixed bug that was caused by not duplicating an
	octet string while copying it. Also fixed a memory leak.
	
	* gw/wtp_pdu.[ch]: Added function wtp_pdu_create. Also added
	wrappers around wtp_pdu.h to prevent problems when including
	many times, and added an include for gwlib/gwlib.h, so that
	the caller does not have to deal with that.
	
	* gw/wtp_send.c: Started conversion to using wtp_pdu.c instead
	of packing everything by hand. The basic PDUs are now converted.
	The negative ACK and some other ones are not, because I wasn't
	certain how they work, right now, and am too tired to understand
	the spec (probably too tired to hack, but I ran a fakewap test
	after each change to make sure I didn't break things too badly).

Sun Jun  4 07:32:59 2000  Lars Wirzenius  <liw@wapit.com>

	* Re-vamped the WTP layer to use a thread structure similar to WSP.
	All code referring to segmentation and re-assembly has been deleted
	(this was simpler for me - it wasn't used anyway, and we can dig it
	out of CVS if we want it later). Error handling also suffered, but
	on the other hand, the current structure should be easier to make
	robust.
	
	* gw/wap-events-def.h: Events generated from PDUs now have the
	address of the client and the gateway included in the event.
	This means we can use a trivial wtp_dispatch_event function
	interface, without having to carry around the addressing information
	separately.
	
	Other events that the WTP layer may receive include a `mid'
	(machine id) field for finding the correct WTPMachine. The ultimate
	goal it so make the WTPMachine data type hidden within WTP, so
	that there are no direct pointers to the machines.
	
	* gw/wapbox.c, gw/wsp.c, gw/wsp_state-decl.h: Use
	wtp_dispatch_event to send an event.
	
	* gwlib/gwthread-pthread.c: Commented out call to pthread_setspecific
	that was hanging shutdown. The real reason is probably somewhere
	else, but I didn't find it, so this workaround is used to make
	things at least seemingly work.

Sun Jun  4 04:38:02 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp_state-decl.h: Use WSP_PDU's, instead of
	packing things ourselves, as far is possible. Some fields have
	special packing encodings, those we do partly ourselves still.
	
	* gw/wsp_pdu.c: Don't crash if OCTSTR field is NULL, just ignore
	it.

Sun Jun  4 03:45:45 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.c: wap_event_dump now reports name of Octstr
	fields.
	
	* gw/wsp_pdu.c: bit position is advanced correctly when unpacking
	a Uintvar. Also, dump tells when the dump ends.
	
	* gw/wsp_state-decl.h: Duplicate the URL octet string.
	
Sun Jun  4 02:36:10 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_pdu.[ch]: Added function wsp_pdu_create, which creates
	an (empty) PDU of the desired type. Made the warning about an
	unknown PDU type in wsp_pdu_destroy be a panic instead.

	* gw/wsp.c, gw/wsp_state-decl.h: Converted to use wsp_pdu.[ch]
	for unpacking. We have issues with packing: at least some fields
	need to be packed in a special way, and this needs to be handled
	in a clean way.

Sun Jun  4 01:03:55 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/protected.[ch]: Added wrapper for gethostbyname.
	
	* gwlib/socket.c: Made use of wrapper.

Sun Jun  4 00:52:22 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/protected.[ch]: Wrote thread-safe wrappers around 
	standard library functions gmtime, localtime, and rand. Note
	that this is just a beginning, we should wrap many more functions.
	
	* gw/urltrans.c, gwlib/gwlib.[ch], gwlib/log.c: Made use of the
	wrappers.

Sun Jun  4 00:20:19 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/numhash.c: Added typecasts to silence compiler warnings. Kalle,
	please fix it properly so it uses unsigned chars.

Sun Jun  4 00:06:23 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.c: Added assertions to wap_event_name. Added
	calls to wap_event_assert. Event duplication now also works for
	NULL arguments. Fixed wap_event_assert (i.e., reduced the number
	of checks it makes - it was overly aggressive).
	
	* gw/wsp.c: Added calls to wap_event_assert.

2000-06-03  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.[ch]: Added octstr_append_uintvar.

	* gw/wsp_pdu.[ch], gw/wsp_pdu.def: Do the same for WSP PDU's.

	* gw/wtp_pdu.c: Bugfixes.

	* test/test_pdu.c: Test WSP data too.

2000-05-31  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.[ch]: Added octstr_get_bits and octstr_set_bits.

	* gw/wtp_pdu.[ch], gw/wtp_pdu.def: Deliberate preprocessor abuse
	to automate PDU packing and unpacking.  First draft; works for
	simple test cases, needs more documentation.  Not used by anything
	else yet.

	* test/test_pdu.c: Test program for above.

2000-05-31  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (string_table_add): A bug fixed. The string 
	didn't match any in the table, since it didn't have a termination 
	character at the end of it as those in the table. Also string has 
	to be destroyed if it has already a duplicate in the table.

2000-05-30  Kalle Marjola <rpr@wapit.com>

	* gw/bb_smsc.c: added white and black lists.

	* doc/userguide/newconf.txt: added 'documentation' about white and
	black lists

2000-05-30  Kalle Marjola <rpr@wapit.com>

	* gw/numhash.h|c: exported numhash from old smsgateway and edited
	it to work with new http2 and Octstrings, plus removed some
	functions. Next: implement white/black-list

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gw/smsbox_req.c: Fixed silly mistake.

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Implemented conn_read_packet().

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gw/bb_boxc.c: If listening socket cannot be opened, handle it
	by panicking rather than segfaulting.

2000-05-29  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: #ifdefs added to supprt libxml2. Does compile, 
	but does not work with it, yet. WapIT -> Wapit

	* gw/wml_definitions.h: WapIT -> Wapit

	* gw/wml_compiler.h: WapIT -> Wapit

	* configure.in: libxml2 added.

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gw/smsc.c: Made bearerbox not crash if "smsc" field is missing
	from smsc config.

	* gwlib/gwthread-pthread.c: Comment around previous change was
	inaccurate; it was an fd leak on Linux too.

2000-05-29  Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* gwlib/gwthread-pthread.c: Added some system cleanups to 
	delete_threadinfo.  Threads are not always processes!

2000-05-29    Kalle Marjola <rpr@wapit.com>
	
	* gw/bb_boxc.c: fixed possible problem in box shutdown and added
	multiple wapbox routing. It is, however, not done according to
	load levels, just random distribution. Load balancing later.

2000-05-29  Richard Braakman  <dark@wapit.com>

	* test/fakewap.c: Use gwthread_join_all to wait for client threads
	to terminate.

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: In new_thread, free its argument a bit
	earlier, to avoid a race with gw_check_leaks.  (This caused seemingly
	random memory leak reports).

	* gwlib/conn.c: Use gwthread_pollfd instead of calling poll directly.

2000-05-29  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread-pthread.c: Made gwthread_create fail gracefully
	if there are more active threads than the module can handle, rather
	than panicking.

Sat May 27 06:39:51 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.[ch]: Added wap_event_assert function.

Sat May 27 02:50:09 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwthread.[ch]: Added function gwthread_join_all, which
	joins all threads running a specific function.
	
	* gw/wap-appl.c, gw/wapbox.c, gw/wsp.c: Use gwthread_join_all to
	synchronize shutdown properly.

Sat May 27 02:05:41 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.c: Only the fields for the correct event type
	are dumped by wap_event_dump.
	
	* gw/wapbox.c: Uncommented code to get heartbeat-freq setting
	from config. Added some shutdown code.
	
	NOTE: The wapbox does not currently shutdown correctly. Thread
	termination synchronization is not done and this causes a
	segfault at the end. Will hack that next.
	
	* gw/wap-appl.c: Event queue is emptied and destroyed at shutdown.
	
	* gw/wsp.c, gw/wsp_state-decl.h, gw/wtp_state-decl.h:
	Work started on making a global event queue for all
	WSPMachines. wsp_dispatch_event now the only external method
	for sending events to WSP. Its interface has been changed so
	that it only gets the event and will look inside the event to
	find addressing info - the WTPMachine is no longer needed to be
	given as the argument for this. A number of previously available
	functions are now static and must only be used from within the
	WSP layer.
	
Sat May 27 02:02:33 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwthread.h, gwlib/gwthread-pthread.c: Name of function
	made as the name of the thread.

Fri May 26 21:05:29 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/start-stop-daemon.c: Added pid_is_cmd for FreeBSD.

Fri May 26 21:01:41 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http2.c: Compare header names case-insensitively.

Fri May 26 20:47:06 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-appl.h: Moved to gw/wsp.h. Don't want a zillion small
	.h files, after all.
	
	* gw/wsp.h: Added prototypes for the application layer.

2000-05-26  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Converted conn_claim() stuff to use new thread
	interface.

	* gwlib/gwthread-pthread.c: Bugfix, make sure the main thread
	can still safely call gwthread_self after shutdown, so that gwmem
	layer can log stuff.

	* gwlib/thread.c: Converted mutex->owner to use new thread
	interface.

Fri May 26 20:34:01 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-appl.[ch]: Wrote. This is the new application layer.
	This version is ugly - essentially I just moved code in here
	from the old wsp_http.c - but I want to clean it up before I
	break it further.

	* gw/wsp_state-decl.h: Use S_MethodInvoke_Ind instead of
	S_MethodInvoke_Res and wap_appl_dispatch instead of
	wsp_http_thread.

	* gw/wap-events-def.h: Added S_MethodInvoke_Ind, removed most
	fields from S_MethodInvoke_Res, since they're now unnecessary.
	
	* gw/wapbox.c: Starts the application layer.
	
	* gw/wsp.c: Added #include for wap-appl.h.
	
	* gw/wsp.h: Removed prototype for wsp_http_thread.
	
	* gw/wsp_http.c: Removed.

Fri May 26 19:05:09 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wap-events.[ch], gw/wap-events-def.h: Combined WTPEvent and
	WSPEvent into a unified WAPEvent. This makes it slightly easier
	to find the events (no need to wonder whether a TR-Invoke.ind is
	a WTP or WSP event, for example), and reduces code duplication
	a bit.
	
	* gw/wsp_events-decl.h, gw/wtp_events-decl.h: Removed.
	
	* Lots of files: WTPEvent and WSPEvent and related function calls
	changed to WAPEvent and its functions.

	* gwlib/http2.c: http2_header_dump works now even with a NULL
	argument.

2000-05-26  Richard Braakman  <dark@wapit.com>

	* gwlib/gwthread.h: New thread interface.  Encapsulates thread
	creation, and provides features for interruptible sleeping and
	blocking.  Can eventually be extended to wrap all of pthreads,
	if desired.

	* gwlib/gwthread-pthread.c: Implementation of thread interface
	with pthreads.

	* gwlib/gwlib.h: Include gwthread.h too.

	* gwlib/gwlib.c: Initialize and shut down gwthread module along
	with the rest.

	* gw/bb_boxc.c, gw/bb_http.c, gw/bb_smsc.c, gw/bb_udp.c,
	gw/bearerbox.c, gw/smsbox.c, gw/smsbox_req.[ch], gw/wapbox.c,
	gw/wsp.h, gw/wsp_http.c, gw/wsp_state-decl.h, 
	test/drive_wapbox.c, test/fakewap.c, test/test_counter.c,
	test/test_http2.c, test/test_http2_server.c, test/test_list.c:
	Use gwthread_create instead of start_thread.
	Thread functions are now void functions instead of (void *)
	functions, so removed all the "return NULL" and changed the
	declarations.
	Use long instead of pthread_t as the thread identifier.
	Use gwthread_join instead of pthread_join.

	* gwlib/log.c: Use gwthread_self() instead of pthread_self()
	to get the thread number to log.

	* gwlib/thread.[ch]: Removed start_thread function.

Fri May 26 17:14:18 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/arch/wapbox-arch.fig: New figure showing the planned
	wapbox architecture. (Not visible in the actual documentation
	yet, though.)

Fri May 26 16:59:03 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http2.c: Destroy temporary header list in
	http2_type_accepted.

Thu May 25 21:46:04 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http.[ch], test/test_http.c: Removed.
	
	* gwlib/http2.[ch]: Added a number of header handling functions.
	Also added many assertions.

	* gw/wsp.[ch], gw/wsp_headers.[ch], gw/wsp_http.c,
	gw/wsp_state-decl.h: Converted to use http2 instead of http for
	header handling.

2000-05-25    Kalle Marjola <rpr@wapit.com>

	* gw/bb_smsc.c: fixed some lock-ups during violent shutdown

2000-05-25  Richard Braakman  <dark@wapit.com>

	* test/fakewap.c: Sanitized tid handling.  It's now local to the
	client thread, rather than global.  Each client should have its
	own tid space anyway.

Thu May 25 18:45:15 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwlib.[ch]: gwlib_shutdown now always calls gw_check_leaks,
	to check for memory leaks. Added function gwlib_assert_init, to
	allow gwlib code to verify that gwlib has been initialized.

	* gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c, test/drive_wapbox.c,
	test/fakesmsc.c, test/fakewap.c, test/test_cimd2.c,
	test/test_counter.c, test/test_http.c, test/test_http2.c,
	test/test_http2_server.c, test/test_list.c, test/test_mem.c,
	test/test_msg.c, test/test_udp.c, test/test_urltrans.c,
	test/wml_tester.c: Fixed to call gwlib_init and gwlib_shutdown
	instead of gw_init_mem and gw_check_leaks.
	
	* gwlib/octstr.c: Call gwlib_assert_init in seems_valid.

Thu May 25 16:52:22 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bb_smsc.c: Removed unused variable `ret'.

2000-05-25    Kalle Marjola <rpr@wapit.com>

	* gw/smsc.c, gw/smsc.h, gw/smsc_p.h, gw/bb_smsc.c: removed old
	dial-prefix (use global unified-prefix) and route-prefix, and
	added new denied-prefix and preferred-prefix, see details from
	documentation
	
	* doc/userguide/newconf.txt: added notes of preferred-preix and
	denied-prefix

2000-05-25    Kalle Marjola <rpr@wapit.com>

	* gw/smsc.h|c: got rid of bb_msg

	* gw/bb_smsc.c: modified to use just plain Msg
	
	* gw/bb_msg.*, gw/boxc.*, gw/wdp_udp.*: removed, not used anymore

2000-05-25    Kalle Marjola <rpr@wapit.com>

	* gw/bb_smsc.c: added number normalization/unifying, via
	configuration variable unified-prefix. 

	* doc/userguide/newconf.txt: added explanation of unified-prefix

2000-05-25    <Kalle Marjola <rpr@wapit.com>>

	* gw/*box.c: changed default configuration file to be
	kannel.conf. Please note that there is NO such file, but two
	sample files, smskannel.conf and wapkannel.conf

2000-05-24    <Kalle Marjola <rpr@wapit.com>>

	* doc/userguide/userguide.xml: Removed old configuration file
	things, read the newconf.txt file. Did same to HTTP adminstration
	notes, read file newbb.txt

	* doc/arch/arch-bearerbox.xml: Rewrote to reflect the new
	bearerbox. Have to do it a bit more deeply someday, however. And
	pictures, too.

	* gw/wsp.c: Applied a short WSP header patch by Joerg Pommnitz to
	handle broken headers from Timeport

	* test/simple.smsconf: removed

2000-05-24  Richard Braakman  <dark@wapit.com>

	* gw/wsp_http.c: Fixed Accept header scanning in wsp_http_thread.

2000-05-24    <Kalle Marjola <rpr@wapit.com>>

	* doc/userguide/newconf.txt: added documentation about new
	configuration file

	* doc/userguide/newbb.txt: added documentation about new
	bearerbox

	* gw/bearerbox.c: moved new bearerbox into final name, old
	bearerbox removed from the project

	* gw/smskannel.conf, gw/wapkannel.conf: added new sample
	configurations

	* gw/kannel.*conf: removed old configuration defination files

	* test/sample.*conf: removed old sample configurations

	* gw/smsbox.c, gw/urltrans.c, gw/wapbox.c: edited to use new 
	configuration file

	* README: updated

2000-05-24  Richard Braakman  <dark@wapit.com>

	* test/test_cimd2.c: Written a while ago, added to CVS today.
	Might be useful for people doing speed tests of sms handling.
	
2000-05-23    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/http2.c|h: moved destroying functions here, and changed so
	that http2_socket_host does not duplicate the octstr but returns
	reference

	* gw/bb_http.c: check for password of the admin

	* gw/smsbox*.c moved cgi and destroy functions to http2
	
2000-05-23    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_http.c: check for allow/deny IP for http admin
	
2000-05-23    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/socket.h|c: added host_ip to get, well, host IP. That
	needed mutex because ntoa operation is not thread-safe, so added
	socket_init and shutdown, too

	* gwlib/gwlib.c: calls to socket_init and shutdown
	
	* gwlib/http2.c: get client host IP

	* gwlib/utils.c|h: added is_allowed_ip function

	* gw/bb_core.c: options -S and -I to start new bearerbox in
	suspended or isolated state

	* gw/bb_boxc.c: check for client allowed/denied IP

2000-05-23  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: Fix free-port-hunting code for fake httpd.

2000-05-23  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: The maximum message length was always set to 140.
	It should be 160 for normal (non-UDH, non-8bit) messages.  Fixed.

2000-05-22    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/utils.c|h, gw/bearerbox.c: moved normalize_number to
	utils module from old bearerbox

	* gwlib/http2.h|c: first version of http2_socket_ip, although
	not yet working with servers, beware

2000-05-22  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.h, gwlib/conn.c: Made output buffering explicit instead
	of hidden in the interface.  (We can't hide it with 100% correctness
	if there are multiple threads using the Connection, not all of which
	are in a conn_wait loop).
	Added conn_output_buffering and conn_flush functions.

	* test/drive_wapbox.c: Made the fake httpd return a real wml page,
	for better testing.  (This exercises the WML compiler).
	Cleaned up some memory leaks.

2000-05-22  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.h, gwlib/conn.c: Extended to handle end-of-file better.
	Added conn_eof function.

	* test/drive_wapbox.c: Use conn_eof.

2000-05-22  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: Make setting the U/P flag optional, with
	the -U flag, because Kannel no longer (erroneously) requires it.
	Also have its internal httpd supply a Content-Type header.

2000-05-22    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/http2.c|h: implemented function http2_destroy_headers

	* gw/bb_core.c: some update to status information

	* gw/bb_http.c: fixed last memory leaks, now the new system should
	not leak memory at all. Still misses cgibin arguments because of
	the lack of operations in http2.

2000-05-18  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsfalloc.c: Make ws_f_malloc return blocks aligned
	to sizeof(long), to prevent unaligned accesses.  This should fix
	the bug reported by Lim YoungLan, but I can't test that here.

2000-05-17    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/counter.c|h: renamed counter_get as counter_increase and
	added function counter_value.

	* test/test_*.c, gw/wsp.c: changed counter functions

	* gw/smsc.c, gw/smsc_fake.c: started a project that smsc_close
	will eventually free all memory it has reserved. Fake does this
	already, rest do not, and close is a bit weird for those right
	now.

	* gw/bb_*.c: added counters for messages, fixed some timing
	problems.

2000-05-17  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Now variables use the string table. Some fixing 
	for reducing numbers of the memory allocations and reallocations is 
	needed.

2000-05-17    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: Some final cleanup added

	* gw/smsc_fake.c: smsc_close now destroyes eveyrhing. Should add
	this functionality to other SMSCes, too, and rename it as _destroy

2000-05-17  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: Memory leak now fixed.  Added includes
	needed by accept().

2000-05-17  Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: Two bugfixes: rid to 0, when the result is
	sended first time (thanks to Oliver Lau), conditions checking
	whether u/p-flag is up corrected.

2000-05-16    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/list.c|h: added function list_producer_count

	* gw/bb_*.c: smsc thingies are now somehow working. Does not work
	very well with multiple smsces, however.

2000-05-16  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Memory leaks with variables removed. 
	String table code mostly done, nrext thing is to start to use it.

	* gwlib/octstr.[ch]: octstr_create_tolower removed as unnecessary.

2000-05-15  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.[ch]: Found some more things to fix while writing
	drive_wapbox.  Interface is almost stable now.

	* gwlib/thread.c: Added some assertions for mutex not being NULL.

2000-05-15  Richard Braakman  <dark@wapit.com>

	* test/drive_wapbox.c: A tool to run the wapbox in isolation,
	for easy profiling.

2000-05-15    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: Now most memory leaks are fixed, the new bearerbox
	dies quite nicely and can handle exiting wapboxes and new
	connections. Still needs much testing and there is some mysterios
	things not freed at the end, so back to work. 

Mon May 15 16:07:00 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Report character set when fetch is successful.
	
	* gwlib/http2.c: Fix parsing of character set from Content-Type.
	
	* test/test_http2.c: Report reply headers.

Mon May 15 15:59:32 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Do not require resp_headers to be non-NULL.
	Instead, only destroy it if it is non-NULL. Fixes bug #69
	by Kalle Marjola.

Mon May 15 15:06:16 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Undid broken changes to how HTTP headers are
	generated.
	
	* gwlib/http2.c: Dump to log file the headers used in the request.

2000-05-15  Richard Braakman  <dark@wapit.com>

	* wsp_http.c: octstr_destroy(key_os) and (value_os) moved into the
	loop, so that it's not a memory leak.

2000-05-11   Aarno Syvnen <syvanen@wapit.com>

	* wsp_http.c: Using octstr_compare instead of strstr in conditional 
	header addition. There was some curious problem with strstrs.

	* wsp.c: Changed Can't handle event error code to 0xEO. This is user
	protoerr.

Fri May 12    Derry Hamilton <rasilon@tardis.ed.ac.uk>
	* fakewap.c: Added -F switch which enables continue on fail
	rather than exit on fail. (Stress testing)

2000-05-11    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: suspend and isolate status now in work. System still
	leaks memory somewhere and some things are missing, but WAP
	browsing works fine with new bearerbox.

2000-05-11  Richard Braakman  <dark@wapit.com>

	* configure.in, configure: Made it not look for getloadavg.c
	on systems that have no getloadavg().

2000-05-11    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_http.c: Oooops, added

	* gw/bb_*.c: added signal trapping and (shutdown) flow-control.
	Still need some new List operations to free all memory while
	exiting.

2000-05-10    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: and more, now some HTTP adminstration 'works'
	(implementation partial in other modules)

Tue May  9 Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gw/wapbox.c,configure.in,configure: Updated getloadavg bits to
	search for getloadavg, rather than just assume that it exists
	on Solaris.
	* utils/start-stop-daemon.c: Fixed typo.

Tue May  9 23:03:26 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem-check.c: Fixed so that fill doesn't have a pointer
	alignment bug.

Tue May  9 22:53:22 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http2.c: Bugfix. Host header should include port number
	if the URL had a non-default one.

Tue May  9 20:53:25 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Report status code returned by http2_get_real
	if it fails.
	
	* gwlib/http2.c: Added includes for sys/types.h and sys/socket.h.
	This should silence warnings about accept being undeclared.

Tue May  9 20:01:45 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in: Make it allow random junk before the version
	number in the output of xml-config. Based on patch from
	Gus <angus@z-y-g-o.com>.

000-05-09  Derry Hamilton <rasilon@tardis.ed.ac.uk>

        * gwlib/socket.c: Changed the calls to info to calls to error
	when something has gone wrong.
	* gwlib/list.c: Added gw_asserts to some of the list functions.
	The problem is higher up, though.
	* gw/wsp_http.c:  Added gw_asserts to some of the URL handling
	a call to an invalid protocol causes problems.

Tue May  9 19:31:44 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/start-stop-daemon.c: Hand-applied patch from David
	Reid for FreeBSD support. No way to test if I did it correctly,
	hopefully kannel-nag or a FreeBSD user will complain.

2000-05-09  Richard Braakman  <dark@wapit.com>

	* gw/smsc.c: system-type and address-range are also required
	for SMPP configurations.

2000-05-09    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_*.c: something new, many things still missing

2000-05-09  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c, gwlib/conn.h: Added octstr_read_withlen and
	octstr_write_withlen.  Also fixed errors in unlocked_get().

2000-05-09  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gw/wapbox.c, configure.in, configure, utils/start-stop-daemon.c:
	Cleaned up SunOS definition

2000-05-08  Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gw/wapbox.c: Implemented load reporting for Solaris

2000-05-08  Richard Braakman  <dark@wapit.com>

	* Made all sig_atomic_t variables volatile, because there is no
	reason to use sig_atomic_t otherwise.

2000-05-08  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c: Commented static functions.
	Added unlocked_outbuf_len and unlocked_inbuf_len helper functions.
	Added unlocked_try_write helper function, to implement output
	buffering.  Implemented conn_wait.

2000-05-08  Richard Braakman  <dark@wapit.com>

	* test/fakewap.c: Fixed -n flag.

2000-05-07    Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/socket.c: Fixed tv_usec > 1000000 handling.

2000-05-05    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_smsc.c: Now it is half done. However, the old
	smsc_interface should be redone, now idea to use old rq-items
	anymore in new design. Back to work on Monday

	* gw/bb_*.c: fixed some places causing warnings

2000-05-05 Aarno Syvnen <syvanen@wapit.com>

	* wtp_tid.c|h: Module now uses list standard functions

	* wtp_state-decl.h: Commented

2000-05-04    <Kalle Marjola <rpr@wapit.com>>

	* gw/bb_core.c: logfiles

	* gw/bb_boxc.c: added basic routing thingies, now it only needs
	some load balancing to wap side, otherwise this module is about
	complete.. oh I forgot the dynamic configuration, but that later -
	the old one does not have it either

	* gw/bb_udp.c: added routing, now this function is about ready,
	except dynamic configuration and some testing etc.

2000-05-04  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.c, gwlib/conn.h: Got rid of network_long functions.
	The interface is so awkward that it's just as easy for the caller
	to fill a 4-octet buffer and provide that.

	* gwlib/octstr.h, gwlib/octstr.c: Added functions octstr_write_data
	and octstr_append, used by the new Connection code.

	* gwlib/http2.c: Removed static octstr_append, superseded by the one
	in the octstr module.

	* gwlib/conn.c, gwlib/conn.h: conn_read interface was not useful.
	Renamed to conn_read_fixed(), made it return exactly the number
	of bytes specified.

	* gwlib/conn.c code fleshed out some more, but several functions
	still not implemented.

2000-05-04  Richard Braakman  <dark@wapit.com>

	* gw/wsp_http.c: In wsp_http_thread(), do not destroy charset
	until after it is used by the converters.

Thu May  4 18:35:24 2000  Lars Wirzenius  <liw@wapit.com>

	* Making *DEVELOPMENT* release 0.9. This is not stable, don't use
	it in production use.

2000-05-04    Kalle Marjola <rpr@wapit.com>

	* gw/bb_core.c, gw/bb_boxc.c, gw/bb_udp.c, gw/bb_smsc.c,
	gw/new_bb.h: added first version of the new bearerbox. 
	WAP-browsing works, but bearerbox is missing signal handling, 
	HTTP adminstration, log files, SMSC support, wapbox routing 
	and many, many more things. 

	* gw/new_kannel.conf: new configuration file type used by the new
	bearerbox. Documentation later.

	* Makefile.in: added target for bb_core, the new bearerbox proto

2000-05-04    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/conffile.c|h: more changes so that all functions needing
	ConfigGroup work with NULL argument, returning just NULL

2000-05-03  Steffen Weinreich  <steve@weinreich.org>

	* smsc_emi.c: Fixed the EMI code for UDH and added an initialisation
	for the TRN counter. This fixes the error with negative TRN if there
	wasnt a message received before  the first send
	

2000-05-03  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wsp_http.c: Added the charset support here too. Now it's still 
	needed in html2.

	* test/wml_tester.c: Rewrote most of the main-function, started 
	using getopt for options. The charset stuff was added too.

	* gw/wml_definitions.h: The pile of definitions and static arrays 
	just grew too huge. Added an own file for them.

	* gw/wml_compiler.[ch] : The WML compiler now recognises the 
	most common character sets from ISO-8859-series(1-9) and UTF-8.
	It is now easy to add new 8-bit character sets into it.

2000-05-03  Richard Braakman  <dark@wapit.com>

	* inet_aton is not used anywhere.  Removed definition from
	gwlib/socket.c, and removed all configure checks for its
	existence.

	* Removed unused linger() code from tcpip_connect_to_server.
	We have CVS for storing dead code.

2000-05-03  Richard Braakman  <dark@wapit.com>

	* configure.in, config.h.in, configure: Added --enable-mutex-stats
	option.

	* gwlib/thread.c, gwlib.thread.h, gwlib/gwmem-check.c: If mutex
	stats are enabled, log statistics about mutex usage.

	* gwlib/thread.c: Make mutex_try_lock silently ignore recursive
	locks again.

Wed May  3 15:04:57 2000  Lars Wirzenius  <liw@wapit.com>

	* contrib/html2wml.pl: Added script to convert WML to HTML,
	by Taneli Lepp. This is not used yet - Kannel lacks a way to
	add external converters (see the status page for the relevant
	project). But I guess I should archive it in my mail inbox.
	
	* README.src: documented the contrib directory.

2000-05-03  Richard Braakman  <dark@wapit.com>

	* doc/CodingStyle: Added note about not putting large arrays on
	the stack.  Maybe we can fix the pthread_attr_setstacksize problem
	this way.

Wed May  3 12:20:32 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwlib.c: New file to hold new functions gwlib_init and
	gwlib_shutdown.

	* gwlib/gwlib.h: Added prototypes for gwlib_init and
	gwlib_shutdown.
	
	* gw/wapbox.c: Call gwlib_init (instead of gw_init_mem) and
	gwlib_shutdown.
	
	* gw/wsp_http.c: Removed commented out code that called old
	WML compiler. Converted to use new HTTP code.

Tue May  2 22:01:06 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c: sendsms_thread in internal smsbox commented
	out, because it was pointless converting it to the new HTTP,
	since it will disappear in the re-write.
	
	* gw/smsbox.c, gw/smsbox_req.c: Converted to use new HTTP.
	
	* gw/http2.[ch]: Wrote function http2_socket_fd.
	http2_server_send_reply modified to accept NULL arguments for
	headers and body.
	
	* gwlib/socket.[ch]: Wrote function socket_get_peer_ip.

Tue May  2 20:19:45 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/html.[ch]: Converted html_ functions to use Octstr instead
	of C string.
	
	* gw/smsbox.c: Undid rpr's undoing of my change to get rid of
	send_hearbeat's static variable. It's a memory leak. We don't want
	memory leaks. In this case, it is of a fixed size, but it's annoying
	in the gw_check_leaks report.
	
	Also added calls to http2_init and http2_shutdown.
	
	* gw/smsbox_req.c: function obey_request converted to use http2
	and Octstr.
	
	* gwlib/http2.c: Removed verbose "Re-using old socket" message.
	Also removed redundant checking of http2_get's return value in
	http2_get_real.
	
	* gwlib/octstr.[ch]: Wrote octstr_search_cstr_from.

2000-05-02  Richard Braakman  <dark@wapit.com>

	* gwlib/conn.h, gwlib.conn.c: Initial framework for Connection module.

2000-05-02  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Do not specify sms sender on outgoing messages.
	Explanation is in the code.

2000-05-02 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: In function add_segment_to_message, removed a static
	variable.  in function tell_about_error, fixed a memory leak,

2000-05-02    <Kalle Marjola <rpr@wapit.com>>

	* doc/userguide/userguide.xml: added notes on UDH sending

2000-05-02 Aarno Syvnen <syvanen@wapit.com>

	* wsp_state-decl.h: Commented how implementation state machine 
	corresponds ones defined by the specs. 

2000-05-02    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/conffile.c|h: modified some functions to work even with
	NULL arguments, to reduce checking in calling functions

2000-04-27  Richard Braakman  <dark@wapit.com>

	* gwlib/thread.c: Unlike every other C library function, 
	the pthread functions return their error code rather than
	setting errno.  Changed all uses of errno in this file to
	use the returned values instead.
	While I was there, made all functions use the same indentation
	width (the file was mixed).

	* gwlib/thread.c: Made mutex_try_lock panic if it managed
	to lock the same mutex twice, rather than trying to cope.
	This is consistent with mutex_lock, and helps us stay portable.

	* gw/smsbox_req.c: Removed unused call to pthread_self.

	* gwlib/log.c: Cast pthread_self() to long rather than to int,
	for printing.

2000-04-27  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c, gwlib/octstr.h: New functions 
	octstr_binary_to_base64 and octstr_base64_to_binary.
	Also made octstr_grow reserve space for the terminating NUL,
	so that the caller doesn't have to and can't forget.

2000-04-27  Richard Braakman  <dark@wapit.com>

	* gwlib/list.c: Make list_destroy() silently ignore a NULL
	argument, like all the other destroy functions.

2000-04-27  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem-check.c: In fill(), do arithmetic with long *
	instead of void *.

2000-04-27    <Kalle Marjola <rpr@wapit.com>>

	* gw/smsc_sema.c: some fixes and updates by Hao Shi

2000-04-27  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem.h: Move prototype declarations out of the #if
	construct, because all of them are compiled though only one
	set is used.

2000-04-26  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd2.c: Wrote.  Support for CIMD2 servers.

	* gw/smsc.c: Added CIMD2 hooks to all the multiplexer functions.
	Added support for "keepalive" option with CIMD2 needs.
	Fixed memory leak when smscenter_receive_message fails.

	* gw/smsc_p.h: Added SMSC_TYPE_CIMD2, and cimd2 fields to the
	shared structure.  Added prototypes for cimd2 interface.

	* gw/kannel.conf: Add example configuration group for CIMD2.

	* doc/CodingStyle: Add bb.sms.cimd2 to the list of debug areas.

	* gwlib/charset.c, gwlib/charset.h: Wrote.  Contains functions
	for converting between ISO-Latin-1 and the GSM default alphabet.
	Used by CIMD2 code.

	* gwlib/gwlib.h: Include "charset.h" as well.

Wed Apr 26 16:40:41 2000  Lars Wirzenius  <liw@wapit.com>

	* Making relase 0.8.

Wed Apr 26 15:34:17 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.h: Fixed prototypes for native wrapper.
	
	* gwlib/socket.c: Commented out SO_LINGER settings and added
	more detailed error reporting.

2000-04-26    <Kalle Marjola <rpr@wapit.com>>

	* gw/bearebox.c: added VERSION to status query

	* gw/boxc.c: commented out debug print of 0 load factor

	* gw/smsc_sema.c: new version by Hao Shi

	* test/sample.conf: made it to work along with configuration
	rename by Lars

Sun Apr 23 23:44:30 2000  Lars Wirzenius  <liw@wapit.com>

	* README.autoconf: Obsolete, thus removed.

Sun Apr 23 23:37:40 2000  Lars Wirzenius  <liw@wapit.com>

	* config.h.in, configure.in: Made it configure-time selectable
	whether to use the debugging features of gwmem or not.
	
	* gwlib/gwmem.c: Removed. Actually, split into gwmem-native.c and
	gwmem-check.c.

	* gwlib/gwmem.h, gwmem-native.c, gwmem-check.c: Separated the
	checking and non-checking implemenations. The term `native' is
	chosen to allow for a third option: `fast'. This will not do
	checking, but will reduce the number of actual malloc calls made.
	
	* gwlib/gwstr.c: Replaced includes with a simple "gwlib.h",
	so as to make sure config.h is included properly.
	
	* gwlib/octstr.c, test/test_mem.c: Fixed to conform to new
	interface of gw_assert_allocated.

Sun Apr 23 22:38:18 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp_send.c: When re-sending a message, create a duplicate of
	the message to be sent. Related to PR44 by Paul Keogh.

Sun Apr 23 21:45:36 2000  Lars Wirzenius  <liw@wapit.com>

	* test/wapbox_feeder.c: Obsolete, thus removed.

Sat Apr 22 23:47:33 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in, config.h.in: Added option --enable-http2. Files
	that start using http2.h should do it conditionally based on
	USE_HTTP2. This allows us to easily switch between the old and
	new implementations.

Sat Apr 22 23:35:27 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http2.[ch]: Implemented GET CGI argument parsing.

Sat Apr 22 22:55:05 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http2.[ch]: Moved PoolSocket's out of .c into .h and
	renamed them to HTTPSocket. This is because the server also
	needs to use them to keep implementation work easy. Thus, the
	server is represented as an HTTPSocket, not an int. Re-arranged
	some of the internal functions in .c regarding this.
	
	Oh yes, I implemented a bit of the server side part of the
	protocol as well. Need to do CGI argument parsing still.
	
	* test/test_http2_server.c: Wrote test program for server side.

Sat Apr 22 21:07:11 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.[ch]: Now report the name of the calling function
	as well as the file and source line (this requires a compiler
	that supports __FUNCTION__). Also, added gw_assert_allocated
	for checking that a pointer points at an allocated area.
	
	* gwlib/octstr.c, test/test_mem.c: Made use of gwlib/octstr.c.
	
Sat Apr 22 19:28:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.c: Turned memory checks back on by default.
	
	* gwlib/http2.c: If reading the status fails, close the connection
	and open a new one. If that also fails, *then* report to caller.
	It seems sometimes at least Apache manages to close the connection
	(even though it hasn't been idle for several milliseconds) *after*
	we have sent the request. This masks such a temporary error from
	the library user.
	
	Also, bug fix: We look for an *unused* PoolSocket instead of a
	used when, when allocating.
	
	* test/test_http2.c: Made it possible to run many threads do many
	client operations.

Sat Apr 22 02:57:22 2000  Lars Wirzenius  <liw@wapit.com>

	* test/run-http2-tests, test/test_http.c: Added -s option to
	old HTTP tester as well, and made test/run-http2-tests compare
	the results of the old and new ones as well as lynx.

Sat Apr 22 02:40:38 2000  Lars Wirzenius  <liw@wapit.com>

	*  gwlib/http2.[ch]: Wrote. This is the beginning of the new
	HTTP implementation.

	* test/http2-test-urls, test/run-http2-tests, test/test_http2.c:
	Testing harness for the new HTTP implementation.

	* gwlib/octstr.h: Fixed comment explaining error return.

2000-04-20  Richard Braakman  <dark@wapit.com>

	* Made read_to_eof set its output parameter to NULL on error,
	instead of leaving garbage in it.  This fixes PR#52 reported
	by Paul Keogh.

2000-04-20  Richard Braakman  <dark@wapit.com>

	* doc/arch/.cvsignore, doc/userguide/.cvsignore: New files.

	* gw/smsc_smpp.c, gw/smsc_smpp.h: Got rid of all uses of uint32_t.
	* gwlib/octstr.c: Got rid of all uses of uint32_t.

	* gwlib/utils.c, gwlib/utils.h: Provided encode_network_long and
	decode_network_long to help the functions that (erroneously) used
	uint32_t as an "exactly 4 octets" type.

	* gwlib/gwstdint.h: Removed.  No code refers to uint32_t (or any
	of its cousins) anymore.  This fixes PR#50, reported by David Reid.

	* config.h.in, configure.in, README.autoconf: Removed tests
	for uint32_t and stdint.h.  Re-ran autoconf.

2000-04-20  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.h, gwlib/octstr.c: Removed octstr_cat_char,
	all callers to it really wanted octstr_append_char and have
	been changed.

2000-04-19  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Now uses the struct to carry WML binary, the
	headers and string table.

2000-04-18  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: type conflict with output_char corrected, 
	calls to octstr_cat_char removed.

2000-04-18  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c, gwlib/octstr.h: Added octstr_append_from_socket.
	Corrected EINTR handling in octstr_write_to_socket.

	* gwlib/socket.c: Made read_available() cope with EINTR.

2000-04-18 Sanna Seppanan <sanna@wapit.com>

	* gwlib/list.h,c Added list_cat. It joins two lists to one.

Mon Apr 17 20:25:19 2000  Lars Wirzenius  <liw@wapit.com>

	* test/test_list.c: Fixed more pthread_t vs long warnings.

2000-04-17 Sanna Seppanen <sanna@wapit.com>

	* gwlib/octstr.h,c: Added octstr_get_digit_from(). Searches long int 
	from octstr.

Sat Apr 15 19:45:50 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/daily-patch: Skip changes to gateway/configure.

Sat Apr 15 19:19:08 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/log.[ch]: Added function close_all_logfiles based on
	patch from Paul Keogh.

Sat Apr 15 18:31:55 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/thread.c: mutex_lock now checks that it doesn't lock the
	mutex twice and panics if it does.

Sat Apr 15 18:01:39 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/smsc_emi.c: If B115200 is not defined, use B38400 instead.
	This compiles, but I can't test it right now.

Sat Apr 15 17:40:18 2000  Lars Wirzenius  <liw@wapit.com>

	* test/test_list.c: More fixes to correct assumptions that
	pthread_t == long.

Sat Apr 15 17:30:51 2000  Lars Wirzenius  <liw@wapit.com>

	* config.h.in, configure.in: Fixed --enable-docs option and added
	(under protest but under pressure) a --enable-localtime option
	for outputting time stamps in configuration files as local time
	instead of GMT.

2000-04-14  Richard Braakman  <dark@wapit.com>

	* gwlib/thread.c: Got rid of some #ifdefs by assuming HAVE_PTHREAD_H.

	* test/list.c: Fixed one more pthread_t == long assumption.

Thu Apr 13 21:01:20 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/thread.h: Removed obsolete definitions for pthread_t etc
	on systems without <pthread.h>.
	
	* test/test_list.c: Fixed so it won't assume pthread_t is a long
	or compatible with a long.

Thu Apr 13 18:35:15 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.7.1.

Thu Apr 13 17:14:40 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c: Commented out extraneous debugging message.
	
	* gw/wsp.c: Function transaction_belongs_to_session: Check that
	neither machine is unused.
	
	* test/fakesmsc.c: Always try reading at least once, even if
	timeout has already occured. This helps in high-load situations.
	
	* test/fakewap.c: Print "finished session" messages even if
	interval is very small.

2000-04-13  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd.c: Fixed message text loading for messages with both
	UDH and normal text.

2000-04-13    <Kalle Marjola <rpr@wapit.com>>

	* gw/bearerbox.c: tried to fix saturation problem; failed but now
	works a bit better. Also added max-queue variable reading, it had
	been lost in some point. I will try to fix saturation later on

	* gw/smsbox.c: removed that thread-safe heartbeat thingy, it is of
	no use (sorry Liw :)

Wed Apr 12  2000  Derry Hamilton  <rasilon@tardis.ed.ac.uk

        * utils/start-stop-daemon.c: Implemented pid_is_user and pid_is_cmd
	for solaris.


2000-04-12  Tuomas Luttinen  <tuo@tuo.wapit.fi>

	* gwlib/octstr.[ch]: Function octstr_append_char added.

	* gw/wml_compiler.c: Attribute values are now searched for text
	that can be replaced with one byte value codes.

Wed Apr 12 00:30:54 2000  Lars Wirzenius  <liw@wapit.com>

	* test/fakewap.c, test/test_http.c, test/test_urltrans.c,
	utils/start-stop-daemon.c: Changed references to <getopt.h>
	to <unistd.h>, except in start-stop-daemon, where <getopt.h>
	is still needed because of getopt_long.
	
	Thanks to kean.leong.ang@my.arthurandersen.com for noticing
	this (and providing a patch, even though I did it slightly
	differently).

Tue Apr 11 21:57:17 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c: Try harder to read from smsbox to avoid the
	problem of not noticing smsbox heartbeats when incoming traffic
	is too fast.
	
	* gw/smsbox.c: Panic if bearerbox connection fails. 
	
	* test/fakesmsc.c: Rewritten so as not to busy loop.

2000-04-11  Richard Braakman  <dark@wapit.com>

	* gwlib/socket.c, gwlib/socket.h: Added socket_query_blocking
	and socket_set_blocking functions.  Untested.

2000-04-11  Richard Braakman  <dark@wapit.com>

	* gwlib/thread.c: Made mutex_destroy silently handle a NULL mutex,
	like other destroy functions.

	* gw/smsc.c: In smscenter_destruct(), also destroy smsc->mutex,
	to fix memory leak.  (Thanks to Paul Keogh)

2000-04-10  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Corrected off-by-one errors in octstr_convert_range
	and octstr_check_range.

2000-04-10  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: In octstr_search_char_from, don't assert that
	pos <= ostr->len.  Just return -1 in that case.  This preserves
	the old behaviour, and makes the function easier to use.

2000-04-10  Richard Braakman  <dark@wapit.com>

	* gw/wsp_http.c: Made convert_to_self call octstr_duplicate rather
	than returning its argument directly.  Its caller expects to be
	able to free the argument.

2000-04-10  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c, gwlib/octstr.h: Reimplemented octstr_search_str
	as octstr_search_cstr, removing the old one.  Added octstr_search
	(for two Octstrs).  Reimplemented octstr_search_char_from to use
	memchr instead of the octstr_get_char interface, for speed.

2000-04-10 Sanna Seppanen <sanna@wapit.com>

	* gwlib/octstr.c,h: octstr_search_str()-function memory-leak fixed.
	If it is still somehow suspicious, please fix it! I do use it in my
	implementations.
	
Sun Apr  9 20:42:08 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Added nag target.
	
	* utils/find-long-lines: Wrote.
	
	* test/test_udp.c, test/test_list.c, test/fakewap.c, test/fakesmsc.c:
	Re-formatted some long lines.
	
	* gw/wsp.[ch], gw/wsp_machine-decl.h: Wrote function
	wsp_machine_mark_unused. This marks a WSPMachine as unused.
	
	* gw/wsp.c: wsp_machine_destroy now removes the machine from
	the list of WSPMachines. wsp_shutdown and same_client changed
	correspondingly.  wsp_handle_event calls wsp_machine_destroy if
	it notices the machine becomes unused.
	
	* gw/wsp_state-decl.h: Changed to use wsp_machine_mark_unused instead
	of mucking around with the client_port field.
	
	* gw/wtp.c: wtp_handle_event removes machine if it notices it
	is unused.

Sun Apr  9 02:18:38 2000  Lars Wirzenius  <liw@wapit.com>

	* More memory leak fixes, now in bearerbox. Now it should be possible
	to run heavy and long time stress tests on all three boxes.

	* gw/bb_msg.[ch]: Wrote function rq_destroy.

	* gw/bearerbox.c: Wrote function destroy_bb. Added functions for
	freeing memory at end of main.

	* gw/wdp_udp.c: Octstr with client address now freed.

	* Some other changes as well.

	* gw/wtp.c: Bugfix. timer field of WTPMachine set to NULL after
	having been destroyed, so that wtp_machine_destroy doesn't try to
	destroy it a second time.

	* gw/wtp_timer.c: wtp_timer_destroy is now safe to call with NULL.
	(All our other _destroy functions are, so this one should also be.)

	* gwlib/gwmem.c: forget() does not fill the area any more, because
	this causes problems with realloc. This is a workaround, and needs
	to be handled better when I'm awake.

Sun Apr  9 00:33:59 2000  Lars Wirzenius  <liw@wapit.com>

	* Memory leak fixes.

	* gw/wapbox.c: Destroy received messages after they have been
	processed. Also destroy event created from the incoming message
	if no WTP machine for processing it can be found.

	* gw/wsp.c: Destroy handled events in wsp_handle_event. Destroy
	temporary Octstrs for holding the binary data of capabilities and
	headers.

	* gw/wsp_http.c: One more place where the content type returned by
	http_get_u wasn't destroyed. Also, the event wsp_http_thread gets
	as an argument is destroyed properly, and (bugfix!) not used after
	being destroyed.

	* gw/wsp_state-decl.h: Correctly duplicate data for event to be
	sent to wsp_http_thread.

	* gw/wtp_tid.c: Removed comments from around cache_item_destroy
	and used it to destroy the tid cache at shutdown.

	* gw/wtp_timer.c: wtp_timer_destroy and wtp_timer_stop now destroy
	the event associated with the timer.

	* Also made some other changes:

	* gw/wtp_send.c: Removed unnecessary error checkings for packing
	functions.

	* gw/wtp_timer.c: Made the global variable `timers' into a static.

	* gwlib/http.[ch]: Wrote header_duplicate.

	* gwlib/octstr.c: octstr_duplicate now returns NULL for a NULL
	argument, instead of crashing.

Sat Apr  8 22:31:45 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/smsbox.c: Added informational message that smsbox is
	terminating.

	* gw/wapbox.c: Added more destruction and freeing things to end of
	main. This helps debugging memory leaks.

	* gw/wtp.h, gw/wtp_tid.h, gw/wtp_timer.h, gw/wtp_timer.c: Added
	shutdown functions.

	* test/wml_tester.c: Added call to gw_check_leaks to help debug
	memory leaks (none found in WML compiler, however).

	* gw/wsp.h, gw/wsp.c: Removed `next' element of WSPEvent structure,
	since it was unused. Also added a wsp_event_duplicate function.

	* gw/wsp.c: Really implemented wsp_machine_destroy. It's now used
	by the wsp_shutdown function, the client_port element is still set
	to -1 to signal an unused WSPMachine.

	* gw/wsp_http.c: Memory leak fixes. The type string returned by
	http_get_u is now freed, as is the data it returns and the Octstr
	copy made of it.

	* gw/wtp.c: Memory leak fixes. Implemented wtp_machine_destroy as
	a static function. Changed initializations of OCTSTR and WSP_EVENT
	type fields in WTPMachine so that empty things aren't allocated
	unnecessarily (and then leaked by overwriting the pointer without
	freeing the always unused empty things allocated).

	* gw/wtp_send.c: Possible memory leak fixes (though not necessarily
	actual, but that might be a problem in my testing): destroy Octstrs
	before overwriting the pointer with a new one.

	* gw/wtp_state-decl.h: Memory leak fixes: freeing things before
	overwriting the pointer to them. In some cases not allocating
	a thing that isn't going to be used at all.

	* gwlib/http.c: Memory leak fixes.

	* gwlib/octstr.[ch]: Commented out octstr_search_str since it isn't
	being used and seems suspicious. Also fixed seems_valid_real to
	report the name of the function as the name of the function instead
	of reporting the name of the file as the name of the function.

2000-04-08  Richard Braakman  <dark@wapit.com>

	* gwlib/gwassert.h: Updated NDEBUG version of gw_asswert_place
	to match normal version.

2000-04-08  Richard Braakman  <dark@wapit.com>

	* gw/wtp_timer.c: Removed debugging output again for normal
	operations.

2000-04-08  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: More assertions.

2000-04-08  Richard Braakman  <dark@wapit.com>

	* gw/wtp_timer.c: Converted to use generic List code.  This should
	fix a number of bugs in the timer code.  Also changed to a single
	indentation style, and made all log messages full sentences.
	Restored some debugging output about timers because I'm debugging
	them.

	* gw/wtp.c: In pack_wsp_event, call octstr_duplicate on
	exit_info instead of sharing it between the WSP and WTP
	events.  (The WTP event will be destroyed soon afterwards,
	taking its octstrs with it).

	* gw/wtp_tid.c: In cache_item_create_empty, initialize item->next
	too.  Also initialize source_address and destination_address to
	NULL instead of to empty octstrs (prevents memory leak).
	In tid_cached, use a temporary variable when returning the tid,
	to avoid accessing a cache element after releasing the lock.

Sat Apr  8 01:01:00 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/smsbox.c, gw/urltrans.c, gw/wapbox.c, gw/wsp.c, gw/wsp.h,
	gwlib/log.c, Fixed some memory leaks. smsbox now report no
	allocated areas after serving 1000 "nop" services.

Fri Apr  7 19:20:41 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c, gw/boxc.c, gw/smsbox.c, gw/smsbox_req.c,
	gw/wapbox.c, gw/wsp.c, gw/wsp_http.c, gw/wsp_state-decl.h,
	gw/wtp.c, gw/wtp_send.c, gw/wtp_state-decl.h, gw/wtp_tid.c,
	gw/wtp_timer.c, gwlib/http.c: Removed hopefully unnecessary
	debugging output to make it possible to run things in heavy
	production use.

Fri Apr  7 17:25:39 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.c: gw_free: Removed #if 0 around call to real free.
	
	* test/fakewap.c: Bugfix. Length of UDP packet was computed 
	incorrectly, causing wapbox to get rather confused. (That's
	also a bug, but will be fixed later.)

2000-04-07 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c, wtp_state-decl.h: Included wtp_timer_destroy call in function
	machine_mark_unused, so that a timer created is allways destroyed when
	a transaction ends.

Fri Apr  7 15:08:50 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwassert.h: Made gw_assert_place also report the actual
	place its called from.
	
	* gwlib/octstr.c: Made seems_valid_real report the calling
	function name also, and re-wrote the assertions so that it is
	easier to see which condition failed. Added some assertions
	as well.

2000-04-06  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c, gwlib/octstr.h: Added new functions
	octstr_binary_to_hex, octstr_hex_to_binary,
	octstr_parse_long, octstr_check_range, and octstr_convert_range.
	They compile fine and have been tested a little, but none
	of them have been used in real code yet -- use with care.

Thu Apr  6 17:52:16 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Add X_Network_Info and X-WAP-Session-ID headers.

2000-04-05 Aarno Syvnen <syvanen@wapit.com>

	* wsp*, wtp*: Changed primitive event names to conform even more 
	closely names used by the specifications.

Wed Apr  5 18:38:20 2000  Lars Wirzenius  <liw@wapit.com>

	* README.docbook: Added note about transfig being needed.

Wed Apr  5 18:20:52 2000  Lars Wirzenius  <liw@wapit.com>

	* csdr.[ch] renamed to wdp_udp.[ch] and other files modified
	accordingly.

2000-04-05  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsint.h: Restored "extern int yylex()" declaration.
	That at least shuts up -Wall, and there is no clean solution because
	we have to deal with Bison output.

2000-04-04 Aarno Syvnen <syvanen@wapit.com>

	* wtp_send.c|h: Changed tid type to int

	* wapbox.c|h: Select connectionless requests out before calling wtp.
	They made mess of wtp error handling mechanism.

Tue Apr  4 17:55:10 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/kannel-log-summary: Wrote. Requires AWK. Improvements
	welcome.

Tue Apr  4 14:57:55 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/urltrans.c: Changed to use List.

Tue Apr  4 14:42:54 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/urltrans.c, gw/wsp_headers.c, gw/wsp_headers.h,
	gwlib/octstr.c, gwlib/octstr.h: Removed OctstrList, use plain
	List instead.

Tue Apr  4 14:15:27 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bb_msg.c, gw/bearerbox.c, gw/boxc.c, gw/msg.c, gw/smsbox.c,
	gw/smsbox_req.c, gw/wapbox.c, gw/wsp.c, gw/wsp_http.c, gw/wtp.c,
	gw/wtp_send.c, gw/wtp_send.h, gw/wtp_timer.c, gwlib/http.c:
	Changed calls to assert to calls to gw_assert.

Mon Apr  3 21:58:19 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/smsbox.c: Fixed a memory leak in error conditions. Also
	rewrote send_heartbeat so it doesn't use a static variable.
	
	* gwlib/gwmem.c: Make filling allocated and freed memory areas
	optionsl. There is a bug somewhere that causes filling of freed
	memory areas to crash.

Mon Apr  3 21:02:49 2000  Lars Wirzenius  <liw@wapit.com>

	* test/test_urltrans.c: Wrote. Useful for testing memory leaks.
	
	* gw/msg.[ch]: Used long instead of int32.
	
	* gw/smsbox.c: Fixed output restriction format in debugging statement.
	Also added a call to gw_check_leaks so that memory leaks can be
	reported.
	
	* gw/urltrans.c: urltrans_destroy now works even when called
	a NULL argument. Also, fixed a couple of memory leaks:
	urltrans_destroy frees the actual list header node as
	well, urltrans_find frees the temporary list of words, and
	destroy_onetrans frees the username and password fields. (The work
	on gwmem.c starts paying.)
	
	* gwlib/gwassert.h: Added a gw_assert_place macro so that the
	caller can set explicitly the place reported.
	
	* gwlib/gwmem.[ch]: Record location where memory allocation is made,
	so that gw_check_leak can report it.
	
	* gwlib/octstr.c: seems_valid reports the place it is called from
	in the assertion error messages, not the places where gw_assert
	fails.
	
	* test/test_http.c: Added -r option for repeating the fetch.
	
Mon Apr  3 18:55:46 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/socket.c: Changed certain AF_INET constants back to
	PF_INET. I'm stupid.
	
	* test/fakewap.c: Added 'c:' to getopt arguments and made -h work.
	Thanks to Adam Kelly.
	
	* gwlib/list.c: list_destroy destroys the condition variable for
	the list as well. Thanks to Paul Keogh.

Mon Apr  3 18:52:48 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwassert.h: Remove unnecessary and disfunctional #ifndef
	wrapper.

2000-04-03  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Made octstr_write_to_socket() retry after EINTR.

2000-04-03  Richard Braakman  <dark@wapit.com>

	* gwlib/gwstr.c, gwlib/gwstr.h: Removed split_words(), it has been
	superseded by octstr_split_words().

	* gwlib/gwstr.c, gwlib/gwstr.h: Removed url_decode(), it has been
	superseded by octstr_url_decode().

	* gw/urltrans.h: Removed bogus paragraph from the function
	comment for urltrans_get_pattern.

2000-04-03  Richard Braakman  <dark@wapit.com>

	* wmlscript/wsint.h: Always define WsInt32 to long and WsUInt32
	to unsigned long, rather than looking for a type of exactly four
	bytes.

	* wmlscript/wslexer.c: Pass ws_stream_getc a pointer to 'WsUInt32',
	like it asks, rather than 'unsigned int', which might be smaller.

	* wmlscript/wmlsdasm.c: Print a v_int constant as a long, rather
	than int.

	* config.h.in, configure.in, configure: Completely got rid of
	SIZEOF_INT and SIZEOF_LONG constants.

2000-03-31 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Tell_about_error: remove debuggung statements causing 
	segfaults. In addition, locks to serialise reassemby.

2000-03-31  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Made octstr_decode_url not segfault on empty
	octstrs.  Added assertions.

Fri Mar 31 04:58:20 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.c: Formatting and other minor changes.

Fri Mar 31 03:35:59 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/csdr.[ch]: Changed to use Octstrs and udp_* functions
	from gwlib.
	
	* gwlib/socket.c: Changed udp_create_address so that it accepts
	"*" as a hostname alias for INADDR_ANY.

Fri Mar 31 02:17:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/socket.c: Changed PF_INET to AF_INET.
	
	* test/fakewap.c: Made command line parsing much more user friendly.
	Also started cleaning up the implementation, so that it, for
	example, uses gwlib and avoids using quite as many magic numbers
	and convoluted logic, but got bored and decided to do something
	else instead. Current version works, however. Removed some unwanted
	Windows stuff (the goal is to make gwlib work in Windows and make
	fakewap use that).
	
	Removed unnecessary option to set sender port number.

Fri Mar 31 00:31:21 2000  Lars Wirzenius  <liw@wapit.com>

	* debian/*: Added Debian packaging files. The Debian package is not
	yet official, but these files allow one to build a Debian package.
	
	* Makefile.in, configure.in: Check whether start-stop-daemon
	already exists and use the system one if it does (it only exists
	on Debian, though).
	
	* utils/kannel-init.d: Changed location of box programs and 
	configuration files.

2000-03-30  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Memory leaks stiched.

	* gwlib/octstr.[ch]: octstr_str_compare added.

2000-03-30    <Kalle Marjola <rpr@wapit.com>>

	* gw/cgi.*: changed argument list value into Octstr to allow
	UDH-fields to have %00 on them

	* gw/bearerbox.c, gw/smsbox*.c: fixed cgiarg uses

	* gwlib/octstr.c|h: added function octstr_url_decode (copied from
	gwstr)

2000-03-30  Richard Braakman  <dark@wapit.com>

	* gwlib/socket.c: Cast sockaddr arguments for recvfrom() and
	sendto() to (struct sockaddr *).

2000-03-30  Richard Braakman  <dark@wapit.com>

	* gwlib/socket.c: Tidied up gethostnameinfo(), removed excessive
	use of __ in names.

2000-03-30    <Kalle Marjola <rpr@wapit.com>>

	* gwlib/octstr.c: removed wrong assertion from octstr_truncate

Thu Mar 30 06:51:03 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octstr.[ch]: Changed octstr_create_from_data and
	octstr_get_many_chars to get void* instead of char*.
	
	* gwlib/socket.[ch]: Wrote some generic UDP socket handling things.

Thu Mar 30 05:28:02 2000  Lars Wirzenius  <liw@wapit.com>

	* acconfig.h, config.h.bot, config.h.top, stamp-h.in: Removed as
	unnecessary.
	
	* config.h.in, configure.in, gwlib/conffile.h, gwlib/log.c:
	Cleaned up by removing unnecessary checks. For example, since
	we *require* an ANSI C compiler anyway, there's no point in
	checking for const.

Thu Mar 30 04:47:25 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.c: Added some code to keep track of memory allocations
	and to check that frees free freeable memory.
	
	* lotsafiles: Added a gw_init_mem call to the beginning of each
	(relevant) main function.

Thu Mar 30 03:10:21 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Made use of Counters.

Thu Mar 30 03:05:53 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/counter.[ch]: Wrote.
	
	* test/test_counter.c: Wrote.

Thu Mar 30 02:25:51 2000  Lars Wirzenius  <liw@wapit.com>

	* lotsafiles: Made minor tweaks to make things compile on my
	machine with CFLAGS='-Wall -O2 -g -Wbad-function-cast -Wcast-align
	-Wsign-compare -Wstrict-prototypes -Wmissing-prototypes
	-Wmissing-declarations' (which is getting pretty aggressive).

Thu Mar 30 01:27:40 2000  Lars Wirzenius  <liw@wapit.com>

	* Changed msg_dump and octstr_dump to take a "level" argument.
	This allows them to indent dumps within dumps correctly. Related
	changes at callers.

Thu Mar 30 01:04:34 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp.h, gw/wsp_machine-decl.h: Changed
	METHOD_MACHINE and SESSION_MACHINE macros so that their users
	provide all punctuation. This will more easily allow certain
	nifty stuff in the future.

Thu Mar 30 00:57:58 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/attgetopt.c: Added AT&T's public domain implementation of
	getopt(3).
	
	* Makefile.in, config.h.in, configure.in,
	utils/start-stop-daemon.c:  Modified to check for and use getopt,
	getopt_long, and getopt_h, and to use attgetopt.c if no system
	getopt is found.

Thu Mar 30 00:24:52 2000  Lars Wirzenius  <liw@wapit.com>

	* daily-patch: Added a summary to beginning of report.

Thu Mar 30 00:01:35 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Removed -I options from CFLAGS. We're supposed to
	refer to header files in other ways than assuming -I. You need to
	re-run configure (or at least config.status).

	* lotsafiles: Changed header file references to include directory
	names where necessary.

Wed Mar 29 23:42:40 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwmem.c: Added some asserts. Also, gw_malloc now fills the
	memory area with 0xbabecafe so as to make sure it is _NOT_ all bits
	zero.

Wed Mar 29 23:29:26 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octstr.[ch]: Added gw_asserts and cleaned up formatting.

Wed Mar 29 23:01:15 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/list.c: Changed assert to gw_assert.
	
	* test/test_list.c: Cleanups.

Wed Mar 29 21:59:53 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Removed installation of test_wml, since it's obsolete.
	
	* configure.in, config.h.in: Check specifically for 1.8.6 of libxml.
	
	* gw/wml_compiler.c: Use kludge around 1.8.6 bugfix conditionally.

2000-03-29  Richard Braakman  <dark@wapit.com>

	* gwlib/gwassert.h: New file, defines gw_assert() macro which
	calls panic() when an assertion fails, instead of writing to
	stdout.  stdout is not available when kannel runs as a daemon.

	* Makefile.in: Put libgwlib.a after libwmlscript.a in the
	libs line, because libwmlscript.a now needs the panic symbol
	from libgwlib.a.

	* gwlib/gwlib.h: Include gwassert.h by default.

	* gwlib/gwmem.c, gwlib/octstr.c, wmlscript/*: Use gw_assert()
	instead of assert().

Wed Mar 29 20:44:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/msg.c: Cleanups. No need to check that msg_create returns
	non-NULL (it panics, if it fails). Use octstr_duplicate instead
	of doing it manually with octstr_copy.
	
	* gw/wtp_send.c: Bugfix. wtp_send_result used to return the same
	message copy that it passed on to put_msg_in_queue. The caller
	would then make a duplicate. This is a race condition: sometimes
	the message in the queue would be processed and destroyed before
	the caller had time to duplicate the message. Changed it so that
	wtp_send_result makes the duplicate itself, since that is the
	only reasonable way to avoid the race condition.
	
	* gw/wtp_state-decl.h: Changed to use result from wtp_send_result
	directly, instead of duplicating it.

Wed Mar 29 19:44:05 2000  Lars Wirzenius  <liw@wapit.com>

	* test/test_list.c: Fixed warnings.

2000-03-29  Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Added locks for serialising reassembly

2000-03-29    <Kalle Marjola <rpr@wapit.com>>

	* gw/*box*.c: fixed some udh-things like it is now possible to
	send UDH without text field

	* gw/smsc_cimd.c: fixed that it discarded message without text
	file, but with udh field

2000-03-29  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Added static octstr_grow() call for other
	octstr methods to use.  This gets rid of some duplicate code.

Tue Mar 28 21:16:35 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/CodingStyle: Added various stuff.

2000-03-29 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: restored the old file to fix the GET
	functionality

2000-03-29  Richard Braakman  <dark@wapit.com>

	* gwlib/octstr.c: Small changes to deal with the possibility
	of ostr->data being NULL if ostr->size is 0.

2000-03-29  Richard Braakman  <dark@wapit.com>

	* gwlib/gwmem.c: Add assertion (size > 0) to gw_malloc.

2000-03-29    <Kalle Marjola <rpr@wapit.com>>

	* gw/smsbox_req.c: some simple truncation to UDH sending (not
	sufficient but should help a bit) and little flag fix

	* gw/smsc_sema.c: fix of 120 char problem by Hao Shi

2000-03-29  Richard Braakman  <dark@wapit.com>

	* gw/smsc_smpp.h: Removed definitions of unused empty structures
	smpp_pdu_unbind, smpp_pdu_unbind_resp, smpp_pdu_enquire_link, and
	smpp_pdu_enquire_link_resp.

2000-03-29 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: http_get_u() deleted a bunch of duplicate code.
	GET query is sent as a message body.

2000-03-28 Aarno Syvnen <syvanen@wapit.com>

	* wtp*,  wsp*: Changed primitive names. Now they conform with ones 
	used by the specifications. 

Tue Mar 28 16:14:49 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/list.[ch]: added functions list_delete_all, list_delete_equal,
	and list_extract_all. Also added a typedef for the comparision
	function type used by several list functions.
	
	* test/test_list.c: Wrote additional test for the new functions.

2000-03-28 Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: Allocated memory for resended messages

	* wapbox.c: Deallocate memory reserved for messages. (Based on tips 
	from Paul Keogh) In addition, added timer mutex iniatilisation.

	* wtp.c: Added locks for machines. Added structure segments for making
	reassembly thread safe. 

2000-03-28  Richard Braakman  <dark@wapit.com>

	* utils/start-stop-daemon.c: Put conditional OSLinux || OSHURD
	around the definitions for pid_is_user and pid_is_cmd, because
	those functions are not defined for OSSunos.  This is probably
	not the last of the changes needed; we'll see.

2000-03-28    <Kalle Marjola <rpr@wapit.com>>

	* gw/smsbox_req.c: added UDH sending code alpha test. Use field
	'udh' in sendsms http interface

	* gw/smsbox.c: fixed one mutex problem which only occured if there
	was some problems

	* gw/msg.h: marked that most functions do not fail, but panic

	* gw/msg-decl.h: removed plain_sms, which was not used anymore

2000-03-27 Aarno Syvnen <syvanen@wapit.com>

	* wtp*: Added some comments. Made code review changes. Added
	code for timers (This is,  how ever, still commented out. It
	must be tested with a new version of fakewap.). Corrected some
	of memory leaks pointed out by Paul Keogh.

	* wtp.c: Added lock for the global wtp transaction identifier.

2000-03-27    <Kalle Marjola <rpr@wapit.com>>

	* gw/bearerbox.c: changed 'http-port' into 'http-admin-port', to
	lessen confusion. Old name still works, too.

	* gw/bb.h: modified default http-admin-port to 13000 and
	wapbox-port to 13002 to keep ports close to each other

	* */*.conf: changed that name and port in configuration files

	* doc/userguide/userguide.xml: renamed variables updated in
	userguide.
	
	* gw/smsc_cimd_c: commented out that the connection dies if the
	expected string is not received, as this caused problems with
	slower link

	* gwlib/utils.h: added -D option in output
	
2000-03-25 Derry Hamilton <rasilon@tardis.ed.ac.uk>
	* Makefile.in: Added -Iutils to CFLAGS
	* utils/start-stop-daemon.c: Added short option only stuff.
	  Cast pid_t to int so that printf gets it right
	* utils/kannel-nag: Now asks for bash specifically rather than 
	  assuming that /bin/sh is actually bash
	* gw/smsc_sema.c: Replaced bzero with memset
	* gw/wml_compiler.c: Cast arguments to isalpha and isalnum to int 
	  (are char)
	* gwlib/http.c: similar, for isspace

Fri Mar 24 16:43:16 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.7.

Fri Mar 24 14:52:19 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http.c: Changed it so that binary images also work.
	
	* test/test_http.c: Wrote.

2000-03-24 Sanna Seppnen <sanna@wapit.com>

	* gwlib/http.c: tested and debugged
	httprequest_replace_header().

Fri Mar 24 12:38:33 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in, configure: Check that gnome-xml is at least 1.8.6.

2000-03-24 Sanna Seppnen <sanna@wapit.com>

	* gwlib/http.c,h: header_destroy returns now a pointer to the
	next header. tested and debugged httprequest_remove_header().

Thu Mar 23 19:58:44 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bb_msg.h, gw/bearerbox.c, gw/msg.c, gw/msg.h, gw/urltrans.h,
	gw/wsp.c, gw/wsp.h, gw/wtp.c, gw/wtp.h, gwlib/http.h: Removed
	commas from end of enum definitions. These would be very useful
	(since some of them are generated automatically), but they're
	against the C specification (and I distinctly remembered they
	were not).  Thanks to Markku Rossi for putting me straight.

Thu Mar 23 19:37:03 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wml_compiler.[ch]: Removed kludge to not use the new WML
	compiler when libxml is not installed while compiling. The new
	WML compiler is becoming required by this change - if you don't
	have libxml already, install it, or you lose.
	
	* gw/wsp_http.c: Don't use the old compiler at all.

Thu Mar 23 19:22:18 2000  Lars Wirzenius  <liw@wapit.com>

	* README: Changed requirement for libxml to at least 1.8.6,
	since 1.8.5 resulted in problems (last character of WML source
	was mangled).

2000-03-23  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: The global variable for the binary removed, now
	should be thread safe.

	* test/wml_tester.c : Minor formatting changes.

2000-03-23 Sanna Seppanen <sanna@wapit.com>

	*gwlib/http.c: corrected error in httprequest_add_header. hope
	it'll work now.

Tue Mar 21 16:46:04 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/CodingStyle: Modified the description of using panic.

2000-03-23    <Kalle Marjola <rpr@wapit.com>

	* gwlib/log.c|h: added negation to -D (debug place) command line
	option, which is used with starting '-'

	* gwlib/utils.h, doc/CodingStyle: commented -D option

2000-03-23 Sanna Seppanen <sanna@wapit.com>
	
	* gwlib/http.c, http.h: added comments.

2000-03-22  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd.c: Removed some bogus errno values in error messages.

2000-03-22 Sanna Seppanen <sanna@wapit.com>
	
	* gwlib/http.c: htp_get_u: After furthed investigation,
	zero-valued "Content-Length" header is valid, changing back.

2000-03-22 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: A minor fix to header_pack(). Check the sprintf
	return value. header_create() return NULL if fails.
	* gwlib/http.c: htp_get_u: zero-valued "Content-Length" header 
	from phone won't be sent to web server.
	
2000-03-22 Derry Hamilton <rasilon@tardis.ed.ac.uk>

	* gwlib/http.h: Modified the definition of header_dump to
	match that in gwlib/http.c

2000-03-21 Sanna Seppanen <sanna@wapit.com>

        * gwlib/http.c: internal_base6t4() uses rint(). alpha doesn't
	recognize it, so implemented it as round_to_closest_integer().

2000-03-21 Sanna Seppanen <sanna@wapit.com>

        * gwlib/http.c: Rewrote httprequest_get_header_value().

2000-03-21 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: Rewrote httprequest_remove_header().

2000-03-21 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: Rewrote httprequest_replace_header().

2000-03-21 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: Corrected some debug sentences. Harvest of code
	review: the return type of header_dump() changed to void. 
	rewrited httprequest_add_header(). 

2000-03-21  Richard Braakman  <dark@wapit.com>

	* gw/smsc_emi.c: small changes, in preparation for large changes.

2000-03-21 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: Changed socklen_t to int according to manual in
	httpserver_get_request.

2000-03-21  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: More little fixes from the code review, also 
	a bug fix.

2000-03-21  Richard Braakman  <dark@wapit.com>

	* gw/smsc_cimd.c, gw/smsc_emi.c, gw/smsc_fake.c, gw/smsc_p.h,
	gw/smsc_sema.c, gw/smsc_smpp.c: Removed unused field "latency".

2000-03-21  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/octstr.c: a bug fixed in the octstr_delete; now the 
	\0-character is added in the end.

Tue Mar 21 14:41:01 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/kannel-nag, utils/changelog-report, utils/daily-patch:
	Added to CVS so that interested people can look at them. Don't
	run them without asking.

2000-03-21  Richard Braakman  <dark@wapit.com>

	* gw/bearerbox.c: Deleted assertion in http_admin_command.  It is
	valid for `list' to be NULL if there are no CGI arguments.

2000-03-21  Richard Braakman  <dark@wapit.com>

	* utils/kannel-init.d: Added some configuration options at the top.
	It now controls my local Kannel setup without problems.

Tue Mar 21 13:43:50 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Converted to use new list instead of (broken) old 
	custom list.

2000-03-21  Richard Braakman  <dark@wapit.com>

	* utils/run_kannel_box.c: Make it remove its pidfile when it dies.

	* utils/kannel-init.d: New script file to start and stop Kannel
	(suitable for use in /etc/init.d)

	* utils/start-stop-daemon.c, utils/start-stop-daemon.8: Utility
	used by kannel-init.d, taken from dpkg source.

	* Makefile.in: Added entry for start-stop-daemon.

Tue Mar 21 12:57:35 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/list.[ch]: Wrote function list_extract_first.
	
	* gw/wsp.c: Modified to use list_extract_first instead of doing
	it manually with list_lock/unlock and list_len and list_get
	and list_delete.

Tue Mar 21 12:38:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp_machine-decl.h, gw/wsp_state-decl.h: Converted
	more lists to use gw/list.h. While debugging this (hey, 0 is
	not true, is it?) also implemented wsp_machine_dump.
	
	* gw/list.[ch]: NOTE: Changed interface to list_search (comparison
	function must now return true (non-zero) for item). Also wrote
	list_search_all.

2000-03-20  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.h: Minor code review fixes. The third argument of 
	wml_compile (Octstr **scripts) were deleted.

	* gw/wml_compiler.c: Lots of little code review fixes, yet more to 
	come. Added a patch to remove a bug in the variable handling. 
	Functions text_strip_blank and text_shrink_blank moved into the 
	octstr.[ch].

	* gw/wsp_http.c: Changed to use wml_compile with two arguments.

	* gwlib/octstr.[ch]: octstr_strip_blank and octstr_shrink_blank
	moved from wml_compiler.c.

	* test/wml_tester.c: Changed to use wml_compile with two arguments.

2000-03-20    <Kalle Marjola <rpr@wapit.com>

	* gwlib/http.c: fixed bug in header_pack pointed out by Paul
	Keogh. Also fixed a major too-early free in request_wrap, which
	caused segmentation faults in heavy load.
	
	* gw/*.*: some little fixes/comments

Mon Mar 20 16:56:36 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c, gw/wsp.c, gw/wsp.h, gw/wsp_machine-decl.h,
	gw/wtp.c, gw/wtp.h, gw/wtp_machine-decl.h, : Converted from
	hand-made lists to the new generic list. At least partially.
	
	* gwlib/list.[ch]: Added a list_search function (untested as
	yet, though).

Mon Mar 20 15:45:43 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/list.[ch], test/test_list.c: Wrote a generic dynamic list
	implementation. There can be only one, code duplication leads to
	bugs. This is not yet used anywhere, except the test program, but
	I'll start working on converting the wapbox to this next.

Mon Mar 20 15:10:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c: Function empty_queue_thread: Removed timestamp
	variable that isn't used anymore.
	
	* gw/wsp.c, gw/wtp.c: Marked some places with comments about
	problems, since I had no time to fix the problems yet.
	
	* gwlib/gwmem.c: gw_realloc now checks that the size is non-zero
	and panics if it is zero. realloc(foo, 0) is equivalent to free(foo),
	but this is obscure enough that using it for that is rather likely
	to be a bug.
	
	* gwlib/octstr.c: Made octstr_dump use unsigned chars.

Sat Mar 18 10:40:24 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wsp_http.c: map-url logging tamed, minor code cleanup.

Fri Mar 17 17:49:38 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.6.1.

2000-03-17    <Kalle Marjola <rpr@wapit.com>

	* gw/*.*, gwlib/*.*: numerous little code lookup fixes

2000-03-17  Richard Braakman  <dark@wapit.fi>

	* gw/smsc_p.h, gw/smsc_sema.h, gw/smsc_smpp.[ch],
	gw/smsc_interface.def: Got rid of obsolete sms_msg.c and sms_msg.h.

2000-03-17  Richard Braakman  <dark@wapit.fi>

	* Added .cvsignore files to all directories.

2000-03-17  Richard Braakman  <dark@wapit.fi>

	* wmlscript/wsopt.c: Compress "const_es; return" to "return_es",
	and leave it out entirely at the end of a function (where returning
	the empty string is the default).

Fri Mar 17 10:55:37 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Protect calls to wml_compiler with a mutex to work
	around a bug in the compiler that makes it unsafe with threads.
	This is just a stopgap measure, until the compiler can be fixed
	properly.

2000-03-17  Richard Braakman  <dark@wapit.fi>

	* wmlscript/wsopt.c: Remove dead code after returns, not just
	after jumps.

2000-03-16  Richard Braakman  <dark@wapit.fi>

	* wmlscript/*: Stylistic changes.

	* wmlscript/wsbc.c: Minor bugfix in verification of bytecode.

2000-03-16  Richard Braakman  <dark@wapit.fi>

	* utils/run_kannel_box.c: Clean up compiler warnings, fix minor
	bug found by rpr.

2000-03-15  Markku Rossi  <mtr@iki.fi>

	* wmlscript/wsopt.c: Fixed some bugs from the assembler stream
	handling.

2000-03-13    <rpr@rpr.wapit.com>

	* README: Added notes of smsc_interface.def

2000-03-10  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_octet_string): bug fix with parsing
	$-characters. Tried to allocate a huge block and wapbox went down
	on it.

Fri Mar 10 16:48:35 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.6.

2000-03-10  Markku Rossi  <mtr@iki.fi>

	* wmlscript/: Fixed some warnings.

2000-03-10 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: httprequest_execute: memory freeing
	functions added. also changed some error() to warning() -functions

Fri Mar 10 14:52:19 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/smsc_emi.c, gw/wsp.c, gwlib/gwmem.c, gwlib/http.c,
	gwlib/thread.c, test/test_wml.c: Fixed int/pointer size and
	int/size_t size differences in various places.

2000-03-10 Richard Braakman <dark@wapit.com>

	* utils/run_kannel_box.c: New utility, a wrapper that runs as
	a daemon and spawns a given box.  If the box dies, the wrapper
	will spawn a new one.  It will die and kill its box if it
	gets SIGINT, SIGQUIT, or SIGTERM.

	* Makefile.in: add a line for run_kannel_box.c

Fri Mar 10 13:34:59 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in: Check for xmlDocGetRootElement instead of
	xmlParseMemory so as to find only newer versions of libxml.
	(Fix from Ben Fowler <wapdev@leedsnet.com>.)

	* gwlib/conffile.c: Removed spurious Ctrl-M from end of line.
	(From Ben Fowler.)

2000-03-10    <rpr@rpr.wapit.com>

	* gw/smsc_interface.def, gw/sms_msg.h: more data about
	SMSC interface

2000-03-10    <rpr@rpr.wapit.com>

	* gw/bearerbox.c, gw/kannel.conf, test/sample.conf: renamed
	wap-port to wapbox-port and sms-port to smsbox-port, to avoid any
	future confusion. Old names still work.

	* gw/smsc_sema.c: added a name to smsc

Thu Mar  9 11:05:14 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wapbox.c, gw/kannel.wapconf: cleanup, removed
	test-heartbeat-thread logging support from source and config.

Thu Mar  9 19:17:43 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c: Commented out an assert that seems to be too much.

	* gw/smsbox.c: Added a missing mutex_lock to main_loop.

Thu Mar  9 17:48:33 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Moved -D_REENTRANT to before @CFLAGS@ so that someone
	can undefine it when calling configure.in, if they really want it.
	(Also defined to 1, not empty, just in case.)

2000-03-09    Derry Hamilton  <rasilon@tardis.ed.ac.uk>

	* Makefile.in:  Added -D_REENTRANT to CFLAGS

2000-03-09    <rpr@rpr.wapit.com>

	* gwlib/octstr.c: fixed stupid error in octstr_recv

Wed Mar  8 16:53:24 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Fixed or commented away broken list handling.

	* gwlib/octstr.[ch]: Fixed octstr_search_char_from. Also changed its
	prototype so that the character is passed as an int, since this does
	not cause problems with 8-bit characters on platforms where the
	char type is signed.

2000-03-08  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Bug fix: no more squares (ie tabulator
	characters) in the compiler output.

2000-03-08    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c: started re-working on UDHs, all new code
	commented out, yet

	* gw/bb_msg.c, gw/boxc.c: added assertions and some extra checking

	* gw/urltrans.c: fixed an error in 'default' rule finding code

	* gw/smsc_sema.h: commented out a function prototype not implemented

Tue Mar  7 16:40:49 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gwlib/http.{c,h}: Added httprequest_replace_header() function,
	use it to overwrite (instead of duplicate) existing user defined
	headers. This gets rid of the duplicate User-Agent: header, which
	convinces some sites to send wml instead of html.

2000-03-07  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (text_shrink_blank): A little bug fix. The first
	white space character in a row of them is now converted into a space,
	the rest are deleted before compiling.

2000-03-07    <rpr@rpr.wapit.com>

	* gw/kannel.*conf: fixed hearbeat as heartbeat

	* gw/bearerbox.c, gw/boxc.c: fixed some memory leaks pointed out
	by Paul Keogh, and added many assertions.

Tue Mar  7 12:51:35 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/thread.c: Added missing #include for <string.h>.

Sun Mar  5 12:53:14 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wapbox.c, gw/wsp_http.c, gwlib/octstr.*: more or less
	completed URL mapping functionality; see gw/kannel.wapconf
	for a short description of the facilities. The device-home
	setting for Motorola Timeport should work correctly now.

Sun Mar  5 10:55:00 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wsp_http.c: change #if 1 to #if HAVE_LIBXML, to really not
	break compilation when libxml is missing.

2000-03-03 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: http_get_u: Should not crash anymore due trying
	to free memory twice

Fri Mar  3 15:50:33 2000  Lars Wirzenius  <liw@wapit.com>

	* README: Added note about CFLAGS settings for development.

Fri Mar  3 14:31:28 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octstr.c, test/wml_tester.c: Minor fixes to silence warnings.

Fri Mar  3 13:32:30 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/thread.c (mutex_destroy): Destroy the pthread_mutex_t
	when the Mutex object is destroyed.

	* gwlib/thread.c (start_thread): Destroy thread attributes after
	thread has been started.

	* gw/wsp_http.c: Enabled Tuomas's compiler by default.

2000-03-03    <rpr@rpr.wapit.com>

	* gw/smsc_sema.c: fixed loads of warnings, and one suspicious
	looking comprasion/assignment list

2000-03-02    <rpr@rpr.wapit.com>

	* gw/*.*conf: renamed old bearerbox.conf, smsbox.smsconf and
	wapbox.wapconf as kannel.conf, kannel.smsconf and kannel.wapconf.

	* gw/*box.c: modified default configuration files accordingly

	* README, doc/dialup.txt: updated documentation accordingly

	* gw/smsc.c, gw/smsc_p.h: added calls to SEMA SMS2000 code

	* gw/smsc_sema.c|h: added support code to SEMA SMS2000 via X28
	link by Hao Shi

Thu Mar  2 12:36:22 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/userguide/userguide.xml: Fixed syntax error (added missing
	end tags).

2000-03-01    <rpr@rpr.wapit.com>

	* README: added notes of the new sample files

	* test/sample.*conf: new simple sample configuration files

2000-03-01  Markku Rossi  <mtr@iki.fi>

	* wmlscript/wslexer.c, wmlscript/wsstree.h: Fixed some warnings.

	* wmlscript/wsgram.y: Fixed empty statements.

2000-02-28  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/octstr.c&h: octstr_create(char *)->octstr_create(const char *)
	* gw/wml_compiler.c: Bug fixes: entities are now supported, no more
	changing URLs into lower case. A bug removed from variable syntax
	check.

at Feb 26 16:57:40 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wsp_http.c, gw/wsp.h, gw/wapbox.c: added configuration
	options device-home and map-url; see gw/wapbox.wapconf for
	a description of how they work.

Sat Feb 26 11:29:10 CET 2000	Patrick Schaaf	<bof@bof.de>

	* gw/wsp.c, gw/wsp_http.c: hacked to start working with
	Motorola Timeport / Phone.com browser. Negotiated client SDU of 3
	is changed to 1350, and DEVICE:home URL is rewritten to something
	else (set DEVICE_HOME_OUT define at top of wsp_http.c to change
	destination to something sensible). Needs work to make the stuff
	configurable.

2000-02-25 Sanna Seppnen <sanna@wapit.com>

	* gwlib/http.c: modified http_post.c. Sending entity length.

2000-02-25  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c : Now first version of the new compiler with
	variable support. The WML document is first stripped from extra
	whitespace in the beginning and end to avoid parsing errors by
	gnome-XML.

	* gwlib/octstr.h/c : int octstr_search_char_from(Octstr *ostr, char
	ch, size_t pos) added. Does the same as octstr_search_char, except
	start from the position pos. The latter is now implemented as a call
	to the former with argument pos == 0.

2000-02-23    <rpr@rpr.wapit.com>

	* gwlib/octstr.c: modified octstr_recv to fail if receives
	"garbage" (first length byte something else than 0); this is a
	hack to avoid too large allocations caused by garbage on the
	line. Side-effect is that now the octstr length is limited to
	16777216 bytes when transfered via TCP/IP, but I think that we can
	accept that...

2000-02-22    <rpr@rpr.wapit.com>

	* gwlib/octstr.c: fixed octstr_dump to show characters in
	'partial' lines, too, and not to show 'empty' last line

	* gw/smsbox.c: changed default configuration file to be as
	'smsbox.smsconf'

2000-02-21  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: Some more bug fixes.
	(parse_document): Check added for an empty document (== null pointer).

	* test/wml_tester.c: Now a log file can specified a s an argument.
	* test/test_wml.c: Same as above.

Mon Feb 21 15:20:39 2000  Lars Wirzenius  <liw@wapit.com>

	* README, doc/userguide/userguide.xml: Documented requirement
	to use at least version 1.8.1 of libxml.

2000-02-21 Aarno Syvnen <syvanen@wapit.com>

	* test/fakewap.c: commented tid verification protocol used by the
	program

2000-02-21    <rpr@rpr.wapit.com>

	* gw/smsc_smpp.c: added receive-port, so that transmit/receive
	ports can be different ones.

	* gw/bearerbox.conf, gw/smsc.c: renamed 'backup-port' as
	'receive-port', old name still functions in the config files, but
	causes warning message. smsc_emi.c still uses 'backup-port' name,
	but life is hard.

2000-02-21  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/octstr.c: octstr_ncompare doens't anymore check whether
	ostr1 is bigger or smaller than ostr2. It should not anyway.
	* gw/wml_compiler.c: Many bug fixes to the attribute encoding. Some
	possible memory leaks also removed.

Fri Feb 18 21:20:46 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http.c: Undid changes by Sanna, since they were crashing
	some HTTP calls, and I didn't find the problem within an hour or
	two of debugging. Sorry.

Fri Feb 18 20:07:29 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/utils.c: Don't report debug places unless they're set.

Fri Feb 18 20:05:40 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Strip type parameters. This is ugly, but at least
	it will work somewhat if they are there.

Fri Feb 18 19:54:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octstr.c: octstr_dump now also prints the printable characters
	of the string as themselves, so that it becomes easier to read the
	output. The hexacodes are still printed for all characters, of course.

Fri Feb 18 16:40:44 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp_http.c: Remove temporary files. Oops.


2000-02-18  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_text): Empty strings are no more coded.
	* gw/wml_compiler.c (parse_attribute): Fixed bug with the 
	  coded_length. Still something wrong with attribute value encoding 
	  with one byte.

Thu Feb 17 20:27:54 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Removed superfluous libtest.a, which was causing
	trouble with some compilations, making test/wml_compiler pick up
	a random main function.

	* test/test_wml.c: Output with octstr_dump and octstr_pretty_print
	instead of binary if several arguments on command line.

	* test/wml_tester.c: Fixed so that it always has a main function.

2000-02-17  Tuomas Luttinen  <tuo@wapit.com>

	* gwlib/octstr.h&c: argument changed from char * to const char * on
	functions octstr_create_tolower and octstr_create_from_data.
	* test/wml_tester.c: Ouput now uses the fancy otcstr-output functions.
	* gw/wml_compiler.c: Now adds STR_END to the end of the attribute
	value fields and text fields

Thu Feb 17 17:35:11 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/userguide/userguide.xml: Filled in some more. Now most details
	should be copied from the sample configuration files, but things are
	still not explained in a coherent or understandable manner.

	* gwlib/log.c: debug() doesn't print the place anymore. This makes
	debug output readable again.

2000-02-17    <rpr@rpr.wapit.com>

	* gw/bearerbox.c, gw/bb.h: added max thread BB_DEFAULT.. value,
	instead of hardcoded number

2000-02-17  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_document): Standard headers now :
	WBXML version 1.1, WML 1.1 Public ID, Charset=ISO-8859-1,
	String table length=0.

2000-02-17 Aarno Syvnen <syvanen@wapit.com>

	* wtp_tid.c : Fixed a bug in the function tid_cached. Tid_in_window
	rewritten for simplicity.

2000-02-16 Sanna Seppanen <sanna@wapit.com>

	* gwlib/http.c: created the new function httpresponse_wrap,
	copy of httprequest_wrap using octstr. haven't tested it with
	chunked entities.

2000-02-16    <rpr@rpr.wapit.com>

	* gw/wsp.c (unpack_caps): fix

Wed Feb 16 14:38:06 2000  Lars Wirzenius  <liw@wapit.com>

	* test/fakewap.c: Changed test for SOL_TCP to actually test the
	macro.

	* README: Added note about CFLAGS may need to be pre-set before
	running configure.

2000-02-16 Aarno Syvnen <syvanen@wapit.com>

	* test/fakewap.c: This version was used for testing of wtp error
	handling and tid verification. Its interface will be simplified.
	Tid_new flag is a now a command line parameter, and it can be turned
	off.

2000-02-16    <rpr@rpr.wapit.com>

	* gw/wsp.c (unpack_caps): fixed one defination error, added extra
	debug for unknown capabilities

Wed Feb 16 00:04:03 2000  Lars Wirzenius  <liw@iki.fi>

	* doc/userguide/userguide.xml: Started filling in. Nothing useful
	yet, I think.

Tue Feb 15 15:01:45 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/CodingStyle: Documented usage of debug().

	* Lots of files: Removed #if 0 wrappers around calls to debug that
	are now unwanted (the wrappers, not the calls).

Tue Feb 15 14:14:11 2000  Lars Wirzenius  <liw@wapit.com>

	* Changed interface to debug() function: Added a new first
	argment `place', which tells where the function is being called
	from. Then added the function set_debug_places (and made relevant
	changes to gwlib/utils.c:get_and_set_debugs), which sets the
	places which should actually be logged.

	This makes it run-time configurable what debugging output gets
	printed.

	Also changed all calls to debug, to make things compile. The place
	is "xxx" everywhere for now, will start changing that next.

2000-02-15  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_attribute): A little more stable compiler;
	doesn't crash when founds an empty attribute text value.

Tue Feb 15 11:16:18 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wml_compiler.c: #include "config.h".

2000-02-15  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (wml_compile): A little bug fix. (**wml_scripts
	now exists, so caller won't try to delete unexistent octet string.)

Tue Feb 15 11:07:00 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Broke out wsp_http_thread function into gw/wsp_http.c
	to make it easier to keep the code clean. The old code was rather,
	er, kludgey.

	* gw/wsp_http.c: Moved wsp_http_thread() and dependent functions
	here and started reorganizing it for cleanliness.

Mon Feb 14 16:56:14 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octstr.c: Added "return -1" at end, since something had
	to be returned and it wasn't returning anything at the moment.

2000-02-14  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c: At the moment does not accept variables at all.

2000-02-14 Aarno Syvnen <syvanen@wapit.com>

	* wtp*: Compiled with -pedantic. Some of warnings removed.

	* wtp_events-decl.h: Added field no_cache_supported to the event
	RcvInvoke.

	* wtp.c: Argument machine added to function wtp_tid_is_valid

	* wtp_machine-decl.h: Field wsp_event added to wtp_machine

	* wtp.c|h corresponding change to type declarations, constructors,
	destructors and debugging functions

	* wtp_state-decl.h: wsp_event stored until tid is validated

	* wtp_tid.c|h: Added code for tid validation

2000-20-03 Sanna Seppanen <sanna@wapit.com>

	* gwlib/octstr.h: gwlib/octstr.c: minor fixes.

	* gw/smsc_cimd.c: bzero() -functions changed to memset()

Thu Feb  3 18:40:38 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Fixed unpack_uintvar to handle multiple bytes. This
	was embarrassing.

2000-02-03  Aarno Syvnen <syvanen@wapit.com>

	* wtp_send.c: added static functions message_rid, set_rid for changing
	retransmission status of an entire message.

	* wtp_events-decl.h: New event RcvErrorPDU added

	* wtp.c: Tell_about_error returns an event when an illegal header is
	received. Wtp_unpack_wdp_datagram returns event RcvErrorPDU when this
	happens, ditto event unpacking functions. Function machine_find_or_
	create handles this event, too.

	* wtp_state-decl.h: Added rows for handling same event.

	* wtp_send.c: Added function do_not_start for handling aborts not
	feeded to the state machine. Some redundant code added, perhaps, but
	this is simpler than changing all wtp_send_abort calls.

2000-02-02  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c (parse_attribute): Little bug fix: end tag added
	to attribute lists.

2000-20-02 Sanna Seppanen <sanna@wapit.com>

	* gwlib/octstr.h, gwlib/octstr.c: added search functions for given
	char & string.

2000-02-02  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
       * gw/smsc.c, gw/smsc_cimd.c, gw/smsc_emi.c, gw/wml.c, 
         utils/OTAbitmap.c, utils/wbmp.c: all bzero functions changed to 
	 memset.

2000-02-02  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c : Basic functions in order, can be used
	with basic WML pages without variables.
	* test/wml_tester.c : Little fixes to output format

Wed Feb  2 13:52:14 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Added a .c.o implicit rule. This is provided by
	all makes automatically, but not all of them make the object
	file go to the same directory as the source file, and instead
	put them into the current working directory. The rest of our
	Makefile assumes the latter behavior.

2000-02-02    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: updated XML to be synchronized with Plectra

2000-01-31  Markku Rossi  <mtr@iki.fi>

	* wmlscript: Lots of code review changes.  Implemented IEEE 754
	binary floating point encoding and decoding.  Implemented
	WMLScript byte-code disassembler.

	* configure.in: Ported to NetBSD.

2000-01-30  Patrick Schaaf <bof@bof.de>

	* gw/wapbox.c: synchronize put_msg / remove_msg using a mutex,
	removing the need for usleep(10ms). Consequently, make heartbeat
	message send a thread of its own. Set test-heartbeat-thread
	to 1 in wapbox.wapconf to see lots of debugging output.
	* gw/wapbox.wapconf: add documentation about temporary
	test-heartbeat-thread setting.

2000-01-30  Patrick Schaaf <bof@bof.de>

	* gw/wapbox.c: fixed race condition when starting empty_queue_thread.
	BTW, that function seems to burn CPU like hell.

2000-01-28  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c : Some little fixes.
	* test/wml_tester.c : Some bug fixes, no more core dump, not
	working yet correctly thou.

2000-1-28 Aarno Syvnen <syvanen@wapit.com>

        * wtp.c: Important trivial change: error message "no concatenation
	supported" changed to "no connectionless mode nor concatenation
	supported"

Fri Jan 28 17:13:47 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.5.

Fri Jan 28 17:10:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp.h, gw/wsp_events-decl.h, gw/wsp_state-decl.h,
	gwlib/http.c, gwlib/http.h: Use HTTP headers from Connect or
	Get PDUs (and add WML and WMLScript content types if they aren't
	already, and the compiled forms are).

Fri Jan 28 13:14:52 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c: Only dump non-heartbeat messages.

	* gw/wsp_events-decl.h, gw/wsp_machine-decl.h: Now these headers
	check at top of file that the required macros are defined and
	complain with #error otherwise. Related changes to files that
	include the headers.

	* gw/wsp.c: Headers from Connect PDU are stored in the WSPMachine,
	and used in the HTTP request.

	* gwlib/http.c: Removed User-Agent header from those we add to
	the request.

2000-01-27 Sanna Seppanen <sanna@wapit.com>

	*gwlib/http.c, gwlib/http.h implementation of http_post. all bzero
	-functions changed to memset.

	*gwlib/http.c, gwlib/http.h  http_get changed to use http_get_u
	with NULL header pointer.

Thu Jan 27 20:09:23 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c, gw/wtp.h: Fixed locking of WTPMachine list (the previous
	code had race conditions in it). Introduced wtp_init function.

	* gw/wsp.c, gw/wsp.h: Similarly for WSPMachine list (it was unlocked
	completely) and wsp_init. Also minor cleanup.

	* gw/wapbox.c: Call wtp_init and wsp_init at startup.

2000-01-27  Tuomas Luttinen  <tuo@wapit.com>

	* gw/wml_compiler.c : some little bug fixes

	* test/wml_tester.c : A tester for the new WML compiler added.

2000-1-27 Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: Added rows receiving RcvInvoke when the state is
	RESULT_RESP_WAIT. In this case, we simulate a timer: we resend MAX_RCR
	times and then abort the transaction.

	* wtp_machine-decl.h: Attribute result, for result message, added.

	* wtp.c: Constructors, destructors and debugging functions for
	wtp machine rewritten with the previous attribute added.

	* wtp_send.c|h: function wtp_resend_result added. Function send_result
	now returns the sended message.

Thu Jan 27 17:34:53 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c, gw/html.c, gw/smsbox.c, gw/smsc_emi.c, gw/wml.c,
	gwlib/gwstr.c, gwlib/http.c: Applied Solaris portability fixes
	from Derry Hamilton <derry.hamilton@pa.press.net>.

Thu Jan 27 16:19:35 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Fixed check for length of Abort PDU. Two equals
	signs were missing, probably a typo.

Thu Jan 27 15:37:14 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp_state-decl.h: If client sends new Connect PDU,
	disable all old sessions.

Thu Jan 27 14:01:50 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/socket.c, gwlib/thread.c: Hopefully silenced compiler
	warnings on non-Linux platforms.

Thu Jan 27 13:47:34 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/msg.c, gw/wtp.h, gwlib/socket.h: Added includes for
	<sys/types.h>, which is required for <netinet/in.h> on some
	platforms (Linux makes it harder to write this portably,
	since it works with or without it).

Thu Jan 27 13:43:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Don't set client address to NULL, just set client
	port to -1, when disabling a session.

Thu Jan 27 13:40:44 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in, configure, README: Added check for zlib and
	documented it in README.

Wed Jan 26 23:03:30 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Mark WSPMachine unused in case of unhandled event.

Wed Jan 26 22:19:21 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/octet.[ch], gw/boxc.c, gw/wapbox.c: Added a wait time
	argument to read_available, since sometimes we do want to wait
	for data a bit. This matters in the wapbox, since now it can wait
	for data without busylooping too tightly (only once per second),
	but it will still notice when SIGINT is received (with up to a
	one second wait).

	* gw/csdr.c: If we get ECONNREFUSED, re-try the recvfrom. The
	error is caused by a previous syscall for sending a packet to an
	unknown destination, but because it's not possible to wait until
	the error is received, network latencies being rather long, the
	error is received by a later syscall. We just ignore it now.

	* gw/wsp.c: Handle "application/vnc.wap.wmlc" by passing it
	directly to the user.

	* test/fakewap.c: Added calculation of average number of messages
	per second, and minor error message fixes.

Wed Jan 26 20:44:26 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: If an unhandled event is TR-Invoke.ind, then send
	a TRAbort.req to WTP so that the phone will know something's
	wrong.

	* gw/wtp_send.c: Don't pack user_data into Abort PDU, since it
	isn't in TRAbort event anymore. (Related to Aarno's change
	below.)

2000-01-26 Aarno Syvnen <syvanen@wapit.com>

	* wtp_events-decl.h: Added event TRInvokeRequire, removed user_data
	from TRAbort

	* wtp_state-decl.h: Handling event TRAbort fixed.

Wed Jan 26 18:14:39 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c: Fixed SIGINT reactions so it doesn't wait until
	bearerbox breaks connection when wapbox stops sending heartbeat
	messages after SIGINT.

Wed Jan 26 17:57:32 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp_state-decl.h: Fixed compile time warnings
	about unused or uninitialized variables. Had to comment out
	Reconnect handling, because it doesn't seem to work at all,
	and I don't have time to investigate.

Wed Jan 26 16:28:05 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wml_compiler.[ch]: Comment out everything if HAVE_LIBXML
	is not defined by configure. This is needed until everyone doing
	development has libxml installed.

Wed Jan 26 15:13:25 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in: Check for gnome-xml library, which is needed by
	the new WML compiler.

	* README: Documented need for the gnome-xml library. (Sorry about
	that, I promise not to document anything again.)

2000-01-26  Tuomas Luttinen  <tuo@tuo.wapit.com>

	* octstr.h: functions added: octstr_create_tolower, octstr_ncompare
	* octstr.c: implementation of the new functions octstr_create_tolower,
	octstr_ncompare added.

	* gw/wml_compiler.h: header for the new WML compiler added
	* gw/wml_compiler.c: the new WML compiler added

2000-01-26 Aarno Syvnen <syvanen@wapit.com>

	* Oops, segmentation work stopped

	* wtp_state-decl.h: Added timer rows (now only missing event is Error
	PDU)

	* wtp_send.c: Added parameter abort_reason to parameter list of
	wtp_send_abort (so that function call conforms closely with specs.)

	* wtp.c: Locks added to functions wtp_machine_mark_unused, 
	wtp_machine_destroy, wtp_machine_create_empty and wtp_machine_find.

Wed Jan 26 12:01:17 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/csdr.c, test/udp_send.c: Added missing casts to (struct
	sockaddr *) for some socket operation calls.

Wed Jan 26 11:44:12 2000  Lars Wirzenius  <liw@wapit.com>

	* README: Added "touch .depend; make depend" to building
	instructions. Not all makes build missing include files
	automatically.

2000-01-25    <rpr@rpr.wapit.com>

	* gw/urltrans.c: added some missing initializations which caused
	sendsms to crash

	* gw/wsp_headers.s: added some code to fool code reviewer

Tue Jan 25 17:27:53 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http.c: Commented out gw_free calls for error situations,
	where it causes a segfault for some reason. This is not a fix,
	it is an ugly workaround, but it should avoid the problem until
	we have time to review the whole memory allocation/freeing
	situation. (The gateway is already leaking memory a lot.)

Tue Jan 25 17:14:12 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/thread.c: Added comments to explain how mutex_try_lock
	works, and fixed a bug that left the mutex locked in case of
	recursive locks.

Tue Jan 25 16:51:43 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp_state-decl.h, gwlib/octstr.c: Applied patch
	from francois-xavier.hannedouche@philips.com to provide partial
	support for Post PDU with only one argument. Also adds support
	for enabling a reconnection.

Tue Jan 25 14:59:05 2000  Lars Wirzenius  <liw@wapit.com>

	* utils/seewbmp.c: Added to CVS. Simple debugging tool written by
	Richard Braakman.

	* Makefile.in: Related changes.

2000-01-25    <rpr@rpr.wapit.com>

	* gw/bb_msg.c: Fixed error in rq_pull_smg_class, which caused
	failure with 2 wapboxes. Hopefully did not break SMS portion.

	* gw/csdr.c: commented out octstr_dump of each incoming message

	* gw/*.*conf: edited them so that no-one can use them without
	editing, should handle loads of basic questions in devel-list

	* gw/*box.c: put an appropriate error message

2000-01-25    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: One fix more, now the internal smsbox does not
	consume all the CPU it can

2000-01-25    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: Some optimization to queue watchers, now it
	should not do updates with no effect, hopefully reducing CPU usage
	in a long run.

Mon Jan 24 21:23:43 2000  Lars Wirzenius  <liw@wapit.com>

	* README: Updated a bit.

Mon Jan 24 21:01:50 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Fixed install target.

	* VERSION: Marked as non-release version.

Mon Jan 24 20:53:47 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp.h, gw/wsp_events-decl.h, wsp_state-decl.h:
	WSP now obeys client SDU size limit. Had to add a pointer to
	the session machine to a WSP event, which caused non-local
	trivial changes.

2000-01-24	Sanna Seppanen <sanna@wapit.com>
	*gwlib/http.h: function added: header_dump.
	*gwlig/http.c: implementation of header_dump


Mon Jan 24 19:06:58 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in, configure: Look for -lresolv if it is necessary.
	(From Derry Hamilton <derry.hamilton@pa.press.net>)

	* gwlib/socket.c: Portability kludge for Solaris. Should be fixed
	later. (Likewise from Derry.)

	* test/fakewap.c: Moved definition of `ret' inside #ifdef so that
	it doesn't cause an "unused variable" warning.

2000-01-24    <rpr@rpr.wapit.com>

	* gwlib/http.h|c: added functions header_pack and header_destroy
	and fixed header_dump

	* gw/wsp.c: moved header code into separate module, and modified
	the interface

	* gw/wsp_headers.c|h: added, now decodes header into HTTPHeader
	struct. Decoding only partial, but at least headers sent by the
	7110 are decoded.


2000-01-21   Sanna Seppanen <sanna@wapit.com>
        * gwlib/http.h: function added: http_get_u.

	* gwlib/http.h: implemented http_get_u.
	shortened code for some functions.


Fri Jan 21 19:05:35 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.4.

	* The gateway is now called Kannel. Whee!

	* Changed wapgateway.org to kannel.org, since the name of the
	domain is changing.

Fri Jan 21 18:36:33 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in, configure, Makefile.in, README.docbook: Added
	--enable-docs and --without-docs options.


Fri Jan 21 14:18:24 2000  Lars Wirzenius  <liw@wapit.com>

	* wmlscript/wsgram.c, wmlscript/wsgram.h: Added to CVS. These
	are the files that Bison generates.

Fri Jan 21 13:42:57 2000  Lars Wirzenius  <liw@wapit.com>

	* VERSION: Bumbped to 0.3. Forgot to do that for the release.
	Stupid me.

	* Makefile.in, doc/arch/arch.xml: Put version number (from
	VERSION) into DocBook documents.

	* doc/arch/*.xml: Minor corrections.


2000-01-21    <rpr@rpr.wapit.com>

	* gw/smsc.c: added comments of where to add new SMSCes

	* gw/smsc_emi.c: fixed error in return values in submit_message

	* gw/smsc_interface.def: ADDED interface definitions

	* gw/wsp.c: removed some warnings

	* test/fakewap.c: threaded fakewap from Antti Saarenheimo


2000-01-20    <rpr@rpr.wapit.com>

	* gw/wsp.c: now decodes all headers sent by 7110 except that
	strange 0x01 0x00 at the end of it (against spesifications?). No
	real implementation for that information, yet.

2000-01-20    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: added missing accept_pending initialization and
	commented SIGINT handling procedure

	* gw/wsp.h: moved WSP header definitions to wsp.c

	* gw/wsp.c: initial header decoding, only debug output yet, and
	only decodes some common headers

Wed Jan 19 13:22:13 2000  Lars Wirzenius  <liw@wapit.com>

	* doc/dialup.txt: Added. E-mail from Roger Willcocks describing
	how to set up a dialup line for use with the gateway.

Wed Jan 19 13:18:22 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/gwlib.h: Added #include "config.h".

Wed Jan 19 11:38:05 2000  Lars Wirzenius  <liw@wapit.com>

	* gwlib/http.c: Applied parts of patch from Erik Bos. We're going
	to do the header addition stuff in another way soon ourselves.

Wed Jan 19 10:33:39 2000  Lars Wirzenius  <liw@wapit.com>

	* configure.in: Added check for inet_aton in arpa/inet.h, using
	GW_HAVE_FUNC_FROM. This should make things work for Solaris.

Wed Jan 19 10:21:39 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Silence WMLScript compiler tracing info.

	* gwlib/getnameinfo.h: Bugfix: use #ifdef, not #if, to test whether
	a macro is defined.

2000-01-18    mikael.gueck@wapit.com

	* gw/smsc_cimd.c: submit_sms UDH-enabling fix

Tue Jan 18 16:02:49 2000  Lars Wirzenius  <liw@wapit.com>

	* Release 0.3.

2000-01-18    <rpr@rpr.wapit.com>

	* test/fakewap.c: Added new program by Antti Saarenheimo

Tue Jan 18 14:06:09 2000  Lars Wirzenius  <liw@wapit.com>

	* wmlscript/wmlsc.c, wmlscript/wsalloc.c,
	wmlscript/wsstream_data.c: Put in patch from Markku Rossi, to
	fix bug in function that compiles from data instead of file,
	and various helpfulness to wmlsc.

	* gw/wsp.c: Use internal WMLScript compiler.

Tue Jan 18 12:55:36 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Use WMLScript compiler as an external process. This
	works, the internal one has problems (or else I have problems
	using it).

	* gw/wsp_state-decl.h: Commented out, at least temporarily, rows
	that handle method invocations before session has been opened.

Mon Jan 17 17:47:37 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Added WMLScript compilation (untested, though), and
	fixed server transaction ID generation (they weren't generated,
	nor used properly).

2000-01-17 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Removed goto branches made unnecessary by introduction of
	gw_malloc. Unused variables removed, too.

	* Segmentation work began.

Mon Jan 17 15:38:15 2000  Lars Wirzenius  <liw@wapit.com>

	* AUTHORS, wmlscript/*, configure.in, Makefile.in: Added WMLScript
	compiler from Marko Rossi.

Mon Jan 17 14:42:50 2000  Lars Wirzenius  <liw@wapit.com>

	* wapbox.c: Added signal handlers for SIGINT, SIGHUP, and SIGPIPE.

Mon Jan 17 11:33:22 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in, configure.in, configure: Added support docdir and
	"make install-docs".

	* gwlib/getnameinfo.h: Define NI_ macros unless they're already
	defined.

2000-01-14    <rpr@rpr.wapit.com>

	* gw/*box.c: Added SIGPIPE as ignored signal

Thu Jan 13 19:12:11 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c: Renamed memory_error to pdu_too_short error, since it
	wasn't a memory allocation error. Changed the user visible error
	message also.

Thu Jan 13 18:39:46 2000  Lars Wirzenius  <liw@wapit.com>

	* Makefile.in: Added stuff to compile documents.

	* configure.in, configure: Added stuff to check for jade and docbook
	stuff.

	* doc/*/Makefile: Removed.

Thu Jan 13 17:28:50 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Enabled code to use external WML compiler. Name of
	compiler is "./test_wml" or given in the TEST_WML environment
	variable.

	This is a temporary solution until the new compiler works.

	* Makefile.in: Added (trivial) install target.

2000-01-13    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: added XML getstatus cgi-bin - many fields
	missing, but basic data should be available

Thu Jan 13 12:19:15 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.c, gw/msg.c, gw/smsbox_req.c, gw/wtp_send.c,
	gwlib/octstr.c, gwlib/octstr.h, gw/wtp_state-decl.h, gw/wsp.c:
	Removed some now unnecessary error checking.  Since we use
	gw_malloc, octet string functions (among others) won't fail,
	so there's no need to check and handle that. This simplifies
	code a bit.

	* gw/wsp.c: Added (currently commented out) code to run WML
	compiler as a separate process, to work around a bug that crashes
	it sometimes when compiling several pages during a session.
	(New compiler being written from scratch, so I didn't want to
	debug the current one too much.)

	* gwlib/thread.h: Added "include #config.h"" so that we a
	definition for HAVE_PTHREAD_H is included properly. This fixes
	the bug that reported thread id always is 0.

2000-01-12    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: added some usleeps

Wed Jan 12 16:06:01 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.2.2.

Wed Jan 12 15:16:49 2000  Lars Wirzenius  <liw@wapit.com>

	* lots of small changes in lots of files: Changed the gateway
	to systematically use gw_malloc and friends instead of malloc
	and friends directly. It shall henceforth be considered an
	error for anything but gwlib/gwmem.c to call malloc or friends
	directly. (Six unchecked malloc calls found during this cleanup.)

	This does mean that the gateway won't report an out-of-memory
	condition to the phone, but at this point that's a better option
	than randomly using or not using gw_malloc and randomly checking
	or not checking whether it succeeded.

2000-01-11    <rpr@rpr.wapit.com>

	* gw/wsp.c|h: capabilities client|server SDU size, method|push MOR
	and protocol options (partially) now supported. Note tested, and I
	think that rest of the system ignores SDU settings, fix that later.

2000-01-10    <rpr@rpr.wapit.com>

	* gw/wsp.*: continued capability work

2000-01-10 Aarno Syvnen <syvanen@wapit.com>

	* wtp_events-decl.h: added user_data to primitive TRAbort (WSP
	PDU will use it).

        * wtp_send.c: Corresponding change to function pack_abort. Module
	reorganised by adding static functions tell_send_error, insert_pdu_
	type, indicate_simple_message, insert_tid, insert_rid, insert_abort_
	type, insert_ack_type

	* wtp.c: Function wtp_machine_find_or_create reorganised. Now it can
        handle event RcvAbort, too.  Function wtp_unpack_wdp_datagram
	reorganised by adding static functions deduce_tid, message_header_
	fixed, deduce_pdu_type, single_message, protocol_version, unpack_ack,
	unpack_abort, unpack_invoke and tell_about_error.


Mon Jan 10 15:48:17 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wml.c: Applied patch from Petri Ahonen <peahonen@ahonen.net>
	with fixes to WML encoding.

Mon Jan 10 11:02:33 2000  Lars Wirzenius  <liw@wapit.com>

	* config.h.in, gw/bearerbox.c, gw/smsc_emi.c, gw/smsc_smpp.c,
	gw/wapbox.c, gw/wsp.c, gwlib/thread.c: Silenced compiler warnings
	when compiling with -Wall.

Mon Jan 10 10:10:22 2000  Lars Wirzenius  <liw@wapit.com>

	* Removed automake. Automake makes huge, complicated Makefiles
	that I am rather reluctant to decipher, and I would have had to
	do that to incorporate WMLScript compiler source. So I removed
	the Makefile.am's and made a Makefile.in by hand.

Mon Jan 10 07:36:36 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Fixed function wsp_http_thread so that is handles
	WBMP images correctly (i.e., sends them to the phone).

2000-01-07    <rpr@rpr.wapit.com>

	* gw/wsp*.c: initial code to handle capabilities. Not finished.

	* gw/wapbox.c: removed double logging (use log-file in
	configuration)

	* gw/bearerbox.c: fixed WAP routing (no more crashes because of
	WAP traffic while connected to SMSC)

Fri Jan  7 18:06:38 2000  Lars Wirzenius  <liw@wapit.com>

	* gw/boxc.c, gwlib/http.c, gw/wapbox.c, gw/wtp.c: Made sure
	variables are initialized (compiled with gcc -Wall -O2, which
	hasn't been done for a while), or removed unused variables.

	* gw/wsp_events-decl.h, gw/wsp_state-decl.h: Added response_type
	member to SMethodResultRequest so that the Content-Type header
	can be communicated to the phone.

	* gw/wsp.c: Set response_type according to what the HTTP server
	returns as Content-Type. Also, don't blindly assume everything
	is WML.

Fri Jan  7 14:47:09 2000  Lars Wirzenius  <liw@wapit.com>

	* Making release 0.2.

Fri Jan  7 12:01:09 2000  Lars Wirzenius  <liw@wapit.com>

	* AUTHORS, NEWS, README, Release-0.2, VERSION, gw/bearerbox.conf:
	Preparing for release.

	* Makefile.am, Makefile.in: Removed stuff from EXTRA_DIST.

	* doc/fakewap-packets.txt: Wrote. This explains the packets that
	the upcoming fakewap program will use.

2000-01-05    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: fixed memmove calls (thanks to Yuri for pointing
	them out)

2000-01-04    <rpr@rpr.wapit.com>

	* gw/wapbox.c: removed automatic logfile opening and instead added
	configuration variable log-file and log-level. Also added standard
	command line options identical to smsbox and bearerbox.

	* gw/wml.c: removed duplicate of 'write_variable_value' function
	(original in gwlib/utils.c)

2000-01-03    <rpr@rpr.wapit.com>

	* gw/wapbox.c (send_heartbeat): added heartbeat sending. And
	changed bearerbox port and host information to default values,
	not undefined. Patvched some files to make it work

Thu Dec 30 17:51:28 1999  Patrick Schaaf  <bof@bof.de>

	* gw/boxc.c, gwlib/http.c, gwlib/socket.{c,h}: reverted
	introduction of gw_getnameinfo() in favour of getnameinfo,
	which is now "emulated" properly.

Thu Dec 30 18:47:19 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: WML page is now fetched from the URL specifed in the
	Get PDU and compiled, then sent to phone. Is this a WAP gateway
	yet?

Thu Dec 30 17:55:22 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile, */Makefile: Removed from CVS, since they're supposed
	to be generated, and not included in the distribution.

1999-12-30    <rpr@rpr.wapit.com>

	* gw/smsbox.smsconf: improved documentation

	* gw/bearerbox.conf: ditto

Thu Dec 30 17:04:40 1999  Lars Wirzenius  <liw@wapit.com>

	* */Makefile, configure: Ran automake and autoconf and configure,
	thus some file re-generated.

	* NEWS, AUTHORS: Added empty ones. automake requires them.

Thu Dec 30 16:57:50 1999  Lars Wirzenius  <liw@wapit.com>

	* Applied patch from bof@bof.de for autoconf support. Renamed
	LICENSE to COPYING, and various other similar minor changes.

1999-12-30    <rpr@rpr.wapit.com>

	* gwlib/socket.c: added that missing reuseaddr to
	connect_with_port

	* gw/smsbox_req.c: oops, did not return all working code, now it
	should work as it did earlier

	* gw/smsc_emi.c: some little fixes to udh messages

1999-12-30    <bof@bof.de>

	* more autoconf: compiles on libc5 and libc6 Linux,
	  and Solaris 2.6 with gcc. See README.autoconf

1999-12-29    <bof@bof.de>

	* converted to use automake/autoconf: ./configure && make

Wed Dec 29 22:06:22 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Three bugs in Reply PDU fixed: status code should
	be encoded (200 is encoded as 0x20); the length of the content
	type field should be included; and the high bit of the octet
	that tells the content type should be set.

	After these modifications, a trivial "Hello, world" WML page is
	now successfully transferred to a 7110 phone. Yesh. Any year
	now we will really have a WAP gateway.

1999-12-29 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c, wtp_send.c: Added label WTP and function names in error
	messages.

	* wtp_state-decl.h: More rows added. Now all events expect timer and
	error are handled.

	* wtp_send.c: Added abort_type in the argument list of the function
	send_abort.

	* wsp_state-decl.h: Added rows for handling Get and Disconnect PDUs
	when the state is NULL_STATE (these are needed for restarting the
	wapbox.

1999-12-28    <rpr@rpr.wapit.com>

	* gwlib/log.*: added log level 'forced' and updated documentary in
	header file.

1999-12-28 Aarno Syvnen <syvanen@wapit.com>

	* wtp_send.c: bug fixing in functions send_ack and send_abort

1999-12-22 Aarno Syvnen <syvanen@wapit.com>

	* spaces around assignment operators added

	* wtp.c: function machine_find_or_create rewritten. We should not
	create a new machine when we are not receiving an invoke pdu.

	* wtp.c, wtp_events-decl.h: TRResult has now wsp_tid amongst its
	attributes

	* wsp_events-decl.h: Superflous events removed

	* wtp_send.c: Internal function wtp_add_datagram_address added, send*
	functions changed respectively. Added functions send_ack and
	send_abort

        * wtp_machine-decl.h: added attribute tid_ve, which tells are we
	doing tid verification or normal acknowledgement

	* wtp_state-decl.h: added rows for handling receiving invoke pdu, when
	state is result_wait

1999-12-22    <rpr@rpr.wapit.com>

	* gw/smsc.c, conf-files: changed SMSC configuration vairable
	username and password into smsc-username and smsc-password with
	future HTTP adminstration in mind.

1999-12-22    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c (do_split_send): returned old code until Mikael
	fixes his new one.

1999-12-21    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c: fixed default username printing problem. Still
	waiting for Mikael to fix that split_send, it is not working
	properly right now.

	* gw/bearerbox.c: little modifications to debug output

Tue Dec 21 15:17:32 1999  Lars Wirzenius  <liw@wapit.com>

	* README.docbook: Wrote. Includes instructions for getting Docbook
	working (on Debian and Red Hat; patches for other systems most
	welcome).

	* gw/wml.c, gw/wml.h, test/test_wml.c: Added to gateway module
	from old smsgateway module. Code written by Peter Grnholm.
	Implements WML compiler.

	* gw/msg.c, gw/wsp.c, gw/wtp.c: Dumping function only prints
	out the relevant parts of the structure, not all fields.

	* gw/anything-related-to-wapbox-wtp-or-wsp: Removed
	extra debugging stuff to make log files more readable even during
	debugging. (Put'em back if you need'em.)

	* gw/wapbox.c: Emptying the queue of message going to the bearer
	box is in its own thread.

	* gw/wsp.c, gw/wsp_events-decl.h, gw/wsp_state-decl.h: Implemented
	some more of the WSP. Now a Get PDU is parsed and a new thread
	is spawned to do the HTTP fetch (which at the moment just reads
	from a hardcoded file, but that's trivially fixable later). The
	thread then sends back a Reply PDU with the contents of the
	(compiled) WML page. However, the phone doesn't accept it yet,
	something strange is going on.

	* gwlib/octstr.[ch]: Wrote function octstr_read_file, which reads
	the contents of a file into an octet string.

1999-12-20    <rpr@rpr.wapit.com>

	* gwlib/socket.*: added function connect_to_server_with_port which
	binds our end of the socket to given port number.

	* gw/smsc_emi.c, gw/smsc.c: added 'our-port' configuration
	variable to the EMI IP code.

1999-20-12	Mikael Gueck <mikael.gueck@wapit.com>

	* gw/smsbox_req.c: Dropped in a replacement for split_send()
	still without the vital UDH part. Hopefully didn't miss any
	features.

Fri Dec 17 20:08:56 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp_state-decl.h: State RESULT_RESP_WAIT actually sends the
	TRResultConfirmation event to WSP.

	* gw/wsp_state-decl.h: State CONNECTING_2 implemented. This required
	rather a little work, since there is no action. :-)

	* gw/wsp_state-decl.h: State CONNECTED implemented, sort of. Well,
	not really. What happens is that the phone sends a Get PDU, and
	we receive it and unpack it in this state, do the http_get call,
	and dump with debug() the result to the log file. This is enough
	to make sure that the PDU is unpacked correctly and the protocol
	works well enough that the phone thinks the session is open and
	it can make S-MethodInvokes. Whee.

	The next step is to implement things correctly, so that events
	are handled while the URL fetch is happening, and so on.

	* gw/wsp.c: Fixed unpack_octstr (it used offset 0, instead of
	what it got as an argument). Changed wsp_dispatch_event so that
	it tries to find an existing, correct WSPMachine instead of always
	creating a new one. Made wsp_unpack_connect_pdu an internal
	function, since it's not going to be used from outside wsp.c.

Fri Dec 17 17:25:18 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: use TID of the machine that receives the event,
	instead of generating a new one.

1999-16-12 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: Fixing still wtp_machine_find_create. Now it can handle many
	  events.

Wed Dec 15 18:43:27 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c: Dump message to be sent to bearerbox, for debugging.

	* gw/wsp.c: Fixed generation of variable length integers for
	WSP PDU's.  Old code didn't even resemble correct working.

1999-14-12 Aarno Syvnen <syvanen@wapit.com>

	* wtp_send.c: in function wtp_pack_result, fix errors in packing wtp
	pdu fields.

Tue Dec 14 17:05:05 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp_send.c: Set destination address as the phone, not the
	gateway (and source address as the gateway, not the phone) when
	sending a message to the phone.

Tue Dec 14 16:34:39 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wtp.c: Fixed calls to mytex_try_lock (which
	returns -1, not EBUSY, when the lock failed).

Mon Dec 13 20:47:28 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/bb_msg.c, gw/bb_msg.h, gw/bearerbox.c, gw/smsbox.c,
	gw/smsc.c, gw/smsc_p.h, gw/wapbox.c, gw/wsp.c, gw/wsp.h,
	gw/wsp_machine-decl.h, gw/wtp.c, gw/wtp.h, gw/wtp_machine-decl.h,
	gwlib/thread.c, gwlib/thread.h: Replaced pthread_mutex_t with
	Mutex (defined in gwlib/thread.h), so that the evil kludge to work
	around pthread_mutex_trylock can be hidden inside gwlib/thread.c.
	This required touching lightly lots of code, but it should
	work now. Sorry if I broke anything.

Mon Dec 13 19:31:56 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c, gw/wapbox.h (new file): Wrote functions for
	keeping a queue of messages to be sent to the bearer box.

	* gw/wtp_send.c: Made use of the message enqueueing function.

Mon Dec 13 18:43:54 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: WSPMachine now remembers its own address and port as
	well as the client's; also added session_id field.

	* gw/wsp.c: Wrote code for creating WSP PDU's. Now creates a
	trivial ConnectionReply PDU.

	* gw/wsp_events-decl.h, gw/wsp_state-decl.h: Added field `machine'
	to SConnectResponse event to store the machine to which the
	SConnectResponse handler should send WTP requests. This is
	a kludge but it was (temporarily) easier to do than fixing
	wtp_find_or_create_machine.

	* gw/wsp_state-decl.h: Implemented most of SConnectResponse.

	* gw/wtp.c, gw/wtp.h: : Wrote function wtp_machine_create, which
	gets all relevant information via the argument list. This is
	mostly just reorganizing and renaming the internal name_machine
	function.  This involved changing wtp_machine_find_or_create
	as well.

	* gw/wtp.c: Removed locking of WTPMachine list, since it was
	incorrect and needs to be re-done in a different way. The current
	code has no locking, but at least it works if we're really,
	really careful.

	* gw/wtp_send.c: Commented away the calls to msg_destroy and
	octstr_destroy, since they caused segmentation faults (free
	called to often, or too early). This means yet another memory
	leak, but that's OK for now. We'll have to design a sensible
	way of dealing with memory de-allocation anyway.

Mon Dec 13 16:36:34 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile: test programs are also removed by "make clean".

	* gw/wapbox.c: Uses a log file (wapbox.log). Debug messages tweaked.

	* gw/wtp.c: Minor tweaking and bug fixing. Fixed wtp_next_tid:
	It shouldn't get the next or current tid as its argument,
	but use a static variable instead.  wtp_event_destroy is
	commented out to avoid problems with freeing things too early.
	wtp_event_dump output tweaked so it's clearer.	All debug messages
	say they come from WTP now; this helps reading long log files.
	WTPMachine.tcl is now set. Log file functions now don't get
	`errno' as their argument when it's not relevant (this cleans
	up log files quite a bit). New debugging message sprinkled
	all over the code. Added kludge to wtp_handle_event to avoid
	problem with pthread_mutex_trylock (see comment). Fixed problem
	wtp_handle_event so it uses machine->state and event->type
	(instead of separate variables that need to be kept up to date
	separately).

	* gw/wtp.h: Fixed prototype for wtp_tid_next.

	* gw/wtp_state-decl.h, state LISTEN: Actually sends the WSPEvent
	it generates to WSP, using wsp_dispatch_event (new function,
	see below).

	* gw/wtp_machine-decl.h: Added field `locker' as part of kludge
	for pthread_mutex_trylock.

	* gw/wsp.c: Lots of changes. Keeps list of WSPMachines (but
	doesn't use it yet). WSPEvent dumping improved. Wrote function
	wsp_dispatch_event to make it simpler for WTP to send events
	(current version doesn't yet try to find the correct WSPMachine,
	but always creates a new one). Lots of debugging messages
	sprinkled throughout the code. Added similar pthread_mutex_trylock
	kludge as for WTP in wsp_handle_event. Fixed bug in identifying
	the type of a WSP packet (got 0 and 1 wrong, stupid me).

	* gw/wsp.h: Added prototype for wsp_dispatch_event and missing
	#defines for WSPMachine definition.

	* gw/wsp_events-decl.h: Added event SConnectResponse.

	* gw/wsp_state-decl.h: NULL_STATE now implemented (only a lot of
	states more...).

	* gw/wsp_machine-decl.h: Added new fields for client address
	and port (for wsp_dispatch_event routing), locker (for kludge)
	and next (for keeping a list of WSPMachines).

	* gwlib/thread.c: Removed unnecessary empty lines from end.

1999-07-12 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: fixed locking bugs in functions wtp_machine_*

	* wtp.c, wtp.h, wtp_state-decl.h: fixed wsp handle

	* changing debugging functions all the time

1999-03-12 Aarno Syvnen <syvanen@wapit.com>

	* gwlib/thread.c: added function mutex_destroy

	* wtp.c: Added (uncommented) list locks in functions wtp_machine_*.
	Now these functions panic when mutexes are not iniatilized.

	* wtp.h: updated external function comments

1999-01-12 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: fixed a bug in wtp_machine_find (now it actually does find
	a machine)

	* wtp.c: implemented wtp_tid_next and added global variable gen_tid
	(it is used as a transaction handle).

	* purely estetical changes everywhere (prettier comments, etc.)

1999-30-11 Aarno Syvnen <syvanen@wapit.com>

	* wtp_state-decl.h: added event receive abort pdu

Tue Nov 30 17:37:58 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c: Replaced call to malloc with call to gw_malloc.

Tue Nov 30 17:13:36 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.c, gw/wtp.h, gw/wtp_machine-decl.h: Added event queues
	to WTPMachine and wtp_handle_event.

Tue Nov 30 16:33:29 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wsp.c, gw/wsp.h: Implemented wsp_handle_event (doesn't really
	work yet, needs wsp_state-decl.h first).

	* gwlib/thread.[ch]: Added mutex_try_lock.

Tue Nov 30 14:51:01 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile: fixed "make depend" to add the directory of the object
	file to the .depends file.

1999-11-30 Aarno Syvnen <syvanen@wapit.com>

	* wsp_events-decl.h: added fields for wsp pdu type and event handle
	(unnecessary but mandatory). WSPEvent data structure represents both
	WTP primitive and WSP event.

Mon Nov 29 19:33:42 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wtp.h: wtp_handle_event will call wsp_handle_event (not yet
	written) instead of returning the WSPEvent, changed the return type
	to void. Moved WTPTimer definition back to wtp_timer.h. Simplified
	code by only using the pthreads version places where there was a
	choice. Added wtp_machine_create and wtp_tid_next prototypes.

	* gw/wtp.c, gw/wtp_timer.h, gw/wapbox.c, gw/wtp_machine-decl.h:
	Related changes.

	* gw/wtp_send.c: Added static to local function.

	* gw/wsp_state-decl.h: Replaced pseudo code function with more
	detailed code to generate events for WTP.

1999-11-29    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c: added that 'return' to smsbox request if
	max-messages was set to '0'

Mon Nov 29 17:17:44 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/bearerbox.conf: Replaced interface-name's IP number with *,
	so that it works on other machines as well.

	* gw/wsp.c, gw/wsp.h, gw/wsp_machine-decl.h, gw/wsp_state-decl.h:
	Wrote.

	* gw/wtp.c, gw/wtp.h: Moved and renamed things for wsp stuff.

	*

1999-11-29 Aarno Syvnen <syvanen@wapit.cm>

	*header files reorganized so that (most) types are defined in wtp.h

	*wtp_send.c: added a prototype result PDU packing function

1999-11-29    <rpr@rpr.wapit.com>

	* gwlib/octstr.c, gw/*box.c: modified octstr_recv to return 1 for
	data and 0 for EOF. Changed boxes accordingly

1999-11-29    <rpr@rpr.wapit.com>

	* gwlib/*: renamed gwlog as log and separated socket functions to
	own module 'socket.c'. Renamed remaining wapitlib as 'utils'

	* */*.c, */*.h: removed last wapitlib.h references

1999-11-29    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c: added sender username for sendsms request log
	output

	* gw/urltrans.c: fixed swapped receiver and sender

	* gwlib/*.*: split wapitlib into several parts, some splitting
	still possibly. All projects should work but those including
	wapitlib.h should be converted to use gwlib.h instead

1999-11-26    <rpr@rpr.wapit.com>

	* gwlib/gwmem.*, gwlib/gwlib.h: Added new dynamic memory handling
	functions. All programs should be modified to use these. They
	simply PANIC if the allocation fails, so need to check their
	return value.

1999-11-26  Aarno Syvnen <syvanen@wapit.com>

	*wtp_state-decl.h: Added new rows in the state table (enough to run
	wtp proto).

1999-11-25  Aarno Syvnen <syvanen@wapit.com>

	*wtp.c: Fixed another bug in the function handle_event. No it
	generates only one indication, even though it receives many
	invoke messages.

1999-11-25    <rpr@rpr.wapit.com>

	* gwlib/gwlib.h: added general gwlib header, which includes all
	parts of gwlib

	* */*.c: modified most of the modules to use new gwlib.h. Old ones
	still work

Thu Nov 25 15:49:13 1999  Lars Wirzenius  <liw@iki.fi>

	* gw/smsc_p.h: Added a missing include for signal.h to get the
	sig_atomic_t typedef.

1999-11-24    <rpr@rpr.wapit.com>

	* gw/smsc.c: delayed re-open calls, with panic-option

	* gw/bearerbox.c: added load of mutex lockings

	* gw/smsbox_req.c, gw/urltrans.*: added 'footer' and 'header'
	service configurations

	* utils/makedist: partial update

1999-11-24 Mikael Gueck <mikael@wapit.com>

	* gw/csdr.c, gw/boxc.c: Solaris compatibility hack, later
	  to wapitlib.c.

Wed Nov 24 13:31:44 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile, Rules.mk, doc/*/Makefile: Modifications so it works
	on Red Hat and gets timestamps OK.

Wed Nov 24 12:30:46 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/wapbox.c: wapbox.conf renamed to wapbox.wapconf.

1999-11-23 Aarno Syvnen <syvanen@wapit.com>

	* header files: fixed few bugs in files wtp_machine-decl.h and
	wtp_state-decl.h

	* wtp.c: fixed bugs in various functions

Tue Nov 23 12:07:03 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile: Added more stuff for docs.

	* Rules.mk, doc/*/Makefile: Moved common stuff to new Rules.mk,
	which is included by the individual makefiles.

	* doc/*/*.xml: Converted to use the SGML identifier of DocBook,
	instead of the XML one, because we have the SGML version of
	DocBook on Red Hat machines.

1999-11-22    <rpr@rpr.wapit.com>

	* gwlib/wapitlib.*: added function check_ip

	* gw/bearerbox.*, gw/boxc.*, gw/smsbox.*: added configuration
	strings allowed-hosts, denied-hosts, http-allowed-hosts and
	http-denied-hosts.

	* gw/bearerbox.c, gw/smsc.*: added 'bacup' default router to
	SMSCes, and set that non-answering SMSC gets back in line - in
	time.

	* gw/bb.h: changed default heartbeat-frequency to 30 seconds.

Mon Nov 22 11:37:39 1999  Lars Wirzenius  <liw@wapit.com>

	* doc/userguide: Wrote draft outline of user's guide.

	* Makefile: Added stuff for docs.

1999-11-19 Aarno Syvnen <syvanen@wapit.com>

	* header files: add header files for wsp events and wtp state machine

	* wtp.c: add wsp event manipulating  functions and a wtp state machine
	handling function

1999-11-19    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: separated 'sendsms' to port of the internal SMS
	Box, if any. And fixed number normalization, it failed in some
	cases. (MG: does CIMD strip the first character in receiever number?)

1999-11-19    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c: returned info about new service starting, fixed
	some bugs

	* gw/bearerbox.c: fixed mutex deadlock in internal sms box and
	heartbeat bug in sms and wap boxes.

	* gw/boxc.c: commented ack/nack things out as they are not
	currently supported

1999-11-19    <rpr@rpr.wapit.com>

	* gw/smsc_*.*: removed last submit_smsmessage and
	receive_smsmessages. The EMI code still needs some fixing but
	should work now.

	* gw/bb_msg.*: removed client_data as it is not ever used.

	* gw/smsc.c, gw/bearerbox.c: fixed reconnecting procedures.

1999-11-19    <rpr@rpr.wapit.com>

	* gw/csdr.c, gw/csdr.h: modified to add 'routing_info' for
	received messages, and to save own IP and port when started. All
	other gethostyname-calls removed. Not tested, however.

1999-11-19    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c, gw/smsbox_re.h, gw/smsbox.c: Did some bugfixing
	and updated header file comments (documentation)

Fri Nov 19 11:13:17 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/msg.c: msg_pack and msg_unpack handle NULL octstr-fields.

1999-11-19    <mikael@wapit.com>

	* gw/csdr.(c|h): added csdr_is_to_us to check whether a
	wdp_datagram should be routed through a specific CSDRouter.

1999-11-18    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: added wdp_datagram routing functions, and means
	to get rid of old information and simple re-routing for messages
	after a wap box fails

	* gw/bb_msg.c, gw/bb_msg.h: added function rq_change_destination
	for wdp_datagram routing use

1999-11-18    <mikael@wapit.com>

	* gwlib/http.c, gw/smsbox_req.c: Content-Type fetching
	in http_get works, interface changed.

1999-11-18    <rpr@rpr.wapit.com>

	* gw/smsbox_req.c, gw/smsbox.c: Modified send_message to use
	octstrings instead of char *. UDH part not yet ready.

	* gwlib/octstr.c, gwlib/octstr.h: Added function octstr_truncate

Thu Nov 18 15:13:44 1999  Lars Wirzenius  <liw@wapit.com>

	* doc/arch/arch-smsbox.xml: Fixed DocBook syntax errors.

	* gw/msg.c, gw/msg.h, test/test_msg.c: Wrote function msg_duplicate.

	* Makefile: Fixed typo in libtest.a rule.

1999-11-17 Aarno Syvnen <syvanen@wapit.com>

	* wtp.c: some bug fixing in function wtp_unpack_wdp_datagram

1999-11-17    <rpr@rpr.wapit.com>

	* wapitlib.c, wapitlib.h: added functions mutex_lock and
	mutex_unlock, which loack/unlock given mutex and panic if fail -
	as panic is acceptable as mutex fails only because of coding error
	(too early call or out-of-sequence call)

	* bearerbox.c, smsbox.c, bb_msg.c: modified to use new mutex_lock
	and unlock functions

1999-11-17    <rpr@rpr.wapit.com>

	* gw/bearerbox.c: fixed heartbeat bug

	* gw/smsbox.c: added debug information

1999-11-17    <rpr@rpr.wapit.com>

	* gwlib/wapitlib.c: catched signal interrupts in read

	* gw/bearerbox.c: internal sms box implemented. Still some
	problems when the system wents down

	* gw/boxc.c, gw/smsbox_rew.c: updates

	* gw/smsc_cimd.c: quick hack to connect CIMD 1.37. Partial. MG,
	fix this.

1999-11-17    <rpr@rpr.wapit.com>

	* smsbox_req.c: added username 'default', which is used, if no
	username is specified in 'sendsms' http-request

	* smsbox.smsconf: documentation updated accordingly

Tue Nov 16 17:32:34 1999  Lars Wirzenius  <liw@wapit.com>

	* gw/csdr.c: Fixed bug that prevented client address from being
	queryed. (Server address still isn't set correctly.)

1999-11-16    <rpr@rpr.wapit.com>

	* doc/arch/arch-bearerbox.xml: updated to reflect current version

Tue Nov 16 15:40:59 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile: Added compilation of test programs.

	* test/test_msg.c: Added a call to msg_dump.c.

Tue Nov 16 14:57:55 1999  Lars Wirzenius  <liw@wapit.com>

	* Moved a number of files from smsgateway here.

Tue Nov 16 13:11:13 1999  Lars Wirzenius  <liw@wapit.com>

	* Massive reorganization of the directory tree. Almost all files
	moved to subdirectories. Makefile somewhat rewritten.

1999-11-16    <rpr@rpr.wapit.com>

	* bearerbox.c, boxc.c, smsbox.c, smsbox_req.c, smsbox_rq.h,
	Makefile: Preparing bearerbox for internal SMS Box.

Tue Nov 16 12:21:41 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile, fakesmsc.c, http.c, wapitlib.h: Solaris support
	modified from patch by Steve Kennedy <steve-wapgateway@gbnet.net>.

1999-11-16    <rpr@rpr.wapit.com>

	* smsbox_req.c, smsbox_reg.h, smsbox.c, Makefile: separated
	request handling to own module so that it can be used as thread
	in bearerbox (implemented later)

	* bearerbox.c: someone has messed with print_threads

1999-11-15    <mikael@wapit.com>

	* smsc*.(c|h), *box.c: getting rid of the SMSMessage structure
	and pending_* plus adding better UDH support. However, I'm
	having second thoughts about having two sms types...

1999-11-15    <rpr@rpr.wapit.com>

	* bearerbox.c, control.html, bearerbox.conf: added new
	adminstration command 'disconnect'

	* boxc.c, boxc.h: added 'client_ip' information

1999-11-15    <rpr@rpr.wapit.com>

	* control.html: added simple control tool

	* bearerbox.c, bearerbox.conf, fake.conf: added simple
	HTTP-adminstration and watching routines

	* smsbox.c: updated comments

1999-11-15    <rpr@rpr.wapit.com>

	* bearerbox.c, boxc.c: Basic routing for WAP messages. Does not
	work with connectioned sessions, if there are more than one WAP
	BOX. Tough. Fixed later.

	* bb_msg.c, bb_msg.h: initiated better routing systems for
	WAP-messages, but implementation not ready

	* smsbox.c: file urltrans-request fixed.

1999-11-15 Mikael Gueck <mikael.gueck@wapit.com>

	* csdr.c: send and receive UDP datagrams.

	* smsc_smpp.c: 8bit receive related fixes.

1999-11-15    <rpr@rpr.wapit.com>

	* smsbox.smsconf, simple.smsconf: renamed previous smsbox.conf as
	.smsconf so that they are distinguished from bearerbox
	configuration

	* smsbox.c: fixing 'file' urltransh-requests. Still some bugs

	* bearerbox.c: WAP-packets are sent onward.. routing still missing

Mon Nov 15 12:04:37 1999  Lars Wirzenius  <liw@wapit.com>

	* wapbox.c, wapbox.conf: Wrote. This is the main module of
	the WAP box.

	* wapbox_feeder.c: Trivial test program for wapbox.c.

	* Makefile: related changes.

	* octstr.c: removed debugging message telling argument was NULL.
	Now a NULL argument is silently ignored.

	* msg.c: Added name of message type to message dump.

1999-11-12    <rpr@rpr.wapit.com>

	* bearerbox.c, boxc.c: ready for WAP invasion (ok, still missing
	routing functions and sending is currently set off)

Fri Nov 12 17:30:08 1999  Lars Wirzenius  <liw@wapit.com>

	* Makefile: added "make depend". This only works with GNU make,
	shame on me.

1999-11-12    <rpr@rpr.wapit.com>

	* html.c: modified html_strip_suffix_and_prefix to use
	str_case-str

	* urltrans.c, smsbox.c: fixed aliases

	* wapitlib.c, bearerbox.c: modified select to understand certain
	signals

Fri Nov 12 17:06:52 1999  Lars Wirzenius  <liw@wapit.com>

	* wapitlib.c and .h: Added str_case_str.

1999-11-12    <rpr@rpr.wapit.com>

	* smsc.h, smsc.c, bearerbox.c: added re-connecting functions to
	smsc_get_message, and changed interface a bit

	* smsbox.c, smsbox.conf: fixed multiple sms sending. Changed that
	when 'split-chars' are used, the splitting character is included
	in previous part, not the following one.

	* simple.conf: two sample sendsms users

1999-11-12    <rpr@rpr.wapit.com>

	* bb_msg.h, bb_msg.c: added functions _last_mod and
	_oldest_message for better queue control, and total number of
	added messages to queue length

	* bearerbox.c, boxc.c: some performance fixes

1999-11-12    <rpr@rpr.wapit.com>

	* Release-0.1: added file to list modifications to SMSGateway 0.6
	This is updated as the gateway is improved.

	* octstr.c, octstr.h: added function octstr_replace, so that
	unnecessary destroy/create can be avoided

Fri Nov 12 02:00:00 1999  Mikael Gueck  <mikael.gueck@wapit.com>

	* http.(c|h), *box.c: httpserver_get_request now returns
	the client IP.

	* lots of other unspecified stuff

1999-11-11    <rpr@rpr.wapit.com>

	* octstr.c, octstr.h: added octstr_create_limited

	* many modules: changed bearerbox and smsbox to use Msg instead
	of SMSMessage. As these are not quite perfect currently, the
	system does not work well right now. Waiting for patches from
	other participants.

Thu Nov 11 19:41:40 1999  Lars Wirzenius  <liw@wapit.com>

	* msg.c: Fixed warning of unused variable and erroneous packing of
	of strings. Wrote msg_dump.

	* octstr.c: octstr_dump can be called with a NULl argument.

1999-11-11    <rpr@rpr.wapit.com>

	* msg.h, msg.c: added function msg_type.

	* octstr.h, octstr.c: functions octstr_duplicate, octstr_send ja
	octstr_recv added.

	* unlimited number of improvements, bugfixing and enhancements in
	other modules. Too many.

1999-11-09    <rpr@rpr.wapit.com>

	* initial release. Copied several files from old smsgateway
	project, added new protypes and commented thigns out so that
	they can be compiled. This does NOT do anything, yet.

	* VERSION: version 0.1 set
