2009-04-22 Tomasz Sterna <tomek@xiaoka.com>
	* Proper check for valid arguments in nad_find_namespace(). Fixes Bug #364816.

2009-04-16 Tomasz Sterna <tomek@xiaoka.com>
	* fix for ser_string_get missing from storage_db.so by Michael Weiser. Fixes Bug #345947

2009-04-03 Tomasz Sterna <tomek@xiaoka.com>
	* Send all in-sess generated and not processed packets to the wild.

2009-04-01 Tomasz Sterna <tomek@xiaoka.com>
	* Proper order of redirect and background job operators
	* Specify that vCard field size is in bytes
	* Merged support for settable vCard and vCard-avatar fields size by Sylvain Rochet. Fixes Bug #336123
	* Redirecting both stdout and stdin to /dev/null on daemon launch. Fixes Bug #349714

2009-03-30 Tomasz Sterna <tomek@xiaoka.com>
	* Give both disco#info and disco#items to disco#info query. Fixes Bug #349134.
	* End SM session when client disconnects before session start recieved
	* Replying with presence-unsubscribed to presence-probe only. Fixes Bug #341170.

2009-03-16 Tomasz Sterna <tomek@xiaoka.com>
	* Added /etc/hosts support in s2s resolver. Thanks to Gebi Miguel. Fixes #63

2009-03-05 Adam Strzelecki <ono@java.pl>
	* New Visual Studio 2008 compatible README.win32
	* Visual Studio 2008 (SP1) projects migration
	* Use only necessary link libraries
	* Use own OpenSSL libraries (i.e. libeay32.lib instad of libeay32MT.lib from Shining Light Productions)
	* Add OpenSSL directly to the build, avoiding problems with OpenSSL installation on some systems
	* Remove OpenSSL check (now it is installed inside jabberd2 folder)
	* Check VS 2008 RTM on Vista and Windows 7 too
	* Define target versions to Win2k and IE4 to avoid problems with Vista SDK + cleanup junky comments
	* util.h is local in util folder

2009-03-03 Tomasz Sterna <tomek@xiaoka.com>
	* Add SSL_OP_NO_TICKET definition for older OpenSSL installations. Fixes #256

2009-03-02 Adam Strzelecki <ono@java.pl>
	* ANSI C compatibility, variable declaration at the beginning of the block.

2009-02-24 Tomasz Sterna <tomek@xiaoka.com>
	* Handle missing authreg configuration correctly
	* More descriptive MIO debugging
	* Disabled Session Ticket extension on outgoing SSL connections. Refs #256

2009-02-16 Tomasz Sterna <tomek@xiaoka.com>
	* Enforce qop=auth for DIGEST-MD5 in sasl_gsasl
	* Moved gsasl_decode()/gsasl_encode() to sasl RIO/WIO

2009-02-13 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented GSASL qop-int integrity checks with gsasl_decode()/gsasl_encode() functions. Refs #233
	* Implemented router-filter packet logging. Closes #176

2009-02-12 Tomasz Sterna <tomek@xiaoka.com>
	* Proper mangling jabber:client to jabber:client namespace in incoming S2S packets. Fixes #267
	* Changed basedns to basedn in error messages. Fixes #268

2009-02-09 Tomasz Sterna <tomek@xiaoka.com>
	* Merged patch to specify origin IP addres of S2S connections
	  by Eygene Ryabinkin <rea-fbsd@codelabs.ru>

2009-01-18 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed an issue when one invalid outgoing domain resolution
	  would iterate over ALL outgoing resolution queues and bounce
	  all waiting outgoing packets.

2009-01-16 Tomasz Sterna <tomek@xiaoka.com>
	* [CRASHER] Fixed bug in _nad_lp0() that could produce 'unbound prefix'
	  XML parse errors in rare cases. This leads to components disconnection
	  and shutdown.

2009-01-15 Tomasz Sterna <tomek@xiaoka.com>
	* More debugging information for XML Parse ERROR
	* Fixed double free in mod_amp. Fixes #265

2009-01-07 Tomasz Sterna <tomek@xiaoka.com>
	* Initialization of first element of attrs_vcard. Thanks to Andreas Hofmeister.

2008-12-05 Tomasz Sterna <tomek@xiaoka.com>
	* Merged FreeBSD BekeleyDB detection fix. Closes #261

2008-12-01 Mark Doliner <mark@meebo.com>
	* When unblocking the last user in the list of users, update the
	  zlist->last pointer to avoid crashing later on.

2008-11-03 Tomasz Sterna <tomek@xiaoka.com>
	* Linking libutil.la to authreg_pipe.so statically. Fixes #257

2008-11-02 Mark Doliner <mark@meebo.com>
	* Removed all NAD caching. This should reduce memory usage and
	  memory growth.

2008-10-29 Tomasz Sterna <tomek@xiaoka.com>
	* Clarified usage of <id/> attributes in configuration file

2008-10-17 Tomasz Sterna <tomek@xiaoka.com>
	* Merged Oracle DB fixes submitted by Oleksiy Kramarenko

2008-10-16 Adam Strzelecki <ono@java.pl>
	* MIO_ERROR is not l-value on Windows [706],
	  one should use MIO_SETERROR(e) instead of MIO_ERROR = e (#224)

2008-10-15 Mark Doliner <mark@meebo.com>
	* Add a key to the status table in MySQL.
	  This should make queries to that table a bit faster.

2008-10-14 Tomasz Sterna <tomek@xiaoka.com>
	* Proper check whether the connection is TLS encrypted
	* Sending S2S client certificate during S2S encrypted session establishment

2008-10-14 Mark Doliner <mark@meebo.com>
	* Added a key to the status table in db-setup.mysql.

2008-10-06 Tomasz Sterna <tomek@xiaoka.com>
	* Setting MIO_ERROR to EFAULT:'Bad address' on IP address resolution
	  failure. Fixes #224
	* Merged Debian Bug #493765 patch for LDAP_DEPRECATED functions. Thanks to
	  Dann Frazier. Fixes #240
	* Merged patch to fix freed DNS queue data on unreachable domain. Thanks to
	  Simon Arlott. Closes #253
	* Merged patch to reload users file on SIGHUP. Thanks to Simon Arlott. Closes #254

2008-10-02 Tomasz Sterna <tomek@xiaoka.com>
	* Refs #252 - no closing SX on zero buffer read

2008-09-15 Tomasz Sterna <tomek@xiaoka.com>
	* Merged IDNA domains resolution support patch by Norman Rasmussen

2008-09-03 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed typo in starttls option name. Fixes #247

2008-09-02 Tomasz Sterna <tomek@xiaoka.com>
	* Handle trusts based on bare and full JID roster items

2008-09-01 Tomasz Sterna <tomek@xiaoka.com>
	* Using Cyrus sasl_encode64/decode64() in CyrusSASL backend instead of APR ones

2008-08-22 Adam Strzelecki <ono@java.pl>
	* [WIN32] libidn & gsasl downloads are now at GNU servers.

2008-08-21 Mark Doliner <mark@meebo.com>
	* Fix a memory leak when using stanza rate limiting

2008-08-20 Tomasz Sterna <tomek@xiaoka.com>
	* Detecting unrecoverable stream errors on establishing an outgoing s2s
	  connection. Refs #244

2008-08-19 Tomasz Sterna <tomek@xiaoka.com>
	* Do not offer compression if STARTTLS is required and not enabled
	* Return better error on STARTTLS required failure.

2008-08-18 Adam Strzelecki <ono@java.pl>
	* [WIN32] server.pem has to be permanent in order to not disappear on upgrade.
	* [WIN32] Put stats on the main folder of win32 distro too.
	* [WIN32] Cleanup win32 README a bit.
	* [WIN32] Don't override server.pem on upgrade.

2008-08-17 Adam Strzelecki <ono@java.pl>
	* [WIN32] Bump minor revision to 2.2.
	* [WIN32] Unfortunately we need to wait on services during setup or
	  uninstallation and upgrades will fail.
	* [WIN32] Fix latest WiX 3 Beta compatibility.
	* [WIN32] Add TLS server certificate for default win32 c2s config.
	* [WIN32] Create initial SQLite database on build.
	* [WIN32] Add stream compression support and zlib1 dependencies.
	* [WIN32] Remove ENABLE_SUPERSEDED from projects, this is now part of config.h for win32.

2008-08-17 Adam Strzelecki <ono@java.pl>
	* [WIN32] Update win32 config.h to latest configure.ac with selected features:
	  * ENABLE_SUPERSEDED
	  * HAVE_ZLIB
	  * HAVE_SQLITE
	  ..etc.
	* [WIN32] Don't fail when service fails to start (Should popup ignore box)
	* [WIN32] Add udns library to setup.
	* [WIN32] Adding udns dependency in the README.win32

2008-08-15 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented logging of compressed conection established. Closes #243

2008-08-15 Adam Strzelecki <ono@java.pl>
	* [WIN32] Change default SM storage driver to SQLite on Windows.
	* [WIN32] Use DES_crypt as a replacement for Posix crypt on Windows.
	* [WIN32] Add UDNS dependencies for linkage.

2008-08-14 Adam Strzelecki <ono@java.pl>
	* [WIN32] File must be opened as binary (only Windows affected), so fseek & ftell tells
	  proper size for the buffer. With single "r" buffer will be too small.
	* [WIN32] generate configuration XML files out of dist files on build (using Perl)
	* [WIN32] copy default server.pem (localhost)
	* [WIN32] add Perl dependency to README.win32

2008-08-13 Adam Strzelecki <ono@java.pl>
	* [WIN32] Using SubWCRev from TortoiseSVN for version files generation, updating notes.
	* [WIN32] Enable USE_LIBSUBST for Windows builds.

2008-08-10 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented My IP Address extension
	  http://delta.affinix.com/specs/xmppstream.html#myip

2008-08-09 Tomasz Sterna <tomek@xiaoka.com>
	* Sending stream errors on SX wrapper errors
	* Checking return value of gsasl_base64_to/from(). Fixes #242
	* Merged GSSAPI support patch by Jelmer Vernooij
	* Required GnuSASL version 0.2.27
	* Removed gsasl DIGEST-MD5 patch

2008-08-08 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed XEP-0138 compression feature offer

2008-08-05 Tomasz Sterna <tomek@xiaoka.com>
	* Included crypt() function prototype from unistd.h

2008-07-28 Tomasz Sterna <tomek@xiaoka.com>
	* Clear SSL error stack on each new SSL ctx
	* Added SSL error messages to debug output

2008-07-27 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented MIO read throttling in c2s. Now we pause reading socket
	  instead of disconnection on throttle.

2008-07-24 Tomasz Sterna <tomek@xiaoka.com>
	* Referring the default sqlite.db in db-setup.sqlite example. Fixes #238

2008-07-23 Mark Doliner <mark@meebo.com>
	* Removed scod module.
	* Added a maximum stanza limit to c2s.  This can be used to set an
	  upper limit on the number of individual requests that can be made
	  in a given window of time.
	* Fix a bug in s2s where xmlns="jabber:client" would get appended to an
	  incoming stanza even though the stanza already had an xmlns attribute
	  set.

2008-07-19 Tomasz Sterna <tomek@xiaoka.com>
	* Added missing %s argument in printf call. Refs #237

2008-07-15 Tomasz Sterna <tomek@xiaoka.com>
	* Removed jid prep cache and mysql filters cache.
	  These are known to grow without restrictions causing memory "leak".
	  Patches by Mark Doliner. Refs #219
	* Fix in jabber:iq:register example in router-filter.xml

2008-07-14 Tomasz Sterna <tomek@xiaoka.com>
	* Fix in lookup.resolve-ipv6 in s2s.xml handling

2008-07-11 Mark Doliner <mark@meebo.com>
	* Fix c2s's byte rate limiting.
	* Make c2s's connection rate limiting and router's byte rate limiting
	  work better.

2008-07-09 Mark Doliner <mark@meebo.com>
	* Add a note to sm.xml that our Berkeley DB storage module doesn't
	  support the roster maxitems or offline quota limits.

2008-07-09 Tomasz Sterna <tomek@xiaoka.com>
	* Merged pointer size overflow patch. Fixes #231

2008-07-08 Mark Doliner <mark@meebo.com>
	* Comments and spelling errors fixes

2008-07-04 Mark Doliner <mark@meebo.com>
	* Fix a potential memory leak when attempting to read from a socket that
	  has been closed.
	* Improve the documentation for <max_fds> in the configuration files.

2008-07-01 Tomasz Sterna <tomek@xiaoka.com>
	* Merged MySQL crypt()ed password full implementation. Closes #228

2008-06-25 Tomasz Sterna <tomek@xiaoka.com>
	* Note about filter rules order

2008-06-15 Tomasz Sterna <tomek@xiaoka.com>
	* Added SSL verify-mode note

2008-06-12 Mark Doliner <mark@meebo.com>
	* Fixed debug message
	* Re-use DB query the filter instead of recreating it.

2008-06-05 Tomasz Sterna <tomek@xiaoka.com>
	* Changed order of subdirs building

2008-06-04 Tomasz Sterna <tomek@xiaoka.com>
	* Added --without-subst option to disable subst/ library building.

2008-06-03 Adam Strzelecki <ono@java.pl>
	* Fix function names and add some forward declarations for apt_base64_*

2008-05-27 Tomasz Sterna <tomek@xiaoka.com>
	* Do not bounce s2s error packets

2008-05-26 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed filtered packets error reporting
	* Changed router-filter example, because resource is not matched
	* Fixed errors generation on filter drops

2008-05-25 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed base64 lib replacement. Closes #221

2008-05-23 Tomasz Sterna <tomek@xiaoka.com>
	* Removed obsolete contrib/debian dir
	* Small fixes in pool handling
	* Fixes in config files options

2008-05-20 Tomasz Sterna <tomek@xiaoka.com>
	* Ported apr_base64.c from Apache httpd 2.2.8

2008-05-18 Tomasz Sterna <tomek@xiaoka.com>
	* Using GSASL Base64 implementation with sasl_gsasl
	* Merged asynchronous domain resolving in s2s component support by Simon Arlott.
	* Merged Eric Schnoebelen assert fixes. Closes #215

2008-05-11 Tomasz Sterna <tomek@xiaoka.com>
	* Removed NULL user storage_get

2008-05-10 Tomasz Sterna <tomek@xiaoka.com>
	* Added PostgreSQL DB update sctipt

2008-05-09 Tomasz Sterna <tomek@xiaoka.com>
	* Fix for non-existant s2s local.id

2008-05-07 Tomasz Sterna <tomek@xiaoka.com>
	* Proper certificate per vHost handling by Simon Arlott. Fixes #1

2008-05-04 Tomasz Sterna <tomek@xiaoka.com>
	* Required gsasl 0.2.26 version for proper DIGEST-MD5 implementation. Added
	  gsasl patch in contrib. Refs #200

2008-04-29 Tomasz Sterna <tomek@xiaoka.com>
	* Fix for GSASL ANONYMOUS login
	* Implemented jabber:iq:private change pushes to interested resources
	* Fixed local resource check

2008-04-27 Tomasz Sterna <tomek@xiaoka.com>
	* Added missing jabberd.in to distribution

2008-04-20 Tomasz Sterna <tomek@xiaoka.com>
	* Added missing files to distribution

2008-04-12 Tomasz Sterna <tomek@xiaoka.com>
	* Check for non configured c2s local.id

2008-04-08 Tomasz Sterna <tomek@xiaoka.com>
	* Added tool to migrate from jabberd14 to jabberd2 SQLite. BBN.com contribution.
	* Fix for authreg_pipe. Fixes #204
	* Updated bdb2mysql.rb to jabberd 2.1 DB schema

2008-03-17 Tomasz Sterna <tomek@xiaoka.com>
	* Do not handle disco to nodes

2008-03-14 Mark Doliner <mark@meebo.com>
	* Fix a minor typo.

2008-03-06 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed vCard get

2008-03-05 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed empty node check

2008-03-01 Tomasz Sterna <tomek@xiaoka.com>
	* Restored reading [jabberd] group from my.cnf
	* Unified way utf-8 is selected in MySQL backend
	* Merged crypted passwords support for MySQL. Closes #184 and 197

2008-02-27 Tomasz Sterna <tomek@xiaoka.com>
	* Removed debug that might cause segfault. Fixes #196.

2008-02-24 Tomasz Sterna <tomek@xiaoka.com>
	* Do not handle vCard request destined to full JIDs. Fixes #190

2008-02-19 Tomasz Sterna <tomek@xiaoka.com>
	* Added charset utf-8 to db-setup.mysql

2008-02-13 Tomasz Sterna <tomek@xiaoka.com>
	* Fixes segfault that happened when there are multiple sessions and privacy list was changed. Fixes #188

2008-02-11 Mark Doliner <mark@meebo.com>
	* Really fix gsasl ANONYMOUS login

2008-02-07 Tomasz Sterna <tomek@xiaoka.com>
	* Webstatus presence resource enabled only when service enabled
	* Added server component presence resources
	* Added maxstanzasize debug message

2008-02-05 Tomasz Sterna <tomek@xiaoka.com>
	* Include "util/inaddr.h" for socklen_t ss_family etc. Refs #191
	* Include <stdarg.h> if available. Refs #191
	* TYPE_SOCKLEN_T check. Refs #91
	* TYPE_SOCKLEN_T check. Refs #91
	* Include inttypes.h instead of stdlib.h as it is more universally available. Refs #191
	* Check for stdarg.h in configure.
	* Remove AC_PROG_GCC_TRADITIONAL (obsolete).
	* Remove AC_FUNC_MALLOC, AC_FUNC_REALLOC - if they find malloc(0) does not
	  return a valid pointer malloc will be defined to rpl_malloc, and no
	  rpl_malloc is available. See http://www.gnu.org/software/autoconf/manual/autoconf.html#Particular-Functions
	* Seems easier to use AC_SEARCH_LIBS for inet_ntop etc.
	* Move the broken __ss_family check so that it appears after the check for struct sockaddr_storage.
	* Check for socklen_t
	* Fix --enable-pgsql 

2008-02-05 Adam Strzelecki <ono@java.pl>
	* Fixed compatibility with VC++ and ANSI, variables must be declared at the beginning of the block.
	* Check for Win32 OpenSSL and Visual C++ 2005 SP1 Redistributable Package (x86), and raise error if not found in the installer.

2008-02-03 Tomasz Sterna <tomek@xiaoka.com>
	* Updated Makefile.am with new README.protocol file
	* Unified URI/URN definitions
	* Fixed endless loop for failed session closure
	* Fixed packet to non-existing users handling to be conformant to RFC 3921bis 8.1. No Such User

2008-02-02 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed loop on select. Closes #125
	* Help information cosmetics

2008-01-31 Tomasz Sterna <tomek@xiaoka.com>
	* Added pam authpipe script
	* Added example pam.d/jabber file from Gentoo

2008-01-30 Tomasz Sterna <tomek@xiaoka.com>
	* Changed example localdomain names to FQDN localhost.localdomain

2008-01-30 Adam Strzelecki <ono@java.pl>
	* Update of Visual Studio dependent libraries

2008-01-29 Adam Strzelecki <ono@java.pl>
	* Change (errno == EWOULDBLOCK || errno == EINTR || errno == EAGAIN) to MIO_WOULDBLOCK that is defined as (WSAGetLastError() == WSAEWOULDBLOCK) on Windows.
	* Add ENABLE_SUPERSEDED flag to build superseded XEP features
	* Add mod_roster-publish modules
	* Remove CyrusSASL dependencies
	* Add GSSASL to the builds
	* Added new files
	* Removed missing files
	* Remove BerkleyDB DLLs from setup as it is not supported in Windows builds
	* Add MySQL DLLs to setup
	* Change CyrusSASL DLLs with GSASL DLLs
	* Add mod_roster-publish.dll
	* Removed db-setup-status.mysql
	* Added db-update.sqlite
	* Define S_IRUSR, S_IWUSR, S_IRGRP to 0 on Windows, as we don't have unix permissions there and those variables are undefined.
	* Database update for SQLite.
	* It was _snprintf there (MSVC way), while snprintf is not available at MSVC, check for it and use subst version.
	* JABBERD2_API for _stanza_errors[], so it is exported in Windows to DLL.
	* moved _mio_wnd_proc to mio_wsasync.c (better for debugging)
	* fixed defer_free in right structure
	* check socked range in _mio_wnd_proc in case we get some invalid WM_APP + sthing message
	* added patch from Dan Hulme zeroing structures added to free pool (thanks Dan!)

2008-01-24 Tomasz Sterna <tomek@xiaoka.com>
	* Send vacation reply only to humans (full JIDs). Fixes #186
	* Updated supported protocol listing
	* Updated license template
	* Using OpenSSL implementation of SHA1 hash if OpenSSL library enabled
	* Added check whether -O optimization is to high. Fixes #100

2008-01-23 Tomasz Sterna <tomek@xiaoka.com>
	* Changed contact address to list address
	* Added BerkeleyDB dump script
	* Added BerkeleyDB-2-MySQL migration script
	* Implemented XEP-0232: Software Information
	* Fixed possible crash when debug is on
	* Fix for session restoration packet without queued result

2008-01-21 Tomasz Sterna <tomek@xiaoka.com>
	* Revamped MySQL and PostgreSQL detection
	* Introduced MySQL 5.0+ dependency
	* Moved --enable-sasl configure option to --with-sasl

2008-01-14 Tomasz Sterna <tomek@xiaoka.com>
	* Reverted r471 change: Performance optimization for users with large rosters.

2008-01-08 Tomasz Sterna <tomek@xiaoka.com>
	* Merged verify-mode fix by Adrian Reber

2008-01-04 Tomasz Sterna <tomek@xiaoka.com>
	* Using TLSv1 protocol on TLS client connections

2007-12-29 Tomasz Sterna <tomek@xiaoka.com>
	* Put node in disco#info reply if present in query. Refs #11

2007-12-28 Tomasz Sterna <tomek@xiaoka.com>
	* Merged LDAP user query customization patch by Jean de Largentaye. Closes #180

2007-12-22 Tomasz Sterna <tomek@xiaoka.com>
	* Changed malloc/memset calls to calloc calls
	* Changed the way UTF-8 is selected on MySQL connection. Fixes #177

2007-12-20 Tomasz Sterna <tomek@xiaoka.com>
	* Using more standard attributes for LDAP
	* Reordered storage sections
	* Fixed loading roster-publish module

2007-12-17 Tomasz Sterna <tomek@xiaoka.com>
	* Merged authreg_ldapfull, storage_ldapvcard and mod_roster_publish by Nikita Smirnov

2007-12-14 Tomasz Sterna <tomek@xiaoka.com>
	* Merged XEP-0054 and server vcard patch by Michael John Wensley
	* Implemented maximum stanza size configuration option. Closes #179

2007-12-13 Tomasz Sterna <tomek@xiaoka.com>
	* Closing SM session when there is no associated C2S session

2007-11-25 Mark Doliner <mark@meebo.com>
	* Use calloc instead of malloc and then memset.

2007-11-12 Tomasz Sterna <tomek@xiaoka.com>
	* Null nad after disconnect fix #138

2007-11-08 Mark Doliner <mark@meebo.com>
	* Performance optimization for users with large rosters.

2007-11-06 Tomasz Sterna <tomek@xiaoka.com>
	* Disabled CyrusSASL backend compilation.
	  You need to reenable it to use the backend.

2007-11-02 Mark Doliner <mark@meebo.com>
	* Remove unused storage.xml.dist config file and storage.8 man page
	* Extremely minor optimization when removing an item from a roster
	* Handle routing errors better in c2s.  The client is now disconnected.

2007-10-31 Tomasz Sterna <tomek@xiaoka.com>
	* Mangle announce packet, to look more like announcement

2007-10-28 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed probes for untrusted users handling

2007-10-25 Tomasz Sterna <tomek@xiaoka.com>
	* presence-offline fixes
	* offline-status support

2007-10-25 Mark Doliner <mark@meebo.com>
	* Don't advertise that we support the digest-md5 sasl mechanism if our authreg doesn't support "get password"
	* Don't advertise that we support the plain sasl mechanism if our authreg doesn't support either get password or check password.
	* Reverted #171 r450 change to SASL ANONYMOUS

2007-10-24 Tomasz Sterna <tomek@xiaoka.com>
	* mod_status is storing the full xml of last presence stanza

2007-10-23 Mark Doliner <mark@meebo.com>
	* SASL ANONYMOUS rejects any initial response data sent by the client. Fixes ticket #171.

2007-10-20 Mark Doliner <mark@meebo.com>
	* Fix crash in s2s caused by closing a free'd mio when attempting
	  to reconnect to the router after losing our connection.

2007-10-18 Mark Doliner <mark@meebo.com>
	* Fix gsasl ANONYMOUS login

2007-10-16 Mark Doliner <mark@meebo.com>
	* Minor comments and whitespace changes
	* Fix a few compile warnings:

2007-10-15 Mark Doliner <mark@meebo.com>
	* Limited size of nad cache
	* Fixed #167 function return values for compress rio/wio.
	* Update comment in c2s.xml

2007-10-14 Harald Braumann <harry@unheit.net>
	* Fixes #155 - PAM + SASL problems

2007-10-14 Mark Doliner <mark@meebo.com>
	* Fixes #165 - Buffers are too small in sasl_cyrus.c
	* Fix compiling with cyrus sasl without ssl. Fixes #164
	* Fix a few missing calls to fclose and va_end. Fixes #163
	* Don't clear out the full buffer when constructing a log message. Fixes #162
	* Don't initialize variables in header files. Fixes #161
	* Fix compile error in subst/timegm.c. Fixes #160
	* Fix configure check for OpenSSL version. Fixes #159

2007-10-14 Tomasz Sterna <tomek@xiaoka.com>
	* Using dev suffix for development version
	* Better c2s.xml configured hosts handling

2007-10-08 Tomasz Sterna <tomek@xiaoka.com>
	* Changed timezone typecasting. Fixes #158

2007-10-02 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented /webstatus service
	* Added make dist infrastructure
	* Fixed S10N handling

2007-10-01 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed in-band registration

2007-09-25 Christof Meerwald <cmeerw@cmeerw.org>
	* make max_fds configurable for s2s
	* fixing IP based access rules for IPv6

2007-09-25 Tomasz Sterna <tomek@xiaoka.com>
	* Using tm_gmtoff when timezone not available

2007-09-24 Tomasz Sterna <tomek@xiaoka.com>
	* Added note about zlib
	* Fixed HAVE_LIBZ conditional macro

2007-09-21 Tomasz Sterna <tomek@xiaoka.com>
	* Offering ack only on authenticated stream
	* Implemented XEP-0198: Stanza Acknowledgements
	* Made stream compression configurable
	* Made use of util/jid.h
	* Added --enable-experimental ./configure switch
	* Implemented XEP-0193: Proposed Resource Binding Improvements (rfc3920bis 8.5.)

2007-09-20 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed offline message handling

2007-09-12 Tomasz Sterna <tomek@xiaoka.com>
	* Finished implementing XEP-0191: Simple Communications Blocking

2007-09-11 Tomasz Sterna <tomek@xiaoka.com>
	* SX compilation refactoring

2007-09-10 Tomasz Sterna <tomek@xiaoka.com>
	* Revised code for XEP-0192: Proposed Stream Feature Improvements and parallel RFC3920bis changes compliance
	* Cosmetics. Closes #146
	* Implemented XEP-0191: Simple Communications Blocking

2007-09-07 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented XEP-0157 Contact Addresses for XMPP Services with mod_help. Fixes #142
	* Implemented disco-extend chain to support XEP-0128 Service Discovery Extensions

2007-09-05 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented XEP-0202: Entity Time. Closes #144
	* Implemented XEP-0203: Delayed Delivery. Closes #143
	* Added --enable-superseded ./configure switch
	* Integrated util/uri.h in the code. Fixes #110
	* Delivering headline messages to all available resources and normal messages to all top priority resources according to RFC3921bis 8.3.1.1.
	* Moving S10N request handling to mod_roster
	* Do not store headline and groupchat messages in offline storage. Closes #145
	* Distinguish pkt between different message types
	* note about /etc/ld.so.conf in ./configure --help

2007-08-31 Tomasz Sterna <tomek@xiaoka.com>
	* c2s and s2s packet throughput counter implemented
	* Implemented XEP-0138 Stream Compression support
	* Create host on-fly only if SM is online. Refs #140
	* There is no need to zero before overwrite. Refs #140
	* Fix for dynamic vHost realm unambiguity. Refs #140
	* Implemented default virtual host support to handle present SM domains that are not configured on C2S. Fixes #140
	* Removed c2s_reloadhosts support. It refs #140

2007-08-26 Tomasz Sterna <tomek@xiaoka.com>
	* Removed session_match_exact()
	* Check for SASL <response/> before <auth/> - fixes #139

2007-08-22 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed sha1 generation on 64 bit platforms
	* Using OpenSSL MD5() implementation when available
	* Using OpenSSL SHA1() implementation when available

2007-08-19 Tomasz Sterna <tomek@xiaoka.com>
	* Removed ZeroK support in Oracle AuthReg

2007-08-14 Tomasz Sterna <tomek@xiaoka.com>
	* Added missing checks for compilation without SSL which fixes #130
	* Pulling in -ldl manually not indirectly via -lssl. This refs #130
	* Oracle backend configuration

2007-08-13 Tomasz Sterna <tomek@xiaoka.com>
	* Integrated authreg_oracle by fundy. Closes #129

2007-08-10 Tomasz Sterna <tomek@xiaoka.com>
	* Operands incompatibility fix for Sun compiler. Fixes #111

2007-08-09 Tomasz Sterna <tomek@xiaoka.com>
	* contrib/cyrus-sasl-digest-md5-fix added
	* Applied MIO memleak fix related to time_checks by Christof Meerwald. Refs #124, fixes #78

2007-08-07 Tomasz Sterna <tomek@xiaoka.com>
	* compilation fix

2007-08-06 Adam Strzelecki <ono@java.pl>
	* * Fix configuration XML files domain update
	* * Don't allow reinstalling on newer version

2007-08-02 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed off-by-one error in base64

2007-08-01 Adam Strzelecki <ono@java.pl>
	* Force uninstall previous version on upgrade.

2007-07-30 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed many memleaks
	* Check if OpenSSL is already initialized in PostgreSQL backend, by Michael Krelin. Closes #122
	* Implemented PQconnectdb PostgreSQL connection method. Closes #121
	* Applied pg_config using by configure patch by Michael Krelin. Closes #120
	* Implemented auth/reg stream features advertisement. Fixes #118
	* Removed useless while/alloc loops

2007-07-30 Adam Strzelecki <ono@java.pl>
	* WiX notes for Windows README
	* WiX new "JabberWelcomeDlg"
	* WiX fixed cases of reinstall & upgrade
	* xhash_t changed to xht
	* nad_cache_new & nad_cache_free exported as JABBERD2_API functions.

2007-07-27 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed many memleaks
	* Changed allocator BLOCKSIZE to 128 bytes

2007-07-26 Tomasz Sterna <tomek@xiaoka.com>
	* Changed SASL level error reporting to malformed-request error according to rfc3920bis. Fixes #116

2007-07-25 Tomasz Sterna <tomek@xiaoka.com>
	* Reverted r300:302 changes. Let the parser be permissive. Refs #112

2007-07-24 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed ./configure tests reliability. Fixes #114

2007-07-20 Tomasz Sterna <tomek@xiaoka.com>
	* Stream error on unquoted predefined entities on stream. Fixes #112
	* Changed DOS line endings to UNIX line endings. Refs #111
	* Fixed XML predefined entities quoting in serialized XML. Refs #112
	* 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
