📄 changelog
字号:
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醨a * 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 crasher2004-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 released2004-06-07 Robert Norris <rob@cataclysm.cx> * sm/mod_iq_private.c: don't match iq:private packets that are trying to be routed elsewhere2004-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: same2004-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 anyway2004-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 strlen2004-05-06 Robert Norris <rob@cataclysm.cx> * router/router.c: tiny logging fix2004-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: same2004-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: same2004-04-27 Robert Norris <rob@cataclysm.cx> * sm/aci.c: allow resources in acis2004-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_NORMAL2004-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 finished2004-04-20 Robert Norris <rob@cataclysm.cx> * util/nad.c: don't explicitly declare the implicit xml namespace * util/util.h: same2004-04-17 Robert Norris <rob@cataclysm.cx> * mio/mio.c: actually set sockets non-blocking2004-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: same2004-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 prototypes2004-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/: removed2004-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 changes2004-04-02 Robert Norris <rob@cataclysm.cx> * sm/mod_presence.c: block incoming presence if user not online * etc/sm.xml.dist.in: same2004-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: same2004-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 stream2004-03-22 Robert Norris <rob@cataclysm.cx> * sx/io.c: thinko fix2004-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: same2004-02-26 Robert Norris <rob@cataclysm.cx> * util/util.h: make the debug line buffer larger so long lines don't get cut2004-02-17 Robert Norris <rob@cataclysm.cx> * c2s/authreg.c: don't call the module free function if it doesn't exist2004-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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -