/***********************************************************************
X3 ChangeLog
-2009-01-29 Alex Schumann <rubin@afternet.org>
+2009-10-11 Henrik Stuart <evilnet@hstuart.dk>
- * src/hash.c: Added a function to check if a user pointer
- points to a user that actually exists.
+ * src/mod-python.c: add emb_get_config function.
- * src/dict-splay.c: added a dict function to check if data exists
- in a dict list.
+2009-10-09 Henrik Stuart <evilnet@hstuart.dk>
- * src/opserv.c: added safety checks on nick and auth callbacks to
- ensure the user still exists (and wasn't removed by a previous
- callback)
+ * src/mod-python.c: add emb_timeq_del function.
- * src/mod-track.c: added safety checks on nick and auth callbacks
- to ensure the user still exists
+2009-10-09 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_timeq_add function.
+
+2009-10-07 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: refactor dict_t construction logic.
+
+2009-10-07 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: improve error logic for emb_get_channel.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: refactor modeList conversion into separate function.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: refactor out common error cleanup logic.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_get_accounts function and refactor some
+ common logic into a single routine.
+
+ * src/nickserv.h src/nickserv.c: make nickserv_handle_dict externally
+ available.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_kill function.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: improve error logic for pyobj_from_usernode.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: improve error logic for emb_get_servers.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: improve error logic for emb_get_channels.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: improve error logic for emb_get_users.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_get_server function and require P10.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_get_servers function.
+
+2009-10-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: fix a bunch of typos
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_get_channels function.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add emb_get_users function.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: raise exception on failure in emb_get_account.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: raise exception on unknown channel in emb_get_channel
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: make emb_send_target_notice more resilient toward
+ erroneous input and raise exceptions on failures.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: make emb_send_target_privmsg more resilient toward
+ erroneous input and raise exceptions on failures.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: make emb_dump raise exception on failure.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: set exception on error path in emb_get_user.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: extract userNode to Python dictionary conversion for
+ future use in handlers.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: do not leak handler objects
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: add support for specifying main module in x3.conf
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: Expose Python services module as _svc to follow normal
+ Python naming conventions for C extensions.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: Remove unused function.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: Generalise cmd_run to handle arbitrary statements.
+
+2009-10-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/main-common.c: Initialise opserv before other services.
+
+2009-09-22 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * Srvx sync. Author: Michael Poole.
+
+ * src/recdb.c (explain_failure): When MAIN_LOG is NULL, report to stderr.
+
+2009-09-19 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * Srvx sync. Author: Michael Poole.
+
+ * src/chanserv.c (handle_part): Allow the current user to be considered for
+ channels other than the channel being /part'ed.
+
+ * src/modcmd.c (modcmd_saxdb_write): Write bot modes to the database.
+ (modcmd_load_bots): Read them out and use them.
+
+ * src/opserv.c (cmd_whois): Use irc_user_mode_chars() here too.
+
+ * src/opserv.help (INVITE): Document this command.
+
+ * src/proto.h (irc_user_modes): Declare.
+ (irc_user_mode_chars): Likewise.
+
+ * src/proto-common.c (irc_user_modes): Define.
+
+ * src/proto-p10.c (irc_user_mode_chars): Define.
+ (irc_user): Use irc_user_mode_chars() instead of open-coding it.
+
+2009-08-21 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.c: Fix for a crash bug when using LOC with LDAP
+ where LDAP account exists and AuthServ account does not
+
+2009-08-20 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/opserv.help: Fixed a typo in ROUTING EXAMPLE
+
+2009-08-17 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.c: Added NSMSG_RECLAIM_HOWTO describing how to
+ AUTH when warned that the nick being used is registered
+
+2009-08-11 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/proto.h: Added declaration fo irc_privmsg_user
+
+ * src/opserv.c: Added privmsg and notice trace actions
+
+ * src/opserv.help: Added privmsg and notice trace actions
+
+2009-08-11 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/proto-p10.c: ignore SPAMFILTER messages
+
+2009-08-11 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * Srvx sync. Author: Michael Poole.
+
+ * configure.in: (HAVE_SOCKADDR_SA_LEN): Define to a non-empty value
+ (specifically, 1).
+ (HAVE_STRUCT_ADDRINFO): Likewise.
+
+ * src/ioset-kevent.c (ioset_kevent_add): Never try to use EV_DELETE, because
+ that can make kevent() return -1/ENOENT.
+ (ioset_kevent_update): We need to try to EV_DELETE here instead.
+ (ioset_kevent_loop): Do not bail if kevent() just returns -1/EINTR.
+
+ * src/Makefile.am (EXTRA_x3_SOURCES): Include mod-blacklist.c.
+
+ * src/sar.c (ipv4_pton): Set the sockaddr length field when it exists.
+ (ipv6_pton): Likewise.
+
+2009-08-11 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/proto-common.c: Fix to allow trigger (in channel) commands
+ to work in unregistered channels
+
+2009-07-30 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/sar.c: Fix for typo in previous commit
+
+2009-07-30 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/sar.c: Commented out an warning message.
+
+2009-07-29 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.c: Fix for minor auth bug
+
+2009-07-23 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.help: Minor spelling correction
+
+2009-07-18 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.c: Fix for NickServ AUTH bug with only password
+ being supplied
+
+2009-07-16 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/nickserv.c: Added support for NickServ with LDAP enabled
+
+2009-07-15 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Crash fix with the spin command for hosts with
+ a long length.
+
+2009-07-05 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/chanserv.c: Fix for crash on ChanServ.UNSUSPEND
+
+2009-06-27 Matthew Beeching <jobe@mdbnet.co.uk>
+
+ * src/modcmd.c: Fix for bug #2813183
+
+2009-06-20 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Removed lastmod from gline and shun. (from the
+ srvx merge)
+
+ * src/gline.c: Removed lastmod from gline and shun. (from the srvx
+ merge)
+
+ * src/gline.h: Removed lastmod from gline and shun. (from the srvx
+ merge)
+
+ * src/mod-blacklist.c: Removed lastmod from gline and shun. (from
+ the srvx merge)
+
+ * src/mod-sockcheck.c: Removed lastmod from gline and shun. (from
+ the srvx merge)
+
+ * src/opserv.c: Removed lastmod from gline and shun. (from the srvx
+ erge)
+
+ * src/proto-p10.c: Removed lastmod from gline and shun. (from the srvx
+ merge)
+
+ * src/shun.c: Removed lastmod from gline and shun. (from the srvx merge)
+
+ * src/shun.h: Removed lastmod from gline and shun. (from the srvx merge)
+
+ * src/spamserv.c: Removed lastmod from gline and shun. (from the srvx
+ merge)
+
+2009-06-05 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/proto-p10.c: Bug fix for SF Bug #2801434.
+
+2009-06-02 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/hash.h: Updated client PRIVS.
+
+ * src/proto-p10.c: Updated client PRIVS.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/tools.c: Re done the extended channel ban code so that it works
+ like the ircd code.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/tools.c: Return -1 with invalid extended bans.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Tweak the ban functions to allow invalid bans to
+ be picked up.
+
+ * src/tools.c: Return -1 with invalid extended bans.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Updated user_matches_glob.
+
+ * src/common.h: Updated user_matches_glob.
+
+ * src/mod-memoserv.c: Updated user_matches_glob.
+
+ * src/nickserv.c: Updated user_matches_glob.
+
+ * src/opserv.c Updated user_matches_glob.
+
+ * src/tools.c: Added support for shared channel bans (j). As well as
+ quiet bans. Although these are handled ircd side.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/tools.c: Extended channel ban support. As well as text and
+ nick change bans, however these 2 are just ignored as they are
+ handled ircd side.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/tools.c: Extended account ban support.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Basic extended ban support.
+
+ * src/tools.c: Basic extended ban support.
+
+2009-06-01 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Fixed up SF bug #2799155.
+
+ * src/modcmd.c: Fixed up an issue where missing args was coming up
+ when it shouldnt.
+
+2009-05-31 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * GPL 3 and svn propset updates.
+
+2009-05-31 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/main.c: Added spamserv.h #include.
+
+ * src/main-common.c: Woops forgot to init spamserv.
+
+ * src/spamserv.c: Fixed up AddLocalUser.
+
+2009-05-30 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Small fix with CSMSG_SET_UNREVIEWED.
+
+2009-05-30 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/hash.c: Couple of tweaks.
+
+ * src/proto-common.c: Fix for triggers not working with forwards as well as
+ off channel services.
+
+2009-05-30 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/chanserv.c: Fixed a crash with setting a .set option with an invalid
+ option.
+
+ * src/mail-smtp.c: Added missing file.
+
+2009-05-27 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * Major update to bring X3 in line with the latest SRVX commit. Please see
+ UPGRADE. Credits go to the SRVX team.
+
+2009-04-22 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/proto-p10.c: Ignore stats headers.
+
+2009-05-08 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: generalised cmd_run to process file_input productions.
+
+2009-05-06 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/mod-python.c: generalised PYTHONPATH environment setting to
+ not explicitly set Alex's home directory.
+
+2009-05-05 Henrik Stuart <evilnet@hstuart.dk>
+
+ * src/proto-p10.c: introduced irc_sno for SNO messages. Removed broken
+ auto_oper on LOC support.
+
+ * src/proto.h: introduced irc_sno for SNO messages.
+
+ * src/nickserv.c: added registered authentication function to handle
+ auto_oper on LOC.
+
+2009-05-04 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.c: julien and polo noticed a crash during channel register. Fixed
+
+ * x3.conf.example: fix typeo in default channel regex. Thanks again to julien for noticing this.
+
+2009-03-27 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/proto-p10.c: Update PRIV handling code for the latest
+ nefarious 1.3 changes.
+
+2009-02-27 Alex Schumann <rubin@afternet.org>
+
+ * src/proto-p10.c: Patch from muer to support auto-oper for LOC
+ connections too.
+
+2009-01-31 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.c: change server link handlers to return an int
+
+ * src/hash.h: change server link handlers to return an int
+
+ * src/plugins/annoy/plugin.py: add some debug code for testing new
+ hooks
+
+ * src/modpython.py: support for new hooks server_link, nick_change,
+ and new_user
+
+ * src/mod-python.c: support for new hooks server_link, nick_change,
+ and new_user
+
+2009-01-30 Neil Spierling <sirvulcan@sirvulcan.co.nz>
+
+ * src/opserv.c: Warning fix.
+
+ * src/proto-p10.c: Bug fix for SF Bug #2547157 (topic ident bug).
2009-01-27 Alex Schumann <rubin@afternet.org>