2007-07-20 Tomasz Sterna <tomek@xiaoka.com>
	* Removed SASL backend fallbacks
	* Added roster items limit option. Closes #89
	* Added count support in SQLite3 backend

2007-07-19 Tomasz Sterna <tomek@xiaoka.com>
	* Added jabber:x:oob redirection support during in-band registration
	* Logging JID on disconnection
	* Added counting packets on c2s and s2s connections
	* Added TLS indicator for c2s and s2s logs. Closes #108
	* Unified logging format

2007-07-18 Tomasz Sterna <tomek@xiaoka.com>
	* Added type='log' to ComponentProtocol <route/> wrapper for logged packets. Closes #109

2007-07-12 Tomasz Sterna <tomek@xiaoka.com>
	* More info about message quota
	* using sysconfdir for server certificate storage

2007-07-09 Tomasz Sterna <tomek@xiaoka.com>
	* Made SCOD at least compile
	* Changed SASL backend selection method. Incorporated SCOD selection option.
	* Resurrected /scod from revision 189

2007-07-06 Tomasz Sterna <tomek@xiaoka.com>
	* Keeping garbage out of LIBS variable. Fixes #95
	* Reporting dropped packet when starttls-required. Fixes #5

2007-07-05 Tomasz Sterna <tomek@xiaoka.com>
	* Fix for storage_db compilation error after util/ cleanup. Fixes #99, refs #97

2007-07-03 Tomasz Sterna <tomek@xiaoka.com>
	* Integrated util/*.h cleanups by plaes. Closes #97
	* Integrated own strndup fix by plaes. Closes #96

2007-06-25 Adam Strzelecki <ono@java.pl>
	* Final polish to setup, with old version detection and upgrading.

2007-06-22 Adam Strzelecki <ono@java.pl>
	* WiX Windows jabberd2 setup project. (Initial checkin)
	* Move automatic versioning into jabberd2 module.

2007-06-22 Tomasz Sterna <tomek@xiaoka.com>
	* Corrected roster-get iq response. Fixes #94

2007-06-18 Tomasz Sterna <tomek@xiaoka.com>
	* Removed support for ZeroK authentication
	* Identation cosmetics

2007-06-17 Tomasz Sterna <tomek@xiaoka.com>
	* XMPP compatibility fixes. Fixes #92
	* Exported libsubst sysmbols dynamic for sm modules to use. Fixes #74
	* Merged nullstring config option by Simon Wilkinson. Fixes #17
	* Fixed dynamic linker detection with libtool. Fixes #76
	* Merged Cyrus SASL realm behaviour fix by Simon Wilkinson. Fixes #82
	* Merged proxy authorization support by Simon Wilkinson. Closes #83
	* Added DEFAULT CHARSET=UTF8 to tools/db-setup.mysql DB creation. Together with see #90 it fixes #88
	* Merged MySQL connection setting to UTF-8 patch by Oles Hnatkevych. Fixes #90
	* Merged XEP-0012 fix by Simon Wilkinson. Fixes #91

2007-05-29 Adam Strzelecki <ono@java.pl>
	* Add icon & version information to binaries. Version information "version.h" automatically generated from "svn info --xml" with xsltproc.
	* Add service dependencies so all side services depends on "router". Make services to start automatically after installation.

2007-05-28 Adam Strzelecki <ono@java.pl>
	* Define MIO backend in the project.
	* Update win32 package names.
	* Use MIO_ERROR & MIO_STRERROR for socket error reporting, which will be mapped properly on WinSock.
	* WSAAsyncSelect mio backend replacement for "select".

2007-05-25 Adam Strzelecki <ono@java.pl>
	* Unreferenced int len variable.

2007-05-23 Adam Strzelecki <ono@java.pl>
	* Windows guide updated.
	* Visual Studio 2005 (VC8) project files for win32 builds.
	* Checkout the Win32 build site on jabberd2 website or README.win32 to know how to use those.
	* Those projects shall build one jabberd2.dll with common jabberd2 functions, EXE for every service, and DLL for each module.
	* Installing Windows native service wrapper over main functions: JABBER_MAIN, this will define normal "main" on other platforms.
	* mio_new(1024) changed to mio_new(MIO_MAXFD).
	* ANSI C compliance changes, definitions first.
	* Proper _WIN32 checks.
	* IPv6 structure is slightly different on Windows (sin6_addr).
	* ANSI C compliance changes, definitions first.
	* Provide an API for importing/exporting functions from/to modules on Windows.
	* Ensure we cast functions on GetProcAddress on Windows.
	* Use <windows.h> headers and LIBRARY_DIR "." on Windows.
	* Renamed WIN32 to _WIN32 checks.
	* Fixes for win32 Cyrus SASL which is default for win32 build:
	* * on Windows headers don't reside at sasl/
	* * enforce using callbacks Cyrus SASL will look for plugins at "sasl" subdirectory of jabberd2 binaries rather than checking registry or dummy paths defined at win32 Cyrus library
	* Add JABBERD2_API implementation for "sx", required to build proper jabberd2.dll on Windows.
	* mio fixed for Windows platform:
	  * select requires 3rd exception parameter
	  * lowfd added for select, because Winsock doesn't start from 1 with descriptors
	* Services shall use MIO_MAXFD instead of 1024 when calling mio_new, so we are not capped to 1024 on Windows select, since descriptors usually start above.
	* On Windows we use FD_SETSIZE which is defined to 16k in win32 projects.
	* Add JABBERD2_API implementation for "mio", required to build proper jabberd2.dll on Windows.
	* Renamed WIN32 to _WIN32 checks.
	* Add JABBERD2_API implementation for "subst", required to build proper jabberd2.dll on Windows.
	* Updated implementation of timegm on Windows platform.
	* Renamed WIN32 to _WIN32 checks.
	* Native implementation of NT services and partial implementation & wrapper of win32 signals (i.e. Ctrl+C).
	* Add JABBERD2_API implementation for "util", required to build proper jabberd2.dll on Windows.
	* Adding DLLEXPORT to some modules so they build proper DLL on Windows. authreg_sqlite was not ANSI C complaint (declarations first), MSVC is more strict than GCC.
	* New auth modules only for Windows platform:
	  * ntlogon - plain-text, Windows NT or higher LogonUserA function authorizes only users that exist on server machine
	  * sspi - works like ntlogon, but is using sspi interface (experimental)

2007-05-23 Tomasz Sterna <tomek@xiaoka.com>
	* Correct check function for GSASL library. Fixes #76
	* Fixed typo message

2007-05-21 Tomasz Sterna <tomek@xiaoka.com>
	* Note about router-filter.xml syntax

2007-05-15 11:27:42 +0200 (wto, 15 maj 2007) | 1 line
	* Note about XMPP ping module
	* Added support for reloading c2s serviced hosts on SIGHUP

2007-05-14 Tomasz Sterna <tomek@xiaoka.com>
	* Another fix for lack of strndup() on *BSD
	* Added support for reloading c2s serviced hosts on SIGHUP

2007-05-12 Tomasz Sterna <tomek@xiaoka.com>
	* added define for PATH_MAX that do not exist on *BSD

2007-05-09 Tomasz Sterna <tomek@xiaoka.com>
	* updated mkrelease script
	* configure cosmetics
	* Merged GSASL sx SASL plugin. Integrated as a default SASL backend with Cyrus as an alternative.

2007-05-08 Tomasz Sterna <tomek@xiaoka.com>
	* Added UPGRADE to extra distfiles
	* Added substitution implementations of strndup() and timegm().
	* Revamped ./configure script creation

2007-05-07 Tomasz Sterna <tomek@xiaoka.com>
	* Renamed configure.in to configure.ac
	* Made UTC time counting more portable
	* Added Tomasz Sieprawski to AUTHORS
	* Added missing nad_drop_elem() declaration

2007-05-07 Tomasz Sieprawski <tsieprawski@gmail.com>
	* Implemented XEP-0199: XMPP Ping. Closes #23

2007-05-06 Tomasz Sterna <tomek@xiaoka.com>
	* Support for different SASL library backends

2007-05-05 Tomasz Sterna <tomek@xiaoka.com>
	* Removed scod module
	* Removed sysconfdir modification during ./configure
	* Fixed oracle configure bug. Fixes #69

2007-04-28 Tomasz Sterna <tomek@xiaoka.com>
	* Dynamically loading auth/reg/storage modules. Closes #52
	* Removed storage component skeleton
	* Removed HAVE_IDN checks. libidn is required. Closes #27
	* Exit memleak in c2s patch by amd//store20.com. Fixes #67
	* Build changes for conditional DB backends compilation by amd//hotmail.com. Closes #66
	* MySQL storage backend is not enabled by defult anymore

2007-04-12 Tomasz Sterna <tomek@xiaoka.com>
	* fixed SQLite schema

2007-04-09 Tomasz Sterna <tomek@xiaoka.com>
	* Integrated LDAP append-realm patch by Andrew Klang. Closes #60
	* Integrated LDAP rebind patch by Stephen Marquard. Fixes #28
	* Integrated SSL handshake patch by Klara Mall. Fixes #59
	* Integrated CA-chain handling patch by Kaspar Brand. Fixes #58
	* Fixed module loading path. Closes #62
	* Integrated more NULL checks patch by Gonzalo Barrio
	* Integrated support for more than one LDAP server patch by Gonzalo Barrio
	* Integrated patch to allow setting PgSQL parameters to NULL by Reinhard Max.
	* Integrated compilation fixes by Stefan Huehner. Closes #51
	* Integrated FS storage offline messages fix by Michael Moeller. Closes #50
	* Integrated SQLite fixes by Nicolas Pouillon. Closes #45
	* Integrated full SQLite (authreg) support by Reinhard Max. Closes #43
	* removed redundant setting in jabberd wrapper. Closes #34

2007-04-03 Tomasz Sterna <tomek@xiaoka.com>
	* Integrated auth depending on security patch by Simon Wilkinson. Closes #24
	* mod_offline registers feature msgoffline. fixes #12
	* Integrated remove handle change patch by Mark Doliner. Closes #20
	* Integrated compile warnings patch by Mark Doliner. Fixes #19
	* Integrated storage_oracle patch by Gonzalo Barrio. Closes #18
	* Integrated libs.patch by Simon Wilkinson. Closes #16
	* Integrated cyrus-sasl_configure_check by Priit Laes. Closes #8
	* Fixed fd target for ioctls. Fixes #6
	* Integrated mysql_buffer_size_fixes by Mark Doliner. Closes #2.
	* removed bootstrap script - use autoreconf

2007-01-31 Tomasz Sterna <tomek@xiaoka.com>
	* 2.0 to 2.1 UPGRADE instructions

2007-01-17 Tomasz Sterna <tomek@xiaoka.com>
	* really fixed MD5_CTX compilation errors

2006-12-15 Tomasz Sterna <tomek@xiaoka.com>
	* fixed nad_copy() declaration
	* mod_offline user delete nad double-free fix

2006-12-13 Tomasz Sterna <tomek@xiaoka.com>
	* SSL certificate chain loading fix

2006-12-04 Tomasz Sterna <tomek@xiaoka.com>
	* applied SQLite fixes by Christof Meerwald
	* fixed MD5_CTX compilation errors
	* fixed compilation warnings

2006-12-02 Tomasz Sterna <tomek@xiaoka.com>
	* updated README
	* added BUGS

2006-12-02 Tomasz Sterna <tomek@xiaoka.com>
	* other im servers on the router are not listed on disco
	* changed version reply to be better informative
	* router-filter matches bare jids now

2006-11-29 Tomasz Sterna <tomek@xiaoka.com>
	* router level packet filtering implemented

2006-11-28 Tomasz Sterna <tomek@xiaoka.com>
	* using route errors for stanza errors
	* fixed presence error propagation handling
	* generalized stanza errors handling

2006-11-08 Tomasz Sterna <tomek@xiaoka.com>
	* SRV resolver fix

2006-11-08 Tomasz Sterna <tomek@xiaoka.com>
	* memory leak fixes

2006-11-07 Tomasz Sterna <tomek@xiaoka.com>
	* fixed SSL plugin initialisation and TLS offering

2006-10-21 Tomasz Sterna <tomek@xiaoka.com>
	* updated bootstrap for new autotools

2006-10-15 Tomasz Sterna <tomek@xiaoka.com>
	* fixed STARTTLS stream feature offer
	* fixed SEGV in SASL negotiation

2006-10-14 Tomasz Sterna <tomek@xiaoka.com>
	* using system-wide expat (by Maxim Britov)

2006-10-08 Tomasz Sterna <tomek@xiaoka.com>
	* integrated Juha Heinanen's authreg_pam realm handling

2006-08-15 Tomasz Sterna <tomek@xiaoka.com>
	* implemented c2s configuration per host basis

2006-07-19 Tomasz Sterna <tomek@xiaoka.com>
	* fixed counting queue messages

2006-05-24 Tomasz Sterna <tomek@xiaoka.com>
	* logging the whole error packet on error

2006-05-10 Tomasz Sterna <tomek@xiaoka.com>
	* fixed logging failed connection fd

2006-05-07 Tomasz Sterna <tomek@xiaoka.com>
	* forwarding help messages as message from sm
	  subject is modified to: "Fwd[from]: org subject"
	* remerged nad_drop_elem() and nad_insert_nad()
	* fixed memleak

2006-05-06 Tomasz Sterna <tomek@xiaoka.com>
	* memory cleanup checks
	* pemfile handling fixes
	* cosmetics
	* ext_id fixes
	* MIO debug added
	* epoll fixes
	* sasl handling and memleaks fixed

2006-05-05 Tomasz Sterna <tomek@xiaoka.com>
	* temporary pemfile freeing tracking
	* check for vsyslog
	* added some bounds checking

2006-05-04 Tomasz Sterna <tomek@xiaoka.com>
	* fd to fd->fd transition fixes
	* unterminated string error fixed
	* epoll memory handling fixes

2006-05-03 Tomasz Sterna <tomek@xiaoka.com>
	* fixed memleaks
	* malloc'ed memory cleaning/initialising
	* wrong stream external_id handling fixed
	* removed unused NDEBUG compile switch
	* clean malloc'ed memory

2006-05-02 Tomasz Sterna <tomek@xiaoka.com>
	* segv bugfix
	* more presence/subscription handling fixes

2006-05-01 Tomasz Sterna <tomek@xiaoka.com>
	* fixed subscription acknowledgment endless-loop
	  RFC3921 8.2.9, RFC3921 9.2, RFC3921 8.2.8
	* CA chain loading order fix

2006-04-28 Tomasz Sterna <tomek@xiaoka.com>
	* iq:last conversion
	* jabberd14 xdb_sql database to jabberd2 database conversion script

2006-04-27 Tomasz Sterna <tomek@xiaoka.com>
	* removed reading whole http request
	* added bounce logging

2006-04-26 Tomasz Sterna <tomek@xiaoka.com>
	* integrated psql schema fixes by Cedric Vivier
	* integrated mod_amp by Cedric Vivier
	* integrated Cyrus SASL fixes by Simon Wilkinson, bug #169/#163, bug #171
	* integrated MOTD repeat patch by Russ Schnapp, bug #155
	* implemented HTTP connection forwarding to real HTTP server
	* removed presence-invisible support

2006-04-25 Tomasz Sterna <tomek@xiaoka.com>
	* integrated offline message and subscription dropping by Cedric Vivier
	* integrated offline message quota by Stephen Marquard
	* implemented pgsql_count() in sm/storage_pgsql

2006-04-20 Tomasz Sterna <tomek@xiaoka.com>
	* ported mod_status by Lucas Nussbaum to current version

2006-04-19 Tomasz Sterna <tomek@xiaoka.com>
	* integrated more robust support for vCards by Robert Quattlebaum
	* fixed and extended db-setup.pgsql schema

2006-04-18 Tomasz Sterna <tomek@xiaoka.com>
	* integrated epoll support by Christof Meerwald

2005-10-02 Justin Kirby <justin-j2@openaether.org>
	* fixed SASL anonymous, bug#126

2005-09-27 Justin Kirby <justin-j2@openaether.org>
	* fixed edge cases with new dynamic jid code

2005-09-15 Robert Quattlebaum <darco@deepdarc.com>
        * Added more robust support for vCards in genereal, including JEP-0153
        * Added the new vCard fields to the schema
        * Changed the field types to be a little bit more reasonable

2005-09-20 Justin Kirby <justin-j2@openaether.org>
	* fixed incorrect free order in c2s, byg#125
	* corrected debug logging, bug#119

2005-09-09 Justin Kirby <justin-j2@openaether.org>
	* fixed s2s bus error on 64-bit architectures, bug#122
	* fixed c2s collisions due to long jids, bug#118
	* fixed error response to iq result, bug#110
	* fixed roster pushing packets without id, bug#73
	* updated dynamic jid patch to stable version, bug#100

2005-08-25 Justin Kirby <justin-j2@openaether.org>
	* fixed double free of nad in c2s and s2s, bug#97

2005-08-21 Justin Kirby <justin-j2@openaether.org>
	* added check in configure for db43 and db41, bug#105
	* major memory enhancement, made jid structure dynamically allocated, bug#100

2005-08-17 Justin Kirby <justin-j2@openaether.org>
	* modules in sm are now dynamic libs, bug#103
	* fixed glibc error with custom sql statements, bug#106
	* fixed segfault with keepalives, bug#102

2005-08-07 Justin Kirby <justin-j2@openaether.org>
	* replaced scod with cyrus sasl, bug#45

2005-06-22 Justin Kirby <justin-j2@openaether.org>
	* fixed sx io mem leak, bug#90
	* fixed c2s glibc abort and mysql option flags, bug#82
	* fixed version attribute reply in stream, bug#94
	* Support verification of SSL certificates for c2s and s2s, bug#56

2005-06-02 Justin Kirby <justin-j2@openaether.org>
	* fixed only one user is loaded correctly for each router acl, bug#60
	* fixed s2s segfault under particular connection timeout conditions, bug#66
	* fixed id is being case sensitive, bug#68
	* fixed Users cannot login after a long period of server inactivity, bug#69
	* fixed  handling of stream errors, bug#79

2005-04-20 Justin Kirby <justin-j2@openaether.org>
	* fixed s2s segfault from resolver race condition bug#59
	* fixed mem leak in s2s bug#59

2005-04-14 Justin Kirby <justin-j2@openaether.org>
	* added oracle support. 
	* add keepalives to router bug#54
	* fixed info in PROTOCOL file
	* Fixed handling of (un)subscribe packets for XMPP-IM compliance

2005-04-07 Justin Kirby <justin-j2@openaether.org>
	* fixed time values which were not stored correctly
	* the '>' must always be escaped (andrey)
	* fixed failed access_check() in hpux-ia64
	* fixed ssl memory leak
	* fixed s2s segfaults relating firewall problems

2005-03-31 Justin Kirby <justin-j2@openaether.org>
	* Memory cleanups in shutdown
	* Fixed mysql varchar and options in storage

2005-03-22 Justin Kirby <justin-j2@openaether.org>
	* Outgoing presence probe was dropped via privacy lists. Fixed
	* Compiler problems with strict aliasing fixed
	* Fixed expat.h for non-386 machines
	* Disconnected log sink no longer causes crash
	* Fixed  cases where dns resolution fails, s2s does not remove the domain from theoutgoing queue hash.
	* Where an outgoing domain is inactive (no active connection), s2s does not check  whether there are packets queued before attempting to bounce queued packets (and adding a debug notice)

2005-01-07 Justin Kirby <justin-j2@openaether.org>
	* Reset router reconnection counter after successful reconnect
	* Correctly close sm sessions held by components which do not close down cleanly
	* Remove bdb environment if no longer needed at shutdown
	* Fixes error in parameter to storage_match() introduced with patch #51 / 2.0s5
	* End all sessions properly when sm shuts down
	* Add check for XMPP-compliant <text> element for stream error descriptions
	* Fixes error in patch 57k above (uninitialised variable causing dialback timeout check not to work correctly)
	* Add yet another timeout check to s2s for even more resilience when connecting to old & flaky jabber servers ...
	* Fix consistency of s2s log entries
	* Perform LDAP rebind if given a referral by Active Directory LDAP server
	* Resolve -lsocket detection for building on Solaris

2004-12-11 Justin Kirby <justin-j2@openaether.org>
	* Fix base64 encoding length in authreg_pipe.c Stephen Marquard, Diagnosed by Jerome Vandenabeele
	* Fixes segfault on s2s startup on some platforms when ssl is enabled (local pemfile defined in s2s.xml), Stephen Marquard
	* mod_offline handling of jabber:x:event client requests (JEP-0022) can lead to a loop repeatedly adding duplicates to the offline queue under certain race conditions. Correctly detect jabber:x:event notifications and do not respond to them as requests, Stephen Marquard
	* Check for invalid jids in directed presence packets, Stephen Marquard, Based on bug report by Christopher Zorn
	* Fixes minor memory leaks in authreg_ldap, Ilja Booij
	* Fixes error in storage filter code using bdb storage causing sm crash, Stephen Marquard
	* Changes incorrectly indexed primary keys to non-unique indexes, adds other indexes for efficiency, and changes type of xml field to increase max allowed length, Stephen Marquard
	* Include sys/types.h if available in util.h inter alia for FreeBSD, Stephen Marquard
	* Minor code cleanups for compilation on HP-UX, Christof Meerwald
	* Fix configure.in for correct handling of resolv.h, Magnus Henoch
	* Include resquery checks from MAIN cvs branch in 2.0, Christof Meerwald 	
	* Allows jabberd to start new components and place itself in the background,  Richard Bullington-McGuire (original ver),  Additional components defined in jabberd.cfg get started as long as they are in the same directory as the jabberd script (useful for mu-conference installed through jcr) The script can daemonize itself with the "-b" switch after starting the various programs it watches over, unless the debug option is set.
	* Paranoia, ensure than srv->name is nul terminated., Jedi/Sector One
	
2004-11-25 Justin Kirby <justin-j2@openaether.org>
	* Remove incorrect semicolumn from os_object_free() in sm/object.c Typographical error in code - could lead to memory not being freed correctly - jedi
	* Fixes to mysql storage for boundary conditions	Apply if using mysql storage. -jedi
	* Fix length-related issues in base64 decoding routines. Could affect authentication in c2s. - Christof Meerwald
	* Fixes to storage_db.c to avoid roster corruption: "sm/storage_db inserts items in the filter hash table with keys which are located on the stack. This creates confusion when the code later tries to compare with these keys.". - Martin Forssen 
	* Fixes bug in _nad_escape() where escaping ]]> can cause a segfault when handling large messages where nad_realloc is called.  - Stephen Marquard
	* Fixes to pgsql storage for boundary conditions and incorrect buffer length calculation - jedi
	* Fix minor memory leaks in digest-md5 authentication and nad_free() - Martin Forssen
	* Fixes omission of namespace declaration where a namespace has already been used in the XML stanza - Stephen Marquard
	* Fixes omission of prefix on attributes processed by nad_parse (e.g. in queue storage) - Stephen Marquard
	* Corrects check for deleting previously published disco items from "delete" to "remove" (as per JEP-0030). - Stephen Marquard
	* Alters filter handling and adds mysql/pgsql escaping on filter strings to allow brackets and apostrophes in resource names that form part of JIDs stored as roster entries - Stephen Marquard 	 
	* Fixes buffer overflow that can lead to segfault in c2s mysql and pgsql auth modules - see report by icbm (www.venustech.com.cn) - Stephen Marquard
	* Avoid crash in some versions of FreeBSD / DragonFlyBSD When a TCP socket is accepted and the immediately closed, the client address is not filled, but accept() does return a descriptor. It can be triggered with nmap -sT. The type of the length of a socket is also socklen_t, not size_t. - jedi
	* Resolves problems with strings starting "NAD" being interpreted as xml in mysql/postgresql storage 	Does not require any db changes to implement. -  Stephen Marquard
	* Updates to etc/c2s.xml.dist.in and etc/s2s.xml.dist.in for c2s certificate chains and s2s ssl connections (patches #25b and #17). - Stephen Marquard
	* Corrects pipe_authreg to correctly base64-encode passwords for SET-PASSWORD and CHECK-PASSWORD calls. Apply if using pipe authentication. Note that this will change the previous (incorrect) behaviour for SET-PASSWORD and CHECK-PASSWORD which was to pass the password unencoded. - Stephen Marquard (from dgbbk)
	* Correctly free storage instance before c2s exit in cases where storage driver fails to initialise - Cameron Moore
	* Adds SSL support to s2s (server-server) connections. Add a <pemfile> entry in the <local> section of s2s.xml to enable. - Stephen Marquard
	* tons of autoconf magic fixes by jedi
	
2004-10-23 Justin Kirby <justin-j2@openaether.org>
	* Fixed race condition allowing c2s to be killed, Stephen Marquard
	* Fixed off-by-one bug in s2s/main.c leading to segfault on startup in some environmentsp
	* Fixed memory leak in sm, Michal Kra
	* Fixed problem relating to SSL connections not being closed correctly, Nathan Christiansen
	* Fixed 3 problems in mod_announce: (a) NAD freed before use, (b) struct tm not initialised correctly on some platforms, and (c) time not initialised for broadcast motd messages delivered to online users, Stephen Marquard
	* Fixed insertion of extra namespace in element in some types of messages retrieved from offline queue, which causes a parse error in the router, Matthew Buckett
	* Fixed off-by-one bug in PLAIN SASL authentication code. May also resolve a number of other bugs relating to c2s authentication, Robert Theisen
	* Fixed return value of jid_new() in pkt.c to avoid sm segfault from dereferencing NULL pointer, triggered by a message with a to JID of the form "@some.server@", Stephen Marquard
	* Avoided adding nads to the cache that are created through nad_copy(), Stephen Marquard
	* Fixed bug in retrieving hash values, Stephen Marquard
	* Improved performance of pool cleanup function, Stephen Marquard
	* Corrected handling of EMAIL, TEL and ADR/CTRY elements in vcards for JEP-0054 compliance, Stephen Marquard
	* Optimised sm algorithm for announcing presence to skip presence announcements and probes for users on the same server who are not online, Stephen Marquard
	* Checked that storage drivers are initialised correctly; if not, abort, Stephen Marquard
	* Fixed file descriptor leak in storage_fs
	* Allowed c2s to supply a certificate chain to clients, Iain MacDonnell
	
2004-08-19  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: fixed a tiny little edge case crasher

2004-06-30  Robert Norris  <rob@cataclysm.cx>

    * util/util.h: include all the headers need for network stuff (ie struct sockaddr_storage)

2004-06-25  Robert Norris  <rob@cataclysm.cx>

    * 2.0s3 released

2004-06-07  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_iq_private.c: don't match iq:private packets that are trying to be routed elsewhere

2004-06-01  Robert Norris  <rob@cataclysm.cx>

    * configure.in: check and include sys/filio.h; define sa_family_t; define broken sockaddr_storage members
    * mio/mio.h: same

    * subst/inet_aton.c: match configure defines
    * subst/inet_ntop.c: same
    * subst/inet_pton.c: same
    * util/util_compat.h: same

    * c2s/authreg_mysql.c: use C-style comments
    * c2s/authreg_pgsql.c: same
    * sm/mod_iq_version.c: same
    * sx/sx.c: same
    * util/log.c: same

2004-05-24  Robert Norris  <rob@cataclysm.cx>

    * configure.in: use fcntl/O_NONBLOCK instead of ioctl(FIONBIO) where possible
    * mio/mio.c: same
    * mio/mio.h: same

    * c2s/authreg_pgsql.c: fix potential buffer overruns

    * c2s/c2s.c: shutdown if listening sockets can't be opened
    * c2s/c2s.h: same

    * util/util.h: removed debug_flag extern, as it clashes with the decl in log.c, and isn't needed anyway

2004-05-21  Robert Norris  <rob@cataclysm.cx>

    * configure.in: do global search/replace on include paths

    * c2s/authreg_mysql.c: fix potential buffer overruns
    
    * subst/snprintf.c: handle %.*s without calling strlen

2004-05-06  Robert Norris  <rob@cataclysm.cx>

    * router/router.c: tiny logging fix

2004-05-05  Robert Norris  <rob@cataclysm.cx>

    * router/main.c: fix umask ifdef

    * sm/mod_announce.c: cleanup nads as we finish with them
    * sm/storage_db.c: same
    * sm/storage_mysql.c: same
    * sm/storage_pgsql.c: same

    * sm/mod_privacy.c: cleanup lists properly

    * sm/pres.c: probes come from user only; added pres_probe() for upcoming mod_privacy changes
    * sm/sm.h: same


2004-04-30  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: reject register get on password change only (closes #3059)

    * c2s/authreg_pipe.c: make the exec name the first argument (closes #3174)

    * c2s/authreg.c: fixed various leaks, bugs and other small cleanups <karsten.petersen@hrz.tu-chemnitz.de>
    * c2s/authreg_mysql.c: same
    * c2s/sm.c: same
    * scod/mech_plain.c: same
    * sm/mod_disco_publish.c: same
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: same
    * sm/object.c: same
    * sm/pkt.c: same
    * sm/sm.h: same
    * sm/storage.c: same
    * sm/storage_db.c: same
    * sm/storage_fs.c: same
    * sm/storage_mysql.c: same
    * sm/storage_pgsql.c: same
    * sx/sx.c: same
    * sx/sx.h: same
    * util/jid.c: same
    * util/nad.c: same
    * util/serial.c: same
    * util/sha1.c: same
    * util/sha1.h: same
    * util/util.h: same
    * util/xdata.c: same

2004-04-27  Robert Norris  <rob@cataclysm.cx>

    * sm/aci.c: allow resources in acis

2004-04-26  Robert Norris  <rob@cataclysm.cx>

    * expat/*: upgraded to 1.95.7

    * c2s/authreg_ldap.c: LDAPv3 support (closes #3344)
    * etc/c2s.xml.dist.in: same

    * c2s/authreg.c: buffer overrun fix

    * mio/mio.c: only call ACT() for action_WRITE if the socket is in type_NORMAL

2004-04-25  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: added "replaced" session command to support session replacement
    * sm/sess.c: same

    * s2s/main.c: generate random dialback key if none provided
    * etc/s2s.xml.dist.in:

    * sm/aci.c: cleanup acls on exit
    * sm/main.c: same

    * sm/mod_roster.c: removed redundant code

    * sx/error.c: get error lengths right

    * sx/ssl.c: only read ssl data if the encrypted channel is up

    * util/nad.c: free nad_parse() parser when finished

2004-04-20  Robert Norris  <rob@cataclysm.cx>

    * util/nad.c: don't explicitly declare the implicit xml namespace
    * util/util.h: same

2004-04-17  Robert Norris  <rob@cataclysm.cx>

    * mio/mio.c: actually set sockets non-blocking

2004-04-16  Robert Norris  <rob@cataclysm.cx>

    * COPYING: added exception to allow linking with openssl

    * configure.in: enable switches for anon authreg and fs storage
    * c2s/authreg.c: same
    * c2s/authreg_anon.c: same
    * sm/storage_fs.c: same

    * resolver/dns.c: win32 bugfixes
    * sm/mod_iq_version.c: same

2004-04-15  Robert Norris  <rob@catalcysm.cx>

    * configure.in: treat pipe auth as an external package
    * c2s/authreg.c: same
    * c2s/authreg_pipe.c: same

    * c2s/c2s.h: only include things if they're available
    * mio/mio.h: same
    * mio/mio_poll.h: same
    * mio/mio_select.h: same
    * resolver/dns.h: same
    * resolver/resolver.h: same
    * router/router.h: same
    * s2s/s2s.h: same
    * sm/mod_iq_version.c: same
    * sm/storage.c: same
    * sm/storage_fs.c: same
    * util/inaddr.h: same
    * util/util.h: same

    * mio/mio.c: include fixups
    * scod/mech_digest_md5.c: same
    * subst/gettimeofday.c: same
    * sx/callback.c: same
    * sx/chain.c: same
    * sx/client.c: same
    * sx/env.c: same
    * sx/error.c: same
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/sasl.h: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/ssl.h: same
    * sx/sx.c: same
    * sx/sx.h: same
    * util/util_compat.h: same

    * c2s/main.c: replace win32 checks with feature checks
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same

    * resolver/dns.c: win32 resolver
    * resolver/resolver.h: same
    * resolver/resolver.c: same

    * sm/mod_iq_time.c: use normal time functions rather than less-common thread-safe variants
    * sm/sm.c: same

    * subst/ip6_misc.h: general cleanups
    * subst/syslog.c: same
    * util/inaddr.c: same

    * subst/subst.h: more prototypes

2004-04-14  Robert Norris  <rob@cataclysm.cx>

    * configure.in: make idn/ssl optional; loads more specific checks

    * c2s/authreg.c: make idn/ssl optional
    * c2s/c2s.c: same
    * c2s/main.c: same
    * resolver/resolver.c: same
    * router/main.c: same
    * router/router.c: same
    * s2s/main.c: same
    * s2s/router.c: same
    * sm/main.c: same
    * sm/sm.c: same
    * sx/sasl.c: same
    * sx/ssl.c: same
    * sx/ssl.h: same
    * util/jid.c: same

    * subst/*: compat stuff

    * util/util.h: pull in substitutions

    * win32/: removed

2004-04-08  Robert Norris  <rob@cataclysm.cx>

    * idn/*: removed due to license issues

    * configure.in: new build system
    * acinclude.m4: same
    * Makefile.am: same
    * */Makefile.am: same

    * c2s/authreg*.c: updated for new defines
    * sm/storage*.c: same
    
    * c2s/c2s.h: only include required headers
    * mio/mio.h: same
    * resolver/dns.h: same
    * resolver/resolver.h: same
    * router/router.h: same
    * s2s/s2s.h: same
    * sm/sm.h: same
    * sx/sx.h: same
    * util/inaddr.h: same
    * util/util.h: same

    * mio/mio.c: use ioctl instead of fcntl to set non-blocking

    * sx/ssl.c: slightly more standard way to startup openssl

    * util/jid.c: use external stringprep headers
    * c2s/authreg.c: same

    * sx/error.c: fix off-by-one bug (closes #3481)

    * util/inaddr.c: use correct size for sin6_len (closes #3594)

    * c2s/authreg.c: get namespace before searching for elements (closes #3368)

    * c2s/main.c: win32 stuff
    * expat/Makefile.am: same
    * expat/expat_config.h: same
    * mio/mio_select.h: same
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same
    * sm/mod_iq_version.c: same

    * win32/*: various interim win32 changes

2004-04-02  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_presence.c: block incoming presence if user not online
    * etc/sm.xml.dist.in: same

2004-03-24  Robert Norris  <rob@cataclysm.cx>

    * win32/*: initial checkin of win32 compatibility files

    * configure.in: basic mingw checks

    * acinclude.m4: helper macros moved here to reduce clutter

    * ac-helpers/*: removed

    * c2s/c2s.c: moved from read/write to recv/send
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same

2004-03-23  Robert Norris  <rob@cataclysm.cx>

    * sx/sasl.c: optionally require tls before auth <deryni@eden.rutgers.edu>
    * sx/sasl.h: same
    * sx/ssl.c: same
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * c2s/main.c: same
    * sx/ssl.h: same
    * etc/c2s.xml.dist.in: same

    * sm/main.c: free stream environment after closing the last stream

2004-03-22  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: thinko fix

2004-03-19  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: don't close streams that are already closing <peter@cerebus.co.za>

    * router/router.c: initialize prep cache for local jid structures (closes #3480)

    * sm/main.c: free the router stream (and nad cache) after all nads are freed <karsten.petersen@hrz.tu-chemnitz.de>

    * sm/pkt.c: memory leak fixes <karsten.petersen@hrz.tu-chemnitz.de>
    * sm/storage_db.c: same

    * util/nad.c: prevent running of the end of the element list during print <karsten.petersen@hrz.tu-chemnitz.de>

    * c2s/bind.c: present correct session namespace to xmpp clients
    * c2s/c2s.c: same
    * util/util.h: same

2004-02-26  Robert Norris  <rob@cataclysm.cx>

    * util/util.h: make the debug line buffer larger so long lines don't get cut

2004-02-17  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: don't call the module free function if it doesn't exist

2004-02-13  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_ldap.c: logging typo fix (closes #3343)

2004-02-10  Robert Norris  <rob@cataclysm.cx>

    * ac-helpers/berkeley-db.m4: removed -R flags from link directives
    * ac-helpers/ldap.m4: same
    * ac-helpers/mysql.m4: same
    * ac-helpers/openssl.m4: same
    * ac-helpers/pam.m4: same
    * ac-helpers/pgsql.m4: same

    * ac-helpers/ldap.m4: build against openldap > api 2004

    * 2.0s2 released

2004-02-03  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: new function sx_raw_write(), send raw data over a stream
    * sx/sx.h: same

    * c2s/main.c: use sx_raw_write() to send keepalives (closes #3144)
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/s2s.h: same

    * sm/pkt.c: treat empty packet addresses as though they don't exist

    * configure.in: check for vsyslog()

    * util/log.c: use vsnprintf() & syslog() to replace vsyslog() on systems that don't have it

    * sm/mod_roster.c: gracefully handle malformed roster jids stored in the database (closes #3157)

2004-02-02  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: relink item list correctly <dudley@cs.stanford.edu>

2004-01-29  Robert Norris  <rob@cataclysm.cx>

    * sm/pres.c: always forward broadcasts to trusted jids

2004-01-27  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: order items properly; send "subscription" instead of "s10n" <dudley@cs.stanford.edu>

2004-01-23  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: match group jids correctly <dudley@cs.stanford.edu>

    * sm/mm.c: silence warnings

    * configure.in: look for DB 4.2

2004-01-22  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: make sx_kill() shut things down properly

2004-01-21  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pam.c: use pam account management functions <patrick@mindstep.com>

    * sx/io.c: new function sx_kill(), to close a stream abruptly
    * sx/sx.h: same
    
    * c2s/c2s.c: use sx_kill() to close streams after io errors
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same

2004-01-20  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: match item jids correctly <dudley@cs.stanford.edu>

    * c2s/authreg.c: brought registration into line with jep-0077 (closes #3166)

2004-01-19  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: brought in line with latest xmpp-im <dudley@cs.stanford.edu>

    * scod/mech_digest_md5.c: quote qop list returned to client

2004-01-03  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_ldap.c: don't allow zero-length passwords (closes #3131)

2003-12-28  Robert Norris  <rob@cataclysm.cx>

    * 2.0s1 released

2003-12-27  Robert Norris  <rob@cataclysm.cx>

    * configure.in: don't fail configure if inet_ntop() not found (closes #3080)

2003-12-24  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: only send stream close once

2003-12-17  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: do router connect retry properly on openbsd <mange@freemail.hu>
    * resolver/resolver.c: same
    * s2s/main.c: same
    * sm/main.c: same

2003-12-16  Matthias Wimmer  <m@tthias.net>

    * sx/sx.h: small syntax fix in _sx_state() macro

2003-12-15  Robert Norris  <rob@cataclysm.cx>

    * sx/ssl.c: don't offer tls after auth

    * mio/mio.c: use ipv6 compat functions from util [mawis]
    * mio/mio.h: same
    * util/inaddr.c: same
    * util/inaddr.h: same
    * util/util.h: same
    * util/util_compat.h: same

    * sm/mod_roster.c: only drop roster results

    * sx/io.c: ignore parse errors that happen after failures

2003-12-12  Robert Norris  <rob@cataclysm.cx>

    * router/aci.c: create a new acl for each type

    * sm/mod_privacy: remove default list correctly

2003-12-11  Matthias Wimmer  <m@tthias.net>

    * sm/aci.c: create a new acl for each type

2003-12-10  Robert Norris  <rob@cataclysm.cx>

    * s2s/out.c: make sure we actually requested an incoming resolver response

    * 2.0rc2 released

2003-12-09  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_roster.c: drop un-namespaced iq results

2003-12-08  Robert Norris  <rob@cataclysm.cx>

    * configure.in: check for "broken" snprintf/vsnprintf
    * ac-helpers/j2_printf.m4: same

    * configure.in: check for FIONREAD

    * util/ldap.m4: removed unneeded version variables

    * router/aci.c: load multiple names correctly (closes #3026)

    * ac-helpers/mysql.m4: paths for mysql on freebsd (closes #3028)

2003-12-05  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_presence.c: don't set namespace on type attribute (closes #3011)

    * sm/pres.c: forward invisible to sessions as unavailable

    * sx/io.c: close stream properly on certain errors
    * sx/ssl.c: same

    * sx/sx.c: don't use vfprintf, avoids crashes on solaris

    * ac-helpers/mysql.m4: small log tweak
    * ac-helpers/pam.m4: same
    * ac-helpers/pgsql.m4: same

    * ac-helpers/ldap.m4: moved from openldap.m4; only link libldap; only check LDAP_API_VERSION (support Sun LDAP)

    * ac-helpers/configure.in: load ldap.m4

2003-12-04  Robert Norris  <rob@cataclysm.cx>

    * sm/pres.c: force presence unavailable and invisible broadcasts to all sessions

    * sx/server.c: only process pre-stream packets if the stream is open (closes #2987)

    * sx/io.c: drop outgoing packets if the stream is closed

2003-12-03  Robert Norris  <rob@cataclysm.cx>

    * s2s/main.c: bounce non-client packets
    * s2s/out.c: same

    * sm/pres.c: forward presence broadcasts to all user sessions (closes #2993)

    * sm/mod_roster.c: send appropriate unsubscriptions on roster remove (closes #3002)

    * sm/dispatch.c: require from address on sm packets

    * sx/error.c: don't send the null over the wire

2003-12-02  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: watch for closed states on file descriptors
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same
    * util/util.h: same

    * c2s/bind.c: offer xmpp-session feature

    * sm/mod_announce.c: small memory leak fixes

2003-12-01  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_deliver.c: process packets with unmatched resources correctly

    * s2s/out.c: don't error non-client packets

2003-11-28  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_disco.c: force gateways into the correct browse category

2003-11-27  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: pre-stream race fix

    * c2s/bind.c: doxygen updates
    * mio/mio.h: same
    * mio/mio_inaddr.h: same
    * sm/sm.h: same
    * util/inaddr.c: same
    * util/util_compat.h: same

2003-11-26  Robert Norris  <rob@cataclysm.cx>

    * sx/server.c: only allow "stream" as stream element name (closes #2962)
    * sx/client.c: same

    * sm/storage_db.c: handle empty objects correctly
    * sm/storage_mysql.c: same
    * sm/storage_pgsql.c: same

2003-11-25  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: better session start logging

2003-11-21  Robert Norris  <rob@cataclysm.cx>

    * sm/dispatch.c: free users that were only loaded for delivery

2003-11-20  Matthias Wimmer  <m@tthias.net>

    * configure.in: POOL_DEBUG got defined with --enable-nad-debug

2003-11-17  Robert Norris  <rob@cataclysm.cx>

    * 2.0rc1 released

2003-11-11  Robert Norris  <rob@cataclysm.cx>

    * configure.in: default authreg is "mysql"

    * util/log.c: only compile in debug logging code when debug is enabled

    * util/pool.c: print directly rather than using debug_log()

    * c2s/main.c: provide regular pool stats when running in pool debug mode
    * resolver/resolver.c: same
    * router/main.c: same 
    * s2s/main.c: same
    * sm/main.c: same

    * c2s/main.c: only free sessions once at shutdown

    * resolver/dns.h: added bind 8 compat define for os x 10.3

    * sm/mod_iq_vcard.c: route packets with to addresses, rather than handling implicitly

2003-11-10  Robert Norris  <rob@cataclysm.cx>

    * configure.in: configure option for pool debugging
    * util/pool.c: same
    * util/util.h: same

2003-11-09  Matthias Wimmer  <m@tthias.net>

    * c2s/main.c: calling pool debugging at the end
    * resolver/main.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same
    * util/pool.c: fix the pool debugging functions
    * util/util.h: same

2003-11-04  Robert Norris  <rob@cataclsym.cx>

    * sx/error.c: don't crash on in-stream errors

    * c2s/c2s.c: ignore pre-auth sessions on offline component checks

2003-11-03  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: use normal stanza errors

    * c2s/c2s.c: close stream on pre-session packets

    * sm/pkt.c: limit presence priority to -128 < p < 127

    * sx/error.c: updated to latest xmpp; open stream before reporting pre-stream errors
    * sx/sx.h: same
    
    * sx/sasl.c: updated errors to latest xmpp
    * util/stanza.c: same
    * util/util.h: same

    * sx/server.c: version checking and response

    * sx/client.c: more correct error usage

    * util/nad.c: silence compiler warnings

    * sm/*.c: doxygen comments

    * c2s/authreg_pgsql.c: clear results when finished
    * sm/storage_pgsql.c: same

    * etc/sm.xml.dist.in: removed browse compat namespaces
    
    * Doxyfile.in: updated doxygen config

    * 2.0b3 released

2003-10-31  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_roster.c: xmpp-im updates

2003-10-30  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: a note about resource conflicts

    * c2s/sm.c: change session control prefix
    * sm/sm.c: same

    * etc/resolver.xml.dist.in: use xmpp-server instead of jabber-server

    * sm/mod_roster.c: must ignore the to address on roster packets from clients

2003-10-29  Robert Norris  <rob@cataclysm.cx>

    * sx/error.c: update stream errors to recent xmpp revisions
    * sx/sx.h: same
    
    * util/stanza.c: update stanza errors to recent xmpp revisions

    * c2s/c2s.c: send diagnostic text on stream errors
    * c2s/main.c: same
    * router/router.c: same
    * sx/client.c: same
    * sx/io.c: same
    * sx/server.c: same
    * sx/ssl.c: same

2003-10-28  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: support for xmpp resource binding
    * c2s/bind.c: same
    * c2s/c2s.h: same
    * util/util.h: same

    * scod/mech_digest_md5.c: sasl changes to support recent xmpp revisions
    * scod/mech_plain.c: same
    * scod/scod.c: same
    * sx/sasl.c: same
    * c2s/main.c: same
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/router.c: same
    * sm/sm.c: same

2003-10-27  Robert Norris  <rob@cataclysm.cx>

    * util/util.h: removed varargs.h test and include

2003-10-24  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_mysql.c: always allocate templates so they can be freed without issue
    * c2s/authreg_pgsql.c: same

    * sm/storage_mysql.c: prefix table names
    * sm/storage_pgsql.c: same

    * resolver/resolver.c: logging fixes

2003-10-23  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: c2s won't try to start sessions if the sm isn't online
    * c2s/main.c: same
    * c2s/c2s.h: same

    * s2s/out.c: check the queue exists before using it

    * util/log.c: optional logging to stdout
    * util/util.h: same
    * c2s/c2s.h: same
    * c2s/main.c: same
    * resolver/resolver.c: same
    * resolver/resolver.h: same
    * router/main.c: same
    * router/router.h: same
    * s2s/main.c: same
    * s2s/s2s.h: same
    * sm/main.c: same
    * sm/sm.h: same
    * etc/c2s.xml.dist.in: same
    * etc/resolver.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

2003-10-21  Robert Norris  <rob@cataclysm.cx>

    * resolver/resolver.c: allow multiple SRV lookups (specified in config)
    * resolver/resolver.h: same
    * etc/resolver.xml.dist.in: same

    * s2s/main.c: make queue bounces work correctly
    * s2s/router.c: same
    
    * s2s/s2s.c: bounce queue on failed resolution

    * util/xhash.c: xhash_putx returns void, so don't try to take a return value

2003-10-17  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_roster.c: use jid_t rather than a static buffer; clear pointers after free
    * util/stanza.c: jids buffers are 3072 bytes

2003-10-16  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: handle packets bounced by the sm in a sane way

    * sm/mod_session.c: redundant logging

2003-10-15  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: actually use the realm once we've computed it

    * c2s/c2s.c: teeny logging update

2003-10-13  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: if c2s or sm disappears unexpectedly, make the other kill corresponding sessions
    * sm/mod_session.c: same
    * sm/sess.c: same
    * sm/sm.h: same
    * etc/sm.xml.dist.in: same

    * sm/dispatch.c: don't remove the error attr on bounced packets, so the router can avoid loops properly

    * util/log.c: configurable syslog facility <shane@silicondairy.net>
    * util/util.h: same
    * c2s/main.c: same
    * c2s/c2s.h: same
    * resolver/resolver.c: same
    * resolver/resolver.h: same
    * router/main.c: same
    * router/router.h: same
    * s2s/main.c: same
    * s2s/main.h: same
    * sm/main.c: same
    * sm/sm.h: same
    * etc/c2s.xml.dist.in: same
    * etc/resolver.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

2003-10-11  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pam.c: only use PAM_FAIL_DELAY on systems that support it <kph@duke.edu>

2003-10-08  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_iq_private.c: don't free the stored object nad

    * resolver/resolver.c: less verbose logging

    * configure.in: configure switch for nad debug

    * 2.0b2 released

2003-10-07  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_*.c: logging now reports module name
    * sm/storage_*.c: same

    * sm/storage_*.c: checks for malformed or missing xml

2003-10-06  Robert Norris  <rob@cataclysm.cx>

    * sm/pres.c: slight log text change

    * sm/storage_fs.c: don't read off the end of the buffer

    * sx/server.c: more memory corruption fixes

2003-10-03  Robert Norris  <rob@cataclysm.cx>

    * s2s/main.c: don't do checks on unresolved domains

    * tools/migrate.pl: do mysql roster subscriptions properly

2003-10-02  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_mysql.c: logging updates; handle failed initial connection correctly (closes #2589)
    * sm/storage_mysql.c: same

    * c2s/authreg_pgsql.c: check failures properly
    * sm/storage_pgsql.c: same

    * sm/mod_offline.c: don't free the stored object nad

    * sm/storage.c: better logging

    * sx/io.c: don't free the nad before we're finished with it

    * util/nad.c: pointer tracking (for debugging)

2003-09-29  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pgsql.c: reconnect to database immediately
    * sm/storage_pgsql.c: same

2003-09-27  Matthias Wimmer  <m@tthias.net>

    * mio/mio.h: update and add doxygen documentation comments related to IPv6
    * mio/mio_inaddr.c: same (and a small return value fix)
    * mio/mio_inaddr.h: same
    * util/inaddr.c: same
    * util/util_compat.h: same

2003-09-25  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_iq_vcard.c: properly set packet to, from and type before returning (closes #2630)

    * ac-helpers/berkeley-db.m4: look in /sw for things (Fink on OS X puts libs here)
    * ac-helpers/mysql.m4: same
    * ac-helpers/openssl.m4: same
    * ac-helpers/pgsql.m4: same

2003-09-24  Robert Norris  <rob@cataclysm.cx>

    * scod/mech_digest_md5.c: don't pass pointers to stack variables <jajcus@bnet.pl> (closes #2637)

    * c2s/authreg.c: prep checking on iq:auth/iq:register usernames & resources (closes #2638)

    * c2s/main.c: configurable router reconnect
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * s2s/main.c: same
    * s2s/router.c: same
    * s2s/s2s.h: same
    * etc/c2s.xml.dist.in: same
    * etc/s2s.xml.dist.in: same

    * sm/sm.h: documented

2003-09-23  Robert Norris  <rob@cataclysm.cx>

    * resolver/resolver.c: configurable router reconnect
    * resolver/resolver.h: same
    * sm/main.c: same
    * sm/sm.c: same
    * sm/sm.h: same
    * etc/resolver.xml.dist.in: same
    * etc/sm.xml.dist.in: same

    * util/daemon.c: removed, not going to do it this way after all
    * util/util.h: same
    * util/Makefile.am: same

    * c2s/main.c: don't pass pointers to stack variables <jajcus@bnet.pl> (closes #2637)

    * sx/io.c: improve sx close semantics
    * c2s/c2s.c: same
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same

2003-09-22  Robert Norris  <rob@cataclysm.cx>

    * doxygen.conf: doxygen bootstrapping <maqi@jabberstudio.org>
    * */*.[ch]: same

    * util/daemon.c: daemon utilites

    * c2s/c2s.c: check for null jid before printing it <jajcus@bnet.pl> (closes #2639)

2003-09-19  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: check for null jid before printing it <jajcus@bnet.pl> (closes #2628)
    * scod/mech_digest_md5.c: don't send null after rspauth <jajcus@bnet.pl> (closes #2629)

2003-09-16  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_disco.c: change category/type to server/im
    * etc/sm.xml.dist.in: same

2003-09-12  Robert Norris  <rob@cataclysm.cx>

    * tools/migrate.pl: rewritten to use Net::Jabber; migrates auth info

    * sm/mod_announce.c: don't free the stored motd

    * sm/mod_template_roster.c: ask can take three values

    * sm/mod_privacy: fix nasty crasher that hits roster pushes

2003-09-11  Robert Norris  <rob@cataclysm.cx>

    * etc/sm.xml.dist.in: updated comments about alternate db drivers

    * util/md5.h: use uint8_t/uint32_t
    * util/sha1.h: get rid of typedefs we never use

2003-09-10  Matthias Wimmer  <m@tthias.net>

    * util/util.h: Changed comments that were out of date since revision 1.21

2003-09-10  Robert Norris  <rob@cataclysm.cx>

    * tools/migrate.pl: basic 1.4 migration tool

    * ac-helpers/berkeley-db.m4: more informative error text
    * ac-helpers/mysql.m4: same
    * ac-helpers/openldap.m4: same
    * ac-helpers/openssl.m4: same
    * ac-helpers/pam.m4: same
    * ac-helpers/pgsql.m4: same

2003-09-05  Robert Norris  <rob@cataclysm.cx>

    * etc/sm.xml.dist.in: all vcard requests get answered by the server

2003-09-04  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: more authzid checks

    * scod/mech_plain.c: buffer overrun fix

    * sm/mod_roster.c: quietly drop roster results, since they're probably push responses

2003-09-03  Robert Norris  <rob@cataclysm.cx>

    * sm/pres.c: huge memory leak fix

    * util/datetime.c: gettimeofday needs both arguments

    * c2s/authreg.c: error auth requests if no mechanisms enabled

    * configure.in: tr requires brackets on some systems; check for libsocket and libnsl (needed on solaris)

    * expat/internal.h: only enable optimisations on with gcc and linux (patch from expat cvs)

    * 2.0b1 released

2003-09-02  Robert Norris  <rob@cataclysm.cx>

    * configure.in: automake docs says this is a good idea

    * sm/mod_session.c: broke c2s protocol handling out into a module
    * sm/dispatch.c: same
    * sm/mm.c: same
    * etc/sm.xml.dist.in: same

2003-09-01  Robert Norris  <rob@cataclysm.cx>

    * scod/mech_anonymous.c: SASL ANONYMOUS support
    * scod/scod.c: same
    * scod/scod.h: same
    * sx/sasl.c: same
    * sx/sasl.h: same

    * scod/mech_digest_md5.c: callback prototype change
    * scod/mech_plain.c: same
    * scod/scod.h: same
    * sx/sasl.c: same
    * sx/sasl.h: same

    * c2s/c2s.c: updated for ANONYMOUS and sasl callback change
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same

    * sm/sess.c: log update

    * c2s/main.c: initialise random number generator at startup
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same

    * sx/server.c: don't initalise random number generator

    * c2s/authreg_mysql.c: memory leaks
    * c2s/authreg_pgsql.c: same

    * ac-helpers/berkeley-db.m4: include stdio.h after other headers
    * ac-helpers/openldap.m4: same
    * ac-helpers/openssl.m4: same

2003-08-29  Robert Norris  <rob@cataclysm.cx>

    * man/jabberd.8.in: jabberd manpage

    * router/router.c: offer SASL mechanisms

2003-08-28  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: queue pre-stream packets, and replay them after stream establishment
    * sx/server.c: same
    * sx/sx.h: same

    * c2s/c2s.c: logging tweaks

    * sx/sasl.c: application can specify wanted mechanisms
    * sx/sasl.h: same

    * c2s/authreg.c: auth mechanisms restricted by configuration
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same

    * man/*: basic manpages

2003-08-27  Robert Norris  <rob@cataclysm.cx>

    * util/jid.c: jid_append() returns list pointer, for new lists
    * util/util.h: same

    * sm/aci.c: incorporate jid_append() changes
    * sm/pres.c: track A and E lists properly

    * sm/sess.c: full session restart on replacement

    * etc/sm.xml.dist.in: chain cleanups

    * s2s/main.c: bounce queues on timeout, cleanup conns properly
    * s2s/in.c: same
    * s2s/out.c: same

    * sx/error.c: updated string length to please assertion

    * sm/dispatch.c: only drop broadcasts, not domain unadvertisments

    * sm/mod_disco.c: forward directed agents requests

2003-08-26  Robert Norris  <rob@cataclysm.cx>

    * etc/c2s.xml.dist.in: config file comment cleanup
    * etc/resolver.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

    * s2s/in.c: remove remote starttls support, its not quite right
    * s2s/main.c: same
    * s2s/s2s.h: same

    * sm/mod_disco.c: proper agents session response (closes #2480)

    * sm/mod_offline.c: actually read queue messages before delivering them

    * sm/mod_roster.c: removed redundant code

    * sm/user.c: don't free users when they've already been freed

    * util/config.c: read attributes properly

    * resolver/dns.c: don't crash on multiple srv records

    * c2s/authreg_mysql.c: sql template updates <mike@mikeprince.com>
    * c2s/authreg_pgsql.c: same

2003-08-25  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: optionally allow password changes even if registration is disabled
    * c2s/main.c: same
    * c2s/c2s.h: same
    * etc/c2s.xml.dist.in: same

    * util/Makefile.am: changed queue_* to jqueue_* to help solaris 9
    * util/util.h: same
    * util/queue.c: same
    * util/jqueue.c: same
    * c2s/c2s.c: same
    * router/main.c: same
    * router/router.c: same
    * router/router.h: same
    * s2s/in.c: same
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/s2s.h: same
    * sx/callback.c: same
    * sx/client.c: same
    * sx/error.c: same
    * sx/io.c: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/ssl.h: same
    * sx/sx.c: same
    * sx/sx.h: same

2003-08-20  Matthias Wimmer  <m@tthias.net>

    * etc/s2s.xml.dist.in: allow multiple s2s components to be present (needed sometimes for IPv6)
    * s2s/main.c: same
    * s2s/router.c: same
    * s2s/s2s.h: same

2003-08-20  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_roster.c: ask can have three values
    * tools/db-setup.mysql: same
    * tools/db-setup.pgsql: same

2003-08-14  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: getopt() returns int, not char <jcollins@asgardrealm.net> (closes #2421)
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same

    * sm/mod_roster.c: generate correctly-namespaced roster packets

    * util/stanza.c: updated error codes to match JEP-0086 v0.2

2003-08-13  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: set process umask at startup
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same

    * etc/Makefile.am: get jabberd.cfg binary names correct based on configure options
    * etc/jabberd.cfg.dist.in: same

2003-08-12  Robert Norris  <rob@cataclysm.cx>

    * bootstrap: work with libtool 1.5

    * c2s/c2s.c: free rate limit state at shutdown
    * c2s/main.c: free rate limit state at shutdown; check authzid for validity

    * sx/io.c: free buffers

    * c2s/authreg.c: comment update
    * sm/main.c: same
    * util/nad.c: same

    * c2s/c2s.c: stupid logic bug checking for bounced sm request

    * sm/mod_template_roster.c: construct delete filter properly

    * sm/storage.c: free filter pool if filter parse fails

    * sx/env.c: free plugins and plugin data when environment is freed
    * sx/sasl.c: same
    * sx/ssl.c: same
    * sx/sx.h: same

2003-08-11  Robert Norris  <rob@cataclysm.cx>

    * configure.in: static builds
    * ac-helpers/openssl.m4: same

2003-08-10  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_ldap.c: search as priveliged user, specify uid attribute in config
    * etc/c2s.xml.dist.in: same

    * sm/dispatch.c: bounce non-unicast routes, handle invalid jids

    * sm/mod_offline.c: bounce queued messages on user delete

    * sx/sx.c: free chains on stream free

    * util/jid.c: use assertoin for jid_reset()

    * resolver/dns.c: comment update
    * sm/mod_disco.c: same
    * sm/mod_disco_publish.c: same
    * sm/mod_iq_vcard.c: same
    * sx/callback.c: same
    * util/nad.c: same

2003-08-09  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: nasty potential crasher

2003-08-08  Robert Norris  <rob@cataclysm.cx>

    * configure.in: -g for compilers is more portable than -ggdb

    * tools/db-setup.mysql: more escaping issues

    * c2s/authreg_mysql.c: sql templates <mike@mikeprince.com>
    * c2s/authreg_pgsql.c: same

    * sm/pres.c: unavailables get broadcast to people we trust, not people who trust us

2003-08-07  Robert Norris  <rob@cataclysm.cx>

    * idn/*: updated to libidn 0.2.1
    * configure.in: updated for idn changes
    * util/jid.c: same

2003-08-06  Robert Norris  <rob@cataclysm.cx>

    * sm/sess.c: session memory handled by pools

    * sm/sess.c: all sessions are active now, so no need to check
    * sm/dispatch.c: same
    * sm/mod_announce.c: same

    * sm/mod_disco.c: active sessions are now listed under a seperate node

    * sm/mod_disco_publish.c: free user data
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: same

    * sm/mod_vacation.c: updated for vacation protocol 0.2

    * sm/sm.h: cleanup

    * sx/error.c: brought stream errors into line with xmpp-core 16
    * sx/sx.h: same

    * sx/sasl.c: brought sasl errors into line with xmpp-core 16

    * util/stanza.c: brought stanza errors into line with xmpp-core 16
    * util/util.h: same

    * s2s/main.c: expire old pending dns queries

2003-08-05  Robert Norris  <rob@cataclysm.cx>

    * sm/sess.c: call user_create correctly (closes #2436)

    * sm/pkt.c: pkt_delay: x:delay stamp function
    * sm/sm.h: same
    * sm/mod_announce.c: use pkt_delay
    * sm/pres.c: same
    * sm/mod_offline.c: use pkt_delay; respond to offline events; expire messages

    * configure.in: allow openldap 2.0
    * ac-helpers/mysql.m4: check for stupid redhat systems

    * util/datetime.c: calculate timezone correctly

    * mio/mio.c: extra semicolon shouldn't be there

    * expat/internal.h: silence osx warnings

2003-08-04  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: registration remove
    * c2s/c2s.c: registration remove, catch failed sm requests
    * c2s/c2s.h: c2s->result now gets used for the register result too
    * c2s/main.c: same
    * c2s/sm.c: trigger user creation/deletion in the sm

    * etc/sm.xml.dist.in: more user-create and user-delete modules

    * router/router.c: broadcast packets

    * sm/user.c: user_load (user_get) now returns NULL if user not exist
                 user_create & user_delete delete by jid, not user
    * sm/dispatch.c: support user_* changes
    * sm/mm.c: same

    * sm/sess.c: remove protocol code
    * sm/main.c: trigger c2s session ends (sess_end doesn't do it anymore)

    * sm/mod_active.c: cause user_load to fail on inactive users
    * sm/mod_announce.c: delete data on user delete
    * sm/mod_disco_publish.c: same
    * sm/mod_iq_last.c: same
    * sm/mod_iq_private.c: same
    * sm/mod_iq_vcard.c: same
    * sm/mod_offline.c: same
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: same
    * sm/mod_vacation.c: same

    * sm/mod_template_roster.c: populate rosters from template at user create (closes FR#2388)
    * etc/templates/Makefile.am: same
    * etc/templates/roster.xml.dist.in: same

    * sm/pres.c: no U list needed (after clarification from xmppwg)

    * sm/mod_roster.c: fix group deletion properly this time

    * sm/sm.h: support all of this

    * sm/storage_mysql.c: free filter after use
    * sm/storage_pgsql.c: same

    * 2.0.0-a6 released

2003-07-30  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg.c: allow 128 chars for packet ids

    * sm/mod_roster.c: correctly handle roster group deletions (closes #2395)

    * scod/mech_digest_md5.c: free attributes correctly

    * sm/mm.c: user-create and user-delete chains
    * etc/sm.xml.dist.in: same
    * sm/sess.c: better seperation of session activity from trigger packet;
                 support proper auto-creation of users;
                 moved active code into mod_active
    * sm/user.c: moved active code into mod_active;
                 added user creation/deletion functions
    * sm/mod_active.c: handle user active status
    * sm/sm.c: moved packet dispatcher into dispatch.c
    * sm/dispatch.c: move packet dispatcher here, with changes to support
                     user-create/user-delete chains and sess.c changes

    * sm/mod_disco_publish.c: user-load now returns int
    * sm/mod_privacy: same
    * sm/mod_roster.c: same
    * sm/mod_vacation.c: same

    * sm/pkt.c: free packet nad only if it exists

    * sm/sm.h: changes to support all of this

2003-07-28  Robert Norris  <rob@cataclysm.cx>

    * etc/sm.xml.dist.in: offline and announce need to get the first presence

    * sx/server.c: a smarter way to generate stream ids

    * sx/sasl.c: simple valgrind warning fixer

2003-07-27  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_ldap.c: user doesn't exist if we're unable to check

2003-07-25  Robert Norris  <rob@cataclysm.cx>

    * sx/ssl.c: fixed ssl mode
    * sx/sx.c: same

    * sm/pres.c: more logging, small distribution thinko

    * router/user.c: small leak

    * c2s/main.c: save process id files
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * sm/main.c: same
    * etc/c2s.xml.dist.in: same
    * etc/resolver.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

    * router/router.c: packet throttling
    * router/router.h: same

2003-07-24  Robert Norris  <rob@cataclysm.cx>

    * sm/pres.c: new xmpp-compliant presence tracker
    * sm/mod_presence.c: same
    * sm/pkt.c: same
    * sm/sm.h: same
    * etc/sm.xml.dist.in: same

    * sm/sm.c: store sm sessions in hashtable; more unique session ids
    * sm/main.c: same
    * sm/sess.c: same
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    
    * util/datetime.c: now generates correct timestamps

    * util/hex.c: hex conversion utilities

    * util/sha1.c: refactored to be more like md5_*
    * util/sha1.h: same
    * util/str.c: moved shahash_r here and refactored to use new hex utils
    * util/sha.c: removed

    * util/util.h: updated to incorporate these changes
    * util/Makefile.am: same

    * sx/server.c: shahash_r can't generate random strings anymore, so do it ourselves

    * scod/mech_digest_md5.c: use new hex utils

    * tools/db-setup.mysql: fixed quotes (closes #2382)

    * etc/router.xml.dist.in: fixed well-formedness bug (closes #2381)

2003-07-22  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: protect against packets in no namespace (closes #2322)
    * resolver/resolver.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/ssl.c: same

    * s2s/out.c: correctly flag pending dns resolutions

    * s2s/out.c: leak and double-free fixes
    * sm/mod_roster.c: same
    * sx/sasl.c: same

    * configure.in: check for res_query

    * tools/Makefile.am: removed references to pass-sync.sh

2003-07-21  Robert Norris  <rob@cataclysm.cx>

    * scod/mech_digest_md5.c: check return value of password methods, method flags
    * scod/mech_plain.c: method flags
    * scod/scod.c: same
    * scod/scod.h: same

    * sx/sasl.c: new flags for password method availability
    * sx/sasl.h: same
    * resolver/resolver.c: same
    * s2s/main.c: same
    * sm/main.c: same
    * c2s/main.c: same

    * router/user.c: user/pass tables
    * router/main.c: same
    * router/router.h: same
    * router/Makefile.am: user/pass table for router users
    * etc/router-users.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/Makefile.am: same

    * c2s/authreg.c: don't need password sync anymore
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same

2003-07-17  Robert Norris  <rob@cataclysm.cx>

    * scod/mech_digest_md5.c: only send one server realm; report success
                              correctly; use callback for password and
                              authzid checking
    * scod/mech_plain.c: use callback for password and authzid checking
    * scod/scod.c: specify realm to server_start(), bugfixes
    * scod/scod.h: more callback stuff

    * c2s/c2s.c: updated sasl code to use scod; router port is now 5347
    * c2s/c2s.h: same
    * c2s/main.c: same
    * resolver/resolver.c: same
    * router/main.c: same
    * s2s/main.c: same
    * s2s/router.c: same
    * sm/main.c: same
    * sm/sm.c: same
    * sx/sasl.c: same
    * sx/sasl.h: same

    * README: removed references to cyrus-sasl
    * configure.in: don't search for/link cyrus-sasl anymore
    * ac-helpers/cyrus-sasl.m4: removed

    * etc/c2s.xml.dist.in: removed sasl config, router port is now 5347
    * etc/resolver.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

    * c2s/Makefile.am: link with scod
    * resolver/Makefile.am: same
    * router/Makefile.am: same
    * s2s/Makefile.am: same
    * sm/Makefile.am: same

2003-07-16  Robert Norris  <rob@cataclysm.cx>

    * scod/mech_digest_md5.c: working DIGEST-MD5 implementation (client & server)
    * scod/scod.h: same

2003-07-15  Robert Norris  <rob@cataclysm.cx>

    * scod/*: minimal sasl implementation, work in progress
    * configure.in: same
    * Makefile.am: same

2003-07-10  Robert Norris  <rob@cataclysm.cx>

    * util/str.c: add j_strnchr, like strchr but only counts n chars
    * util/util.h: same

    * util/md5.c: md5 hashing code
    * util/md5.h: same
    * util/util.h: same
    * util/Makefile.am: same

    * c2s/c2s.c: small bugfix (deref jid correctly)

2003-07-09  Robert Norris  <rob@cataclysm.cx>

    * s2s/main.c: fixed compile errors
    * s2s/out.c: same
    
    * router/main.c: changed default port ot 5347
    * etc/router.xml.dist.in: same

2003-07-08  Robert Norris  <rob@cataclysm.cx>

    * util/xdata.c: xdata parsing
    * util/xdata.h: same
    * util/util.h: same

2003-07-07  Robert Norris  <rob@cataclysm.cx>

    * util/datetime.c: seems to work, hurrah

    * sm/mod_vacation: vacation messages
    * sm/main.c: same
    * sm/mm.c: same
    * sm/sm.h: same
    * tools/db-setup.pgsql: same
    * tools/db-setup.mysql: same
    * etc/sm.xml.dist.in: same

    * sm/mod_privacy.c: initialise vars properly

    * sm/mod_disco.c: browse is officially deprecated
    * etc/sm.xml.dist.in: same

    * s2s/in.c: keepalives, queue expiry, invalid expiry
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/s2s.h: same

    * sm/sm.h: use defines instead of enum for namespace numbers
    * sm/pkt.c: same

2003-07-06  Robert Norris  <rob@cataclysm.cx>

    * util/datetime.c: start of iso8601 datetime parser
    * util/util.h: same
    * util/Makefile.am: same

2003-07-04  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_privacy.c: cleanups and fixes, item/default storage
    * sm/db-setup.mysql: privacy fixes, motd-messages table rename, comments
    * sm/db-setup.pgsql: same
    * sm/mod_announce.c: motd-messages table rename

2003-07-01  Robert Norris  <rob@cataclysm.cx>

    * configure.in: get uint8_t in a portable way
    * ac-helpers/ac_create_stdint_h.m4: same
    * ac-helpers/ac_compile_check_sizeof.m4: same
    * ac-helpers/Makefile.am: same
    * mio/mio.h: same
    * sx/sx.h: same
    * util/util.h: same
    
    * sm/mod_roster.c: make string large enough for full jids
    * util/stanza.c: same

    * configure.in: fix --enable-select

    * sm/mod_privacy.c: xmpp iq:privacy support (incomplete)
    * sm/mm.c: same
    * etc/sm.xml.dist.in: same
    * sm/Makefile.am: build for mod_privacy
    * tools/db-setup.pgsql: privacy list storage
    * tools/db-setup.mysql: same

    * configure.in: don't clobber CFLAGS with --enable-developer (closes #2247)

    * sm/storage_mysql.c: small thinko (thanks shuo) (closes #2240)

    * s2s/in.c: refactored much of the internals, much simpler now
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * s2s/s2s.h: same

    * idn/toutf8: use ICONV_CONST to make call to iconv() portable without warnings (closes #2222)

2003-06-25  Robert Norris  <rob@catalcysm.cx>

    * util/jid.c: stringprep cache, for speed (thanks temas!)
    * util/util.h: same
    * c2s/authreg.c: same
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * c2s/main.c: same 
    * router/main.c: same
    * router/router.c: same
    * router/router.h: same
    * s2s/in.c: same
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/s2s.h: same
    * sm/aci.c: same
    * sm/main.c: same
    * sm/mod_disco.c: same
    * sm/mod_disco_publish.c: same
    * sm/mod_roster.c: same
    * sm/pkt.c: same
    * sm/sess.c: same
    * sm/sm.h: same

2003-06-23  Robert Norris  <rob@cataclysm.cx>

    * configure.in: extra header check that idn asks for <wiml@hhhh.org>; force libtool to link during configure (closes #2192)

    * c2s/authreg.c: more memory leaks
    * c2s/c2s.h: same
    * c2s/main.c: same
    * resolver/resolver.c: same
    * router/main.c: same
    * sm/mm.c: same
    * sm/mod_announce: same
    * sm/sm.c: same
    * sm/storage_mysql.c: same
    * sm/storage_pgsql.c: same

2003-06-20  Robert Norris  <rob@cataclysm.cx>

    * Makefile.am: don't distribute ac-helpers/CVS
    * ac-helpers/Makefile.am: same
    * configure.in: same

    * c2s/main.c: stupid crasher when getting realm with no to address (closes #2210)

    * router/main.c: numerous memory leaks
    * router/router.c: same
    * sm/mod_disco.c: same
    * sm/sm.h: same
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/sx.c: same
    * util/config.c: same

2003-06-19  Robert Norris  <rob@cataclysm.cx>

    * sx/client.c: allow partial writes; better buffer management <wiml@hhhh.org> (closes #1905)
    * sx/error.c: same
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/sx.c: same
    * sx/sx.h: same
    * s2s/sx.c: same

    * c2s/c2s.c: changed to use partial writes <wiml@hhhh.org> (closes #1905)
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same

    * util/nad.c: fix compiler warnings on some systems <wiml@hhhh.org> (closes #1905)
    * util/util.h: same

    * c2s/main.c: more realm sanity checks <wiml@hhhh.org>

    * c2s/authreg.c: xmpp-style session start
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * c2s/main.c: same

    * sx/sasl.c: xmpp-style sasl errors

    * sm/mod_disco_publish.c: disco item publishing
    * sm/mod_disco.c: same
    * sm/mm.c: same
    * sm/Makefile.am: same
    * etc/sm.xml.dist.in: same
    * tools/db-setup.pgsql: same
    * tools/db-setup.mysql: same

    * 2.0.0-a5 released

2003-06-18  Robert Norris  <rob@cataclysm.cx>

    * sm/object.c: preserve object order (closes #2103)
    * sm/storage_mysql.c: force object return order (closes #2103), correct storage of field names
    * sm/storage_pgsql.c: force object return order (closes #2103)
    * tools/db-setup.mysql: same
    * tools/db-setup.pgsql: same

2003-06-17  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pam.c: pam authentication module (closes FR#1209)
    * c2s/authreg.c: same
    * c2s/Makefile.am: build for pam module
    * ac-helpers/pam.m4: checks for pam
    * configure.in: checks for pam, set alt cflags first

2003-06-12  Robert Norris  <rob@cataclysm.cx>

    * ac-helpers/openldap.m4: swap link order on lber & ldap, helps systems that don't have deep deps on libs
    * ac-helpers/mysql.m4: only try to link, since running doesn't do anything
    * ac-helpers/pgsql.m4: same

2003-06-11  Robert Norris  <rob@cataclysm.cx>

    * configure.in: use libtool to build everything (closes #1937)
    * c2s/Makefile.am: same
    * expat/Makefile.am: same
    * idn/Makefile.am: same
    * mio/Makefile.am: same
    * resolver/Makefile.am: same
    * router/Makefile.am: same
    * s2s/Makefile.am: same
    * sm/Makefile.am: same
    * sx/Makefile.am: same
    * util/Makefile.am: same

2003-06-10  Robert Norris  <rob@cataclysm.cx>

    * config.rpath: taken from gettext, needed for AM_ICONV to work on all platforms

    * ac-helpers/*: added -R to try and link runpaths correctly (possibly closes #1937)

    * sx/sx.h: removed fd requirement so sx is not completely io-agnostic (closes #1896)
    * authreg/authreg.c: same
    * router/router.c: same

    * tools/pass-sync.sh: example password sync script

2003-06-09  Robert Norris  <rob@cataclysm.cx>

    * configure.in: require openssl 0.9.6b+ to better support Redhat

    * c2s/authreg.c: external password synchronisation, sane default realm
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same
    * etc/jabberd.cfg.dist.in: run s2s before c2s
    * sx/sasl.c: allow authzid to differ from user@realm, minor cleanups
    * sx/sasl.h: minor cleanups

    * sx/client.c: removed fd requirement so sx is not completely io-agnostic (closes #1896)
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/sx.c: same
    * sx/sx.h: same

    * configure.in: include sys/types.h in various ipv6 checks (closes #1931)

2003-06-05  Robert Norris  <rob@cataclysm.cx>

    * README: documentation updates
    * etc/c2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same
    * tools/db-setup.mysql: same
    * tools/db-setup.pgsql: same
    * configure.in: documentation updates and build cleanups
    * c2s/authreg.c: change functions to ar_* and _ar_*, for consistency
    * c2s/authreg_anon.c: same
    * c2s/authreg_db.c: same
    * c2s/authreg_pipe.c: same
    * sm/storage_mysql.c: optionally disable transactions
    * sm/storage_pgsql.c: same
    * tools/db-setup.pgsql: initial setups for mysql storage

2003-06-04  Robert Norris  <rob@cataclysm.cx>

    * sm/storage_mysql.c: mysql storage module
    * sm/storage.c: same
    * c2s/authreg_mysql.c: mysql authreg module
    * c2s/authreg.c: same
    * ac-helpers/mysql.m4: build for mysql
    * configure.in: same
    * sm/Makefile.am: same
    * etc/sm.xml.dist.in: config for mysql
    * etc/c2s.xml.dist.in: same

2003-06-02  Robert Norris  <rob@cataclysm.cx>

    * sm/storage_pgsql.c: insert multiple objects correctly, and fixed some leaks

2003-05-30  Robert Norris  <rob@cataclsym.cx>

    * configure.in: more task-based build system
    * ac-helpers/*: same
    * c2s/authreg.c: same
    * c2s/authreg_anon.c: same
    * c2s/authreg_db.c: same
    * c2s/authreg_ldap.c: same
    * c2s/authreg_pgsql.c: same
    * c2s/authreg_pipe.c: same
    * sm/storage.c: same
    * sm/storage_db.c: same
    * sm/storage_fs.c: same
    * sm/storage_pgsql.c: same

2003-05-29  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pgsql.c: postgresql authreg module
    * c2s/Makefile.am: same
    * c2s/authreg.c: same
    * etc/c2s.xml.dist.in: same
    * tools/db-setup.pgsql: updated schema for authreg

2003-05-28  Robert Norris  <rob@cataclysm.cx>

    * configure.in: build for postgresql
    * ac-helpers/pgsql.m4: same
    * sm/Makefile.am: same
    * sm/storage.c: postgresql storage module
    * sm/storage_db.c: correct init return on failure
    * sm/storage_fs.c: same
    * sm/storage_pgsql.c: numerous fixes from testing, works now

2003-05-27  Robert Norris  <rob@cataclysm.cx>

    * c2s/c2s.c: record activity at accept so we don't send a keepalive before the stream is established
    * sm/storage_pgsql.c: postgresql storage module
    * etc/sm.xml.dist.in: same
    * tools/db-setup.pgsql: initial setups for postgresql storage
    * sm/mod_announce.c: split storage into two seperate types to make the schema sane
    
2003-05-21  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pipe.c: base64 pipe-auth passwords <willu@cse.unsw.edu.au>
    * tools/pipe-auth.pl: same
    * c2s/c2s.c: c2s keepalives
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same
    * sm/sess.c: correctly replace sessions (closes #1917)
    * sm/sm.c: same
    * sm/sm.h: same

2003-05-20  Robert Norris  <rob@cataclysm.cx>

    * sm/mm.c: user load chain
    * sm/mod_roster.c: same
    * sm/user.c: same
    * sm/sm.h: same
    * etc/sm.xml.dist.in: same
    * sm/mod_iq_last.c: don't reply to untrusted requested
    * sm/pres.c: _jid_trust() is now pres_trust()

2003-05-16  Robert Norris  <rob@cataclysm.cx>

    * sx/callback.c: handle empty namespace declarations

2003-05-15  Robert Norris  <rob@cataclysm.cx>

    * util/stanza.c: fixed error code assertion
    * util/util.h: error codes are >100 to prevent clashes with sm module return codes
    * sm/mod_announce.c: xmpp stanza errors
    * sm/mod_deliver.c: same
    * sm/mod_disco.c: same
    * sm/mod_iq_last.c: same
    * sm/mod_iq_private.c: same
    * sm/mod_iq_vcard.c: same
    * sm/mod_offline.c: same
    * sm/mod_roster.c: same
    * sm/mod_validate.c: same
    * sm/pkt.c: same
    * sm/sm.c: same
    * sm/sm.h: same

2003-05-14  Robert Norris  <rob@cataclysm.cx>

    * resolver/resolver.c: xmpp stanza errors
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * sm/sess.c: same
    * sm/sm.c: same
    * util/nad.c: removed nad_error() and nad_tofrom()
    * util/util.h: same

    * c2s/c2s.c: xmpp stream errors
    * c2s/main.c: same
    * router/router.c: same
    * sx/client.c: same
    * sx/io.c: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/sx.h: same

2003-05-09  Robert Norris  <rob@cataclysm.cx>

    * util/stanza.c: xmpp stanza errors
    * util/util.h: xmpp stanza errors, defines for namespace URIs
    * c2s/authreg.c: use xmpp stanza errors, defines for namespace URIs
    * c2s/c2s.c: defines for namespace URIs
    * c2s/sm.c: same
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * s2s/sx.c: same
    * sm/main.c: same
    * sm/mod_announce.c: same
    * sm/mod_disco.c: same
    * sm/mod_iq_last.c: same
    * sm/mod_iq_private.c: same
    * sm/mod_iq_time.c: same
    * sm/mod_iq_version.c: same
    * sm/mod_offline.c: same
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: same
    * sm/pkt.c: same
    * sm/pres.c: same
    * sm/sess.c: same
    * sm/sm.c: same
    * sm/sm.h: same
    * sx/io.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/ssl.c: same
    * sx/client.c: defines for namespace URIs, sx_client_init() triggers write correctly

2003-05-09  Matthias Wimmer  <m@tthias.net>

    * etc/sm.xml.dist.in: corrected mismatched tag
    * configure.in: added _mio_addrlen
    * mio/mio.c: same
    * mio/mio_inaddr.c: same
    * mio/mio_inaddr.h: same

2003-04-16  Robert Norris  <rob@cataclysm.cx>

    * util/queue.c: no reason to restrict null data

2003-04-15  Robert Norris  <rob@cataclysm.cx>

    * sx/ssl.c: handle large buffers correctly

2003-04-10  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_disco.c: correct local identity handling (including config  options)
    * etc/sm.xml.dist.in: same

2003-04-04  Robert Norris  <rob@cataclysm.cx>

    * sx/io.c: correct error/close handling
    * c2s/c2s.c: don't need to force close after error any more
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same
    * sm/mm.c: fix nasty crasher when module can't support requested chain

    * c2s/c2s.c: idle connection checks
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same

2003-04-03  Robert Norris  <rob@cataclysm.cx>

    * sm/storage_db.c: refactored for new storage layer
    * sm/mod_roster.c: silly memory allocation bug

2003-04-02  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_announce.c: refactored for new storage layer
    * sm/mod_iq_vcard.c: same
    * sm/storage_fs.c: warns about its unstable nature

2003-04-01  Robert Norris  <rob@cataclysm.cx>

    * etc/sm.xml.dist.in: no more private index, so nothing to do at session start
    * sm/mod_iq_last.c: refactored for new storage layer
    * sm/mod_iq_private.c: same
    * sm/mod_offline.c: free object sets when we're done with them
    * sm/user.c: same
    * sm/mod_roster.c: group storage
    * sm/object.c: track the set tail

    * sx/sx.h: new plugin method for freeing connection state on close
    * sx/sx.c: same
    * sx/sasl.c: free connection state on close
    * sx/ssl.c: same

    * ac-helpers/openldap.m4: stupid missing comment [jaxp]

    * sx/ssl.c: catch transport closure correctly (closes #1411)
    * c2s/c2s.c: close streams after errors (closes #1411)
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same

2003-03-31  Robert Norris  <rob@cataclysm.cx>

    * sm/sm.h: new object-based storage layer
    * sm/storage.c: same
    * sm/object.c: data objects for storage
    * sm/storage_fs: nasty filesystem backend for storage layer testing
    * sm/mod_offline.c: refactored for new storage layer
    * sm/mod_roster.c: same
    * sm/sess.c: same
    * sm/user.c: same
    * util/nad.c: parse raw xml into a nad
    * util/util.h: same

2003-03-27  Robert Norris  <rob@cataclysm.cx>

    * router/router.c: make sure components get reverse notifications about legacy components 
    * sm/mod_disco.c: refactored and heavily optimised

    * util/base64.c: base64 encode/decode functions
    * util/util.h: same
    * util/str.c: removed old str_b64decode() function

    * router/router.c: use statically allocated jid buffers, so we don't need 2-4 large malloc's every packet
    * util/jid.c: jid_reset() shouldn't free memory that it doesn't know the origin of

    * sm/mod_validate.c: allow subscription packets

2003-03-25  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_db.c: xhashes can't store empty strings, so hold the empty realm handle seperately (possibly closes #1411)
    * util/xhash.c: iteration functions
    * util/util.h: same

2003-03-24  Robert Norris  <rob@cataclysm.cx>
    
    * configure.in: check for openssl >= 0.9.6d (admin should check for security holes)
    * ac-helpers/openssl.m4: same
    * c2s/main.c: avoid segfault on unknown realm

2003-03-21  Robert Norris  <rob@cataclysm.cx>

    * 2.0.0-a4 released

2003-03-20  Robert Norris  <rob@cataclysm.cx>

    * router/main.c: packet logging facilities (log sinks)
    * router/router.c: same
    * router/router.h: same
    * etc/router.xml.dist.in: same

2003-03-19  Robert Norris  <rob@cataclysm.cx>

    * ac-helpers/*: alternate paths for external libs
    * configure.in: same

    * sx/sasl.c: callback to get sasl auth realm
    * sx/sasl.h: same

    * c2s/authreg.c: sasl client auth
    * c2s/c2s.c: same
    * c2s/c2s.h: same
    * c2s/main.c: same
    * etc/c2s.xml.dist.in: same

    * router/router.c: move component auth into seperate realm
    * router/main.c: same

    * resolver/resolver.c: modified for sx sasl change
    * s2s/main.c: same
    * sm/main.c: same

    * configure.in: ldap support
    * ac-helpers/openldap.m4: same

    * c2s/authreg_ldap.c: ldap authentication module
    * c2s/authreg.c: same
    * etc/c2s.xml.dist.in: same

    * c2s/c2s.h: pull in config.h
    * idn/strinprep.h: same
    * mio/mio.h: same
    * resolver/resolver.h: same
    * router/router.h: same
    * s2s/s2s.h: same
    * sm/sm.h: same
    * sx/sx.h: same

    * expat/*: updated to 1.95.6

2003-03-18  Robert Norris  <rob@cataclysm.cx>

    * sx/sasl.c: force servers to explicitly offer sasl/starttls
    * sx/sasl.h: same
    * sx/ssl.c: same
    * sx/ssl.h: same

    * c2s/c2s.c: authenticate to router with seperate user/pass; seperate connect and accept SSL pemfiles
    * c2s/main.c: same
    * c2s/c2s.h: same
    * resolver/resolver.c: same
    * resolver/resolver.h: same
    * s2s/in.c: same
    * s2s/main.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * s2s/s2s.h: same
    * sm/main.c: same
    * sm/sm.c: same
    * sm/sm.h: same
    * etc/c2s.xml.dist.in: same
    * etc/resolver.xml.dist.in: same
    * etc/router.xml.dist.in: same
    * etc/s2s.xml.dist.in: same
    * etc/sm.xml.dist.in: same

    * sm/main.c: version signature
    * sm/mod_iq_version.c: same
    * sm/sm.h: same

    * router/main.c: name aliases; bind access controls
    * router/router.c: same
    * router/router.h: same

    * sm/mod_iq_vcard.c: sanity checks for dodgy data
    * sm/mod_iq_private.c: same
    * sm/mod_announce.c: same
    * sm/mod_offline.c: same

    * s2s/out.c: cache dns results
    * s2s/s2s.h: same

2003-03-14  Robert Norris  <rob@cataclysm.cx>

    * tools/jabberd.in: run s2s by default
    * etc/jabberd.cfg.dist.in: same

    * c2s/c2s.c: write large buffers out
    * resolver/resolver.c: same
    * router/router.c: same
    * s2s/in.c: same
    * s2s/out.c: same
    * s2s/router.c: same
    * sm/sm.c: same
    * sx/sasl.c: correctly encode large buffers

2003-03-13  Robert Norris  <rob@cataclysm.cx>

    * s2s/*: s2s (dialback) component
    * etc/s2s.xml.dist.in: config for s2s
    * configure.in: build system for s2s
    * router/router.c: support for a "default" bind option
    * router/router.h: same
    * c2s/c2s.c: weird indenting fixed
    * sm/sm.h: no conflicting bitmasks
    * sx/ssl.h: bit-shifted flag the wrong way

2003-03-11  Robert Norris  <rob@cataclysm.cx>

    * configure.in: set berkeley include and lib paths properly
    * berkeley-db.m4: same

    * router/router.c: route advertisements
    * router/router.h: domain_t doesn't exist anymore
    * sm/mod_disco.c: updated for new advertisement protocol
    * sm/pkt.c: recognize and build advertisement packets
    * sm/sm.h: same
    * sm/sm.c: dispatch non-route packets to pkt_router chain

    * router/router.c: support for legacy 'jabber:component:accept' components
    * router/main.c: same
    * etc/router.xml.dist.in: same
    * util/nad.c: errors don't have to have text, the code is enough

    * resolver/resolver.c: update for SX2 and new component protocol
    * resolver/resolver.h: same
    * etc/resolver.xml.dist.in: same
    * c2s/main.c: free mio at exit
    * sm/main.c: same
    * router/main.c: same
    * sx/ssl.c: fixed ssl/sasl establishment checks
    * sx/sasl.c: same
    * sx/sx.c: same

2003-03-10  Robert Norris  <rob@cataclysm.cx>

    * sx/sasl.c: updated to xmpp-core-05
    * sx/sasl.h: same
    * sx/ssl.c: same
    * sx/ssl.h: same
    * sx/client.c: supporting changes
    * sx/io.c: same
    * sx/server.c: same
    * c2s/c2s.c: encrypt the router conn if possible
    * sm/main.c: same
    * sm/sm.c: same
    * sm/sm.h: same

    * README: copyright and licensing info
    * idn/*: import of GNU Libidn 0.1.11
    * configure.in: checks for iconv and locale (for idn)
    * Makefile.am: build idn
    * c2s/Makefile.am: link libidn.a
    * sm/Makefile.am: same
    * router/Makefile.am: same
    * resolver/Makefile.am: same
    * util/jid.c: prep new jids, use xmpp-core-05 field widths (closes #809)
    * util/util.h: same
    * c2s/authreg.c: prep modified session jid
    * router/router.c: prep domain names on incoming packets
    * sm/pres.c: verify trust using prep'd jids directly

    * berkeley-db.m4: alternate paths for berkeley db (actions #791)
    * configure.in: same

2003-03-05  Robert Norris  <rob@cataclysm.cx>

    * sx/Makefile.am: removed handshake.[ch]
    * sx/callback.c: start nad depth at 0, track namespaces for attributes
    * sx/client.c: track namespaces for attributes
    * sx/server.c: same
    * sx/io.c: better close handling
    * sx/chain.c: starting element for nads
    * sx/sasl.c: same
    * sx/sx.c: track callback reentry correctly
    * sx/sx.h: header changes for all this

    * configure.in: removed debugging flags
    * c2s/authreg_pipe.c: redundant buffer removed
    * c2s/c2s.c: ported to new SX2 and adjusted for new packet format
    * c2s/c2s.h: same
    * c2s/main.c: same
    * c2s/sm.c: same
    * sm/*: ported to new SX2 and adjusted for new packet format
    * router/router.c: route errors, unbind names on disconnect
    * sx/io.c: make sx_nad_write_elem() actually write from elem
    * util/jid.c: TODO item about libidn
    * util/nad.c: nad_append_namespace(), changes to nad_error()
    * util/util.h: same
    * etc/c2s.xml.dist.in: router is now on port 5230
    * etc/sm.xml.dist.in: same
    * docs/dev/sm-c2s-protocol: new session protocol
    * docs/dev/component-protocol: new component protocol

    * c2s/c2s.c: fixed router reconnect
    * sm/sm.c: same

2003-03-03  Robert Norris  <rob@cataclysm.cx>

    * router/main.c: new route protocol, early ssl/sasl component support
    * router/main.c: same
    * router/router.h: same

2003-02-26  Robert Norris  <rob@cataclysm.cx>

    * sx/sx.c: don't allow sx_free to be called from a callback
    * sx/io.c: same
    * router/main.c: same
    * router/router.c: same

2003-02-25  Robert Norris  <rob@cataclysm.cx>

    * README: warning about broken CVS
    * sx/*: new streams layer
    * c2s/*: partial port to new SX2
    * router/*: port to new SX2
    * etc/router.xml.dist.in: same
    * util/nad.c: nad_tofrom() and nad_error() utilities from SX1
    * util/util.h: same
    * configure.in: get reasonable debug flags with --enable-debug

2003-02-09  Matthias Wimmer  <m@tthias.net>

    * README: The URL to download Berkeley DB changed

2003-01-16  Robert Norris  <rob@cataclysm.cx>
    
    * sm/mod_roster.c: fixed a little bug that could break group management
    * router/main.c: service aliases
    * router/router.h: same
    * etc/router.xml.dist.in: same; 1.4 uplink example
    * router/router.c: allow ip/port fallback to work correctly
    * sx/conn.c: fill out conn peer structure correctly

2003-01-10  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_roster.c: s10n for jids not on the roster get created correctly (closes #864)

2003-01-08  Matthias Wimmer  <m@tthias.net>

    * mio/mio_inaddr.h: fixed a typo

2003-01-07  Matthias Wimmer  <m@tthias.net>

    * configure.in: check for in_port_t added

2002-12-20  Robert Norris  <rob@cataclysm.cx>

    * sm/mm.c: removed per-module module data (redundant)
    * sm/sm.h: same
    * sm/mod_announce.c: same
    * sm/mm.c: module instance data passed to each module
    * sm/mod_*.c: same
    * sm/sm.h: same

    * 2.0.0-a3 released

2002-12-18  Robert Norris  <rob@cataclysm.cx>

    * configure.in: IPv6 support [mawis]
    * c2s/c2s.c: same
    * c2s/main.c: same
    * mio/mio.c: same
    * mio/mio.h: same
    * mio/mio_inaddr.c: same
    * mio/mio_inaddr.h: same
    * resolver/dns.c: same
    * resolver/dns.h: same
    * resolver/resolver.c: same
    * resolver/resolver.h: same
    * router/main.c: same
    * router/router.c: same
    * sx/conn.c: same
    * sx/dialback.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/sx.h: same
    * util/access.c: same
    * util/util.h: same
    * util/inaddr.c: same
    * util/util_compat.h: same
    * etc/resolver.xml.dist.in: same

2002-12-17  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_announce.c: broadcast messages (broadcast, motd, etc)
    * sm/mm.c: same
    * etc/sm.xml.dist.in: same
    * sm/mm.c: global per-module data
    * sm/sm.h: same
    * util/nad.c: rewrote nad_find_scoped_namespace()
    * sm/mod_echo.c: send sm message to admins
    * sm/mm.c: same
    * etc/sm.xml.dist.in: same

2002-12-16  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_deliver.c: packets to offline resources return 404
    * sm/mm.c: per-instance module arguments (for module multiplexors eg mod_perl)
    * sm/mod_*.c: same
    * sm/sm.h: same

2002-12-14  Robert Norris  <rob@cataclysm.cx>

    * util/jid.c: jid list helpers moved from sm/pres.c
    * util/util.h: same
    * sm/pres.c: same
    * sm/aci.c: access control specification and checking
    * sm/main.c: same
    * sm/sm.h: same
    * etc/sm.xml.dist.in: same
    * sm/disco.c: user/session disco now restricted

2002-12-09  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_disco.c: set feature element at the correct depth (closes #792)
    * util/nad.c: added a note about a needed fix to use of parents and the depth array

2002-12-04  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_pipe.c: pipe authenticator
    * c2s/authreg.c: same
    * etc/c2s.xml.dist.in: same
    * tools/pipe-auth.pl: sample module for pipe authenticator
    * c2s/c2s.c: flag chunks from domains (no node) correctly
    * sm/mod_deliver.c: send everything not for this session instead of this user
    * sm/mod_disco.c: list of active users, and active sessions per user

2002-12-01  Robert Norris  <rob@cataclysm.cx>

    * router/router.c: component presence
    * c2s/c2s.c: same
    * resolver/resolver.c: same
    * sm/sm.c: same
    * sm/mod_disco.c: service discovery (JEP-0030) support, agents/browse compatibiltiy
    * sm/main.c: same
    * sm/mm.c: same
    * sm/sm.h: same
    * etc/sm.xml.dist.in: same
    * sm/feature.c: feature registry
    * sm/: updated modules to register supported features
    * sm/storage.c: removed redundant code
    * sm/mm.c: prevent infinite loops
    * sm/pkt.c: tiny packet id bugfix

2002-11-28  Robert Norris  <rob@cataclysm.cx>

    * c2s/main.c: SIGHUP now rotates the log
    * resolver/resolver.c: same
    * router/main.c: same
    * sm/main.c: same
    * c2s/main.c: reorganised some code slightly
    * sm/main.c: same

2002-11-26  Robert Norris  <rob@cataclysm.cx>

    * sm/mm.c: setup module_t fields before the initialiser gets called

2002-11-22  Robert Norris  <rob@cataclysm.cx>

    * sm/storage_db.c: restructured to make more sense (and work correctly)
    * sm/mod_iq_private.c: rewritten to make more effective use of utils
    * sm/mm.c: same
    * sm/sm.c: log connection info like c2s/resolver
    * sm/mod_iq_vcard.c: return 501 if put isn't implemented, not 500

    * 2.0.0-a2 released

    * sm/mod_iq_private.c: no more namespace restrictions

2002-11-21  Robert Norris  <rob@cataclysm.cx>

    * c2s/authreg_db.c: tranaction/recovery support
    * sm/storage_db.c: same
    * util/xhash.c: added xhash_zapx() and xhash_putx()
    * util/util.h: same

2002-11-20  Robert Norris  <rob@cataclysm.cx>

    * sx/chunk.c: now has the concept of local/remote for peers, and experimental support for the new router stream
    * sx/client.c: same
    * sx/conn.c: same
    * sx/dialback.c: same
    * sx/nad.c: same
    * sx/sasl.c: same
    * sx/server.c: same
    * sx/sx.h: same
    * c2s/: updated to support changed api
    * resolver/: same
    * router/: same
    * sm/: same
    * configure.in: only support db 4.1
    * sm/storage_db.c: same
    * c2s/authreg_db.c: same

2002-11-19  Robert Norris  <rob@cataclysm.cx>

    * c2s/sm.c: new c2s/sm control protocol (see docs/dev/sm-c2s-protocol)
    * c2s/c2s.c: same
    * c2s/authreg.c: same
    * c2s/c2s.h: same
    * sm/main.c: same
    * sm/pkt.c: same
    * sm/sess.c: same
    * sm/sm.c: same
    * sm/sm.h: same
    * util/jid.c: clear dirty flag when we expand

2002-11-18  Robert Norris  <rob@cataclysm.cx>

    * etc/: more changes to config building, now we insert correct paths into xml files
    * util/nad.c: nad_wrap_elem() brings new namespaces into scope
    * util/util.h: same
    * c2s/c2s.c: converted to run on jid_*
    * c2s/authreg.c: same
    * c2s/c2s.h: same

2002-11-15  Robert Norris  <rob@cataclysm.cx>

    * util/nad.c: nad_set_attr now takes a length for the value, so no restrictions on packet id length
    * util/util.h: same
    * c2s/authreg.c: same
    * c2s/c2s.c: same
    * resolver/resolver.c: same
    * sm/mod_deliver.c: same
    * sm/mod_iq_last.c: same
    * sm/mod_iq_private.c: same
    * sm/mod_iq_time.c: same
    * sm/mod_iq_vcard.c: same
    * sm/mod_iq_version.c: same
    * sm/mod_offline.c: same
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: same
    * sm/pkt.c: same
    * sm/pres.c: same
    * sm/sess.c: same
    * sm/sm.h: same
    * sx/dialback.c: same
    * sx/nad.c: same
    * sx/sasl.c: same
    * configure.in: install config under $(sysconfdir)/jabber
    
2002-11-14  Ryan Eatmon  <reatmon@jabber.org>

    * Makefile.am: include tools
    * configure.in: same
    * etc/jabberd.cfg.dist: config file for jabberd wrapper
    * etc/Makefile.am: same
    * tools/jabberd: jabberd wrapper script to provide easier launching
    * tools/Makefile.am: same
    * util/log.c: flush the debug output

2002-11-14  Robert Norris  <rob@cataclysm.cx>

    * resolver/dns.h: explicitly include some headers (closes #728)
    * configure.in: link with -lcrypto (closes #728)
    * sm/pres.c: make sure _jid_trust build the user jid correctly (closes #733)
    * util/serial.c: nice string/int serialiser functions
    * util/util.h: same
    * util/Makefile.am: same
    * sm/mod_iq_private.c: fixed compile warnings
    * sm/mod_roster.c: modified to use new serialiser utils
    * sm/mod_privacy.c: same

2002-11-13  Robert Norris  <rob@cataclysm.cx>

    * sm/mm.c: actually update mm->nindex (I have no idea how this worked before)
    * sm/sm.h: per-user module data
    * sm/user.c: same
    * sm/sess.c: send through unavailable presence before we call mm_sess_end(); 
    * sm/sess.c: free module data on session end
    * sm/mod_privacy.c: jabber:iq:privacy (JEP-0016) support
    * sm/sm.h: same
    * sm/main.c: same
    * sm/mm.c: same
    * sm/Makefile.am: same
    * etc/sm.xml.dist: same
    * sm/mod_iq_private.c: jabber:iq:privacy (JEP-0049) support <crabbkw@nafai.dyndns.org>
    * sm/mm.c: same
    * sm/Makefile.am: same
    * etc/sm.xml.dist: same
    * sm/mod_echo.c: message echo module (closes FR#375)
    * sm/Makefile.am: same
    * sm/mm.c: same
    * sm/Makefile.am
    * etc/sm.xml.dist: same
    * sm/sess.c: new function sess_match(), finds a session by resource (full or partial)
    * sm/sm.h: same
    * sm/mod_deliver.c: modified to use sess_match()
    * sm/mod_privacy.c: same
    * sm/mod_roster.c: send presence from top session with automated (un)sub responses

2002-11-12  Robert Norris  <rob@cataclysm.cx>

    * util/nad.c: started a todo list

2002-11-11  Robert Norris  <rob@cataclysm.cx>

    * util/log.c: removed restriction on filename length (closes #714)
    * util/util.h: same

2002-11-08  Robert Norris  <rob@cataclysm.cx>

    * sm/mod_iq_vcard.c: overwrite existing vcard properly
    * c2s/authreg_db.c: support db 4.1+ <crabbkw@nafai.dyndns.org>
    * sm/storage_db.c: same
    * etc/Makefile.am: don't overwrite existing config files if present (closes #705)
    * etc/c2s.xml.dist: moved from etc/c2s.xml
    * etc/router.xml.dist: moved from etc/router.xml
    * etc/resolver.xml.dist: moved from etc/resolver.xml
    * etc/sm.xml.dist: moved from etc/sm.xml
    * sx/dialback.c: lowercase domain names
    * sx/conn.c: handle empty namespace declarations
    * util/jid.c: added a note about jid comparisions

2002-11-07  Ryan Eatmon  <reatmon@jabber.org>

    * util/log.c: fixed logging of notices when debug is turned on
    * c2s/main.c: reconnect to router on router disconnect
    * resolver/resolver.c: same
    * sm/main.c: same

2002-11-07  Robert Norris  <rob@cataclysm.cx>

    * 2.0.0-a1 released
