2012-08-06 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed possibility of Unsolicited Dialback Attacks
	* Use XML_SetHashSalt with expat 2.1.x only

2012-08-02 Eugene Agafonov <e.a.agafonov@gmail.com>
	* Fix s2s crash with witelist enabled

2012-07-11 Tomasz Sterna <tomek@xiaoka.com>
	* Send user creation result only if there is one

2012-06-15 Eugene Agafonov <e.a.agafonov@gmail.com>
	* Utilize XML_SetHashSalt

2012-05-20 Tomasz Sterna <tomek@xiaoka.com>
	* Replaced cppunit with check

2012-05-20 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed s2s->dns_bad key memory allocation
	* Fixed whitelist_domains memory allocation

2012-05-05 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed build with debug disabled

2012-05-04 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented --enable-tests configure option
	* Fixed 'make dist' packaging
	* Fixed domain name in punycode resolution
	* Expand @package@ in etc/*.xml.dist.in
	* storage_ldapvcard compilation fixes

2012-05-01 Eugene Agafonov <e.a.agafonov@gmail.com>
	* Implement debug logging into file
	* Fix invalid default router.xml (Unterminated XML comment tag)

2012-04-29 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed libstorage_la_SOURCES

2012-04-28 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented support for fake (PBX) sessions in SM
	* PBX integration priority setting support

2012-03-08 Tomasz Sterna <tomek@xiaoka.com>
	* Fix a crash that occurs when c2s connecting clients passed the defined connection limit

2012-02-27 Tomasz Sterna <tomek@xiaoka.com>
	* Log S2S retry timeout to main log
	* Do not log messages when not enabled or empty logfile configured

2012-02-19 Tomasz Sterna <tomek@xiaoka.com>
	* Define TRUE and FALSE in util.h
	* Merged ldapvcard improvements from Gentoo
	* Fail on not existing ldapfull user. Fixes Bug 931622

2012-02-12 Tomasz Sterna <tomek@xiaoka.com>
	* Added missing static keywords
	* [Apple ChatServer] Disable weak SSL ciphers
	* [Apple ChatServer] SQLite index on vCard owner
	* [Apple ChatServer] jabberd wrapper improvements
	* [Apple ChatServer] log_user category
	* [Apple ChatServer] Socket closing and component shutdown fixes
	* [Apple ChatServer] Support for DB query rate limitting
	* [Apple ChatServer] Support for multihomed IPv4 + IPv6 machines
	* [Apple ChatServer] Fixes crash possible when two s2s instances are connected
	* [Apple ChatServer] Support enforcing TLS secured S2S connections only
	* [Apple ChatServer] Domain whitelisting support
	* [Apple ChatServer] Delay router shutdown to allow proper component disconnection
	* [Apple ChatServer] Simple message logging to a directory support
	* [Apple ChatServer] MIO kqueue implementation
	* [Apple ChatServer] Use max accept queue specified by kern.ipc.somaxconn sysctl
	* [Apple ChatServer] Fixed deferred closing of FD
	* [Apple ChatServer] Support for see-other-host stream redirects.
	* [Apple ChatServer] Store connection port in SX structure.

2011-12-06 Tomasz Sterna <tomek@xiaoka.com>
	* Updated Flash patch
	* Send any remaining SASL data with <success/> authentication response

2011-10-30 Tomasz Sterna <tomek@xiaoka.com>
	* PBX sessions do not have active stream - do not try sending them errors
	* Small improvement in PBX pipe commandline parsing

2011-10-26 Tomasz Sterna <tomek@xiaoka.com>
	* Merge pull request #1 from eagafonov/pub_patches

2011-10-12 Eugene Agafonov <e.a.agafonov@gmail.com>
	* Fix possible crash in logger
	* Add initial tests/config
	* Implement '-i ID' command line option

2011-10-11 Eugene Agafonov <e.a.agafonov@gmail.com>
	* authreg_pgsql: implement 'check password' functionality
	* libstorage: move storage-related SM stuff into separate library.
	* [SM] Implement 'user-unload' chain

2011-10-24 Eugene Agafonov <e.a.agafonov@gmail.com>
	* Enable/disable debug output with signals USR1/USR2

2011-10-08 Tomasz Sterna <tomek@xiaoka.com>
	* Added README.config about node value substitution
	* Move SX_CONN_EXTERNAL_ID_MAX_COUNT out of SX SSL context

2011-09-18 Tomasz Sterna <tomek@xiaoka.com>
	* Cleared PBX pipe documentation
	* Fixed/finished PBX pipe implementation
	* RFC6121 4.3.2. says that responses to directed probe SHOULD communicate only the fact that the resource is available

2011-09-17 Tomasz Sterna <tomek@xiaoka.com>
	* Refactored marking DNS as bad to function and used when bouncing backets due to timeout
	* Bounce queued packets with <remote-server-timeout/> error if remote server breaks connection during dialback
	* Log used PEM file for domain
	* Merged storage-oracle typo fix by Jan Pazdziora. Closes Bug 824395
	* Merged A1HASH passwords support for MySQL by Steven Ayre. Closes Bug 821737
	* Merged get photo from storage_ldapvcard patch by Volkov Aleksey. Closes Bug 819356
	* Merged force-create published users patch by Volkov Aleksey. Closes Bug 817727
	* Fix for getting client cert CommonName, by nmset. Closes Bug 814823
	* Merged Win32 compilation fixes by Sob
	* Merged group extraction by RegExp from LDAP support by Master5597. Closes Bug 808984

2011-06-09 Tomasz Sterna <tomek@xiaoka.com>
	* Merged config variables expansion by Eugene Agafonov
	* Deliver presence broadcast to all resources, not only to non-negative ones. Fixes Bug 795108

2011-06-01 Tomasz Sterna <tomek@xiaoka.com>
	* Prevent the "billion laughs" attack against expat by disabling internal
	  entity expansion.

2011-05-06 Tomasz Sterna <tomek@xiaoka.com>
	* Shortcut DNS resolution failure in cases when given domain name is invalid

2011-05-05 Tomasz Sterna <tomek@xiaoka.com>
	* Explicitly link libcrypt to authreg_mysql

2011-04-30 Tomasz Sterna <tomek@xiaoka.com>
	* Removed xconfig - it's not used anywhere

2011-03-25 Tomasz Sterna <tomek@xiaoka.com>
	* Added Upstart service configuration files

2011-02-23 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented XEP-0138: Stream Compression for S2S connections.
	  Closes Bug 335844
	* Merged LDAP authentication by bind support by Dan Fandrich.
	  Closes Bug 388246
	* Merged SSL related memory leak fix by cmeerw. Fixes Bug 716042
	* Merged router_crash.patch by Eugene Agafonov. Fixes Bug 721943

2011-02-05 Tomasz Sterna <tomek@xiaoka.com>
	* Merged jabberd2-dns leak fix by cmeerw. Fixes Bug 713548.
	* Merged jabberd2-s2s-leak fix by cmeerw. Fixes Bug 713548.
	* Merged jabberd2-xhash by cmeerw. Fixes Bug 713546.
	  Defer deleting nodes while iterating.
	* Merged fix_sm_crash.patch by Eugene Agafonov. Fixes Bug 712998.

2010-11-22 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed router crash on component protocol error
	* Fixed logging related crash. Closes Bug #671421 and Bug #637294
	* Fixed 'XEP-0191 Blocking' unblocking users
	* Use displayName to populate published-roster name and fallback to cn.
	  Fixes Bug #611774
	* Replace malloc+strncpy by strndup.
	* Merged cmeerw fix for dns resolver. Closes Bug #616472
	* Do not deliver messages to first connecting resource if it has negative
	  priority. Fixes Bug 626850
	* Merged jabberd wrapper patch from rmax. Fixes Bug 627477
	* Fixed horrible outgoing S2S bug

2010-08-21 Tomasz Sterna <tomek@xiaoka.com>
	* Removed some disambiguation from <id/> attributes values

2010-08-10 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed incorrect order of arguments in debug call

2010-08-08 Tomasz Sterna <tomek@xiaoka.com>
	* Use length with route keys
	* closefd during main loop

2010-08-07 Tomasz Sterna <tomek@xiaoka.com>
	* [cwave] ported router connection closing improvement from cwave
	* [cwave:r77] fix potential segfault in a call to xhash_putx()
	* [cwave:r72] enforce iq type
	* Fixed packet jabber:server -> jabber:client namespace mangling

2010-08-06 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed attribute namespace handling in NAD parser

2010-07-10 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed missing reference in log_error

2010-06-11 Tomasz Sterna <tomek@xiaoka.com>
	* Special case to ignore the X509_V_ERR_UNABLE_TO_GET_CRL error
	  when CRL is not present in chain. Merged patch by Michal Witkowski.
	  Closes Bug 405233.
	* storage_ldapvcard rebind like auth_ldap for successful connection
	  to MS Active Directory as LDAP storage. Merged patch by x0r.
	  Closes Bug 532367

2010-03-15 Tomasz Sterna <tomek@xiaoka.com>
	* Merged SASL External login for clients patch by Michal Witkowski.
	  Closes Bug 405233
	* Merged router-filter redirect option by Ugnich Anton.
	  Closes Bug 390236

2010-01-21 Tomasz Sterna <tomek@xiaoka.com>
	* Dropped support for PEP

2010-01-05 Tomasz Sterna <tomek@xiaoka.com>
	* Fix for crash on empty pkt->to

2009-12-15 Tomasz Sterna <tomek@xiaoka.com>
	* [cwave:r70] fix memory leak - unfreed pkt
	* [cwave:r62] fix memory leak when c2s reconnects
	* [cwave:r60] fix memory leak when s2s reconnects
	* [cwave:r60] fix memory leak when sm reconnects
	* [cwave:r56] Fix memory leak of unfreed conn->dkey and outq
	* [cwave:r51] Fix memory leak by registering a mod->free handler in mod_roster,
	  rename _roster_free() to _roster_freeuser() to make room for a new _roster_free()
	* [cwave:r50] Fix white space in amp_rule_free()
	* [cwave:r49] Fix memory leak by freeing chain disco_extend
	* [cwave:r48] Fix compiler warnings - type casts
	* [cwave:r47] Fix compiler warnings - type casts
	* [cwave:r39:r45:46] fix an infinite loop where the help admin messages sm
	  (produces a help response to itself)
	* [cwave:r39] clean up compiler warnings - some of which were probably bugs
	* [cwave:r30] fix a bug where outbound packets cause an infinite loop during shutdown
	* clean up acinclude.m4

2009-09-12 Tomasz Sterna <tomek@xiaoka.com>
	* Option to change DB table for mod_roster_publish
	* RDBMS support for mod_roster_publish
	* Hook-in with mod_pep required data

2009-08-19 Tomasz Sterna <tomek@xiaoka.com>
	* Disabled kqueue MIO by a compilation error
	* Do not distribute migrate.pl

2009-07-24 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed non C-standard declared variables
	* Free _user and _full JID portions allocated by jid_expand()
	* Guard against NULL pointers in free

2009-07-12 Tomasz Sterna <tomek@xiaoka.com>
	* Removed mod_disco_publish. Added mod_pep skeleton
	* Fixed PBX session start

2009-07-11 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented XEP-0237: Roster Versioning

2009-07-01 Tomasz Sterna <tomek@xiaoka.com>
	* Enable experimental features by default

2009-06-22 Tomasz Sterna <tomek@xiaoka.com>
	* Added external to authentication mechanisms examples

2009-06-19 Eric Liang <eric.l.2046@gmail.com>
	* change the definition of xhash_walker, in case that somebody zaps items of the
	  hash table while walking.

2009-06-19 Tomasz Sterna <tomek@xiaoka.com>
	* Merged a patch for size_t related GSASL crash on 64bit platform. Fixes Bug #367783

2009-06-17 Tomasz Sterna <tomek@xiaoka.com>
	* VERY crude test infrastructure added
	* Fixed S2S incoming packet beeing damaged while mangling.
	  When there are already 'jabber:client' elements move them to next namespace
	  before cutting uri_CLIENT chain.

2009-06-17 Eric Liang <eric.l.2046@gmail.com>
	* should put method:xhash_free to pool_cleanup instead of method:pool_free.
	* should use method:pmalloco to allocate memory for xhash->stat.

2009-06-16 Tomasz Sterna <tomek@xiaoka.com>
	* Removed check of multiple names from legacy components connections

2009-06-15 Tomasz Sterna <tomek@xiaoka.com>
	* Inform about select() FD_SETSIZE overrun
	* Gracefully abort when MIO was not allocated
	* Do not throw stream errors on SSL wrapper sockets when pre-stream
	* Gracefully abort when MIO was not created
	* SSL errors are undefined-condition not internal errors
	* Do not send invalid XML down the outgoing stream
	* Correctly iterate streams while shutdown
	* Proper checks for serviced domains in SM

2009-06-14 Tomasz Sterna <tomek@xiaoka.com>
	* Do not crash on shutdown with pending streams
	* Get outgoing packets to/from addresses from the packet data
	* Do not disable superseeded <session> request yet
	* Return feature-not-implemented when user client requested not implemented feature
	* Proper Makefile dependencies for etc/ files

2009-06-13 Tomasz Sterna <tomek@xiaoka.com>
	* Remove presence routing optimisations.
	  We now do not have authoritative domain information.
	  There may be other SM servicing the domain.
	* Implemented component clustering.
	  You may now connect many SM instances and external components
	  servicing the same domain. The routing is based on user JID,
	  which (after hashing) selects the component to deliver packet to.
	* Split shahash to shahas_raw() and shahash_r()
	* Attach <error/> element in root namespace
	* Use SM id as a response packet source
	* Process disco results to sm id also
	* Better error packet generation
	* Use router.lost setting after router disconnection.
	* Minor ns check fix
	* Added preliminary support for multiple component routes for one domain name.
	* Fixed some signedness compilation warnings
	* Defaulting to SQLite storage
	* Implemented virtual hosts support in SM.
	  (merged r791-792,r797 from vhosts branch)
	  Session Manager is now able to handle more than one domain.
	  This means that you do not need to launch more than one
	  sm process instance for many domains with same configuration.

2009-06-11 Tomasz Sterna <tomek@xiaoka.com>
	* Drop IQ result packet before delivering them to the router.
	  User client is generating IQ result packet for every server generated
	  IQ set. If we do not process them in SM module, we should not deliver them
	  back to the client.
	* Fixed mutual subscription flow

2009-06-10 Tomasz Sterna <tomek@xiaoka.com>
	* Fixed xhash freeing related crash

2009-06-09 Tomasz Sterna <tomek@xiaoka.com>
	* Implemented correct disco#info for 'sessions' node
	* Merged xhash optimisations by Eric Liang. Refs Bug #385035
	* Merged crypt() password support for LDAP backend by Dan Fandrich. Closes Bug #384940

2009-06-08 Tomasz Sterna <tomek@xiaoka.com>
	* Do not null first bytes of just freed memory
	* Do not close already closed sockets
	* Give hint on user.auto-create when user not found in storage

2009-06-05 Tomasz Sterna <tomek@xiaoka.com>
	* Removed unneded C++ compiler check from configure. Fixes Bug #383571

2009-06-04 Tomasz Sterna <tomek@xiaoka.com>
	* Merged patch for problem with os_copy() compilation in ldap_vcard backend. Fixes Bug #383526
	* Merged patch for problem with crypt() support compilation in MySQL backend. Fixes Bug #383516
	* Merged patch fixing Cyrus SASL decode calls. Fies Bug #383512
	* Merged patch to not link PAM to every lib. Fies Bug #383506
	* Implemented PBX integration interface. You may now start/stop "fake" sessions in SM with a pipe interface commands.

2009-05-09 Tomasz Sterna <tomek@xiaoka.com>
	* Merged patch with kqueue support by jh. Bug #373159
	* Mark user table as freed on free

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 K\E1ra
	* 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
