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á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