ChangeLog   [plain text]


2005-07-25 Justin Kirby <justin-j2@openaether.org>
	* fixed second log-in in with similar resource breaks routing for first login
	* fixed 3 buffer overflows in jid.c, bug#99
	* fixed Incorrect SASL error message defined in sx/sasl.c, bug#98
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
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ára
	* 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