added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / ChangeLog
index fe5b3cba50626b2712618c759089675d10d7ec34..e9291bb2865c361c62d972b335ccb85f5541f55d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,700 @@
+2012-10-15  Michael Poole <mdpoole@troilus.org>
+
+       * include/IPcheck.h (IPcheck_connect_fail): Add new 'disconnect'
+       parameter.  This treats the failure as a disconnection from the
+       client's current IP address.
+
+       * ircd/IPcheck.c (ip_registry_connect_fail): Likewise.
+       (IPcheck_connect_fail): Pass it through.
+
+       * ircd/m_nick.c (m_nick): Pass zero for the new parameter.
+       (ms_nick): Likewise.
+
+       * ircd/s_auth.c (preregister_user): Likewise.
+       (iauth_cmd_ip_address): Pass one for the new parameter.
+
+2012-06-20  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_string.c (ipmask_parse): Return zero if there is junk
+       after eight valid IPv6 address elements.
+
+2012-06-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_stats.c (stats_configured_links): Correctly distinguish
+       local Operator blocks from global Operator blocks.
+
+2012-05-31  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_gline.c (ms_gline): If the mask was empty after removing
+       the command character(s), reject the command.
+       (mo_gline): Likewise.
+
+2012-05-31  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (infochanmodes): Add +d channel mode.
+
+       * include/client.h (infousermodes): Add +O user mode.
+
+2012-05-31  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (gline_add): Add length checks for badchan and
+       realname G-lines, comparable to the existing check for traditional
+       G-lines.
+
+       * ircd/s_err.c (ERR_LONGMASK): Remove extra space in format string.
+
+2012-05-31  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c (check_loop_and_lh): Mention the mechanism used
+       to control HUB.
+
+2012-05-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (set_user_mode): When a user deopers, revoke their
+       oper privileges in addition to their oper user mode.
+
+2012-05-09  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_who.c (m_who): Only set WHOSELECT_EXTRA for current
+       opers.  Because privileges are kept after -o, this would let
+       de-opered clients use WHOX.
+
+2012-05-07  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h (cli_account): New helper macro to return the
+       client's account name, or "0" for unstamped clients.
+
+       * ircd/s_misc.c (exit_client): Use that when logging the client's
+       exit.
+
+2012-05-07  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (count_users): Use the client's real host, rather
+       than their masked host, for +x users.
+
+2012-04-29  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/crule.c (crule_connected): Fix logic for ignoring
+       non-server Client structures.
+       (crule_via): Likewise.
+
+2012-04-29  Michael Poole <mdpoole@troilus.org>
+
+       * */.cvsignore: Rename to .gitignore.
+
+       * ircd/.cvsignore: Likewise, and add *.o because git does not
+       ignore any patterns by default.
+
+2012-01-23  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_res.c (proc_answer): Delete unread variable
+       query_class.
+
+       * ircd/m_nick.c (m_nick): Delete unread variable client_name.
+
+       * ircd/m_ping.c (m_ping): Delete unread variable origin.
+
+       * ircd/m_whois.c (do_whois): Delete unread variable name.
+
+       * ircd/parse.c (parse_client): Delete unread variable noprefix.
+
+       * ircd/s_conf.c (killcomment): Delete unread variable tm.
+
+       * ircd/s_stats.c (stats_configured_links): Delete unread variable
+       pass.
+
+2012-01-23  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (gline_modify): Notify opers using SNO_AUTO rather
+       than SNO_GLINE if a G-line had, and still has, an AUTO prefix.
+
+2012-01-19  Michael Poole <mdpoole@troilus.org>
+
+       * doc/readme.iauth: Document the new 'd' IAuth command.
+
+       * ircd/s_auth.c (AuthRequestFlag): Add "soft done" flag.
+       (auth_ping_timeout): Do not impose Authorization Timeout on
+       clients with the "soft done" flag set.
+       (iauth_cmd_soft_done): New IAuth command handler.
+       (iauth_parse): Call it.
+
+2012-01-19  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (start_auth): Call start_dns_query() and
+       start_auth_query() after start_iauth_query() rather than
+       before.
+
+2011-08-17  Kevin L. Mitchell <klmitch@mit.edu>
+
+       * include/client.h: Fix minor issue in IsLocOp() test
+
+       * include/patchlevel.h (PATCHLEVEL): bump patchlevel to 14
+
+2011-05-15  Michael Poole  <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (iauth_cmd_done_account): Do not copy the
+       account's creation timestamp into the account name.
+
+2010-07-05  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/patchlevel.h (PATCHLEVEL): bump patchlevel from -rc2 to
+       actual 13
+
+       * ircd/ircd_features.c: bump MAXBANS from 45 to 50, and MAXSILES
+       from 15 to 25
+
+2010-03-28  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c: Replace CurrentTime with TStime(), and remove the
+       uses of TSoffset, so that all G-line-related times are assumed to
+       be in network time.
+
+       * ircd/m_gline.c: Likewise.
+
+2010-03-08  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c (enum lh_type): New type.
+       (check_loop_and_lh): Use the enum instead of magic integers.
+       Make the error message a little clearer when neither "hub" nor
+       "maxhops" is specified for a server.  Clean up the control flow
+       when we decide to reject the link.
+
+2010-03-08  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/test/ircd_match_t.c (_SC_PAGE_SIZE): Default to
+       _SC_PAGESIZE if that is defined (as it is on some Unixes).
+
+2010-03-04  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_bsd.c: use feature_int() to get the integer value of the
+       feature...and don't try to set the TOS to its index!
+
+2010-02-02  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Bump to (u2.10.12.)13-rc2.
+
+2010-01-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_burst.c (ms_burst): Do not clear keys or limit here --
+       MODE_PARSE_WIPEOUT gets modebuf_flush() to do that for us.
+
+2010-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * Makefile.in: Remove doc/Makefile from the build.
+
+       * configure.in: Do not generate doc/Makefile.
+
+       * configure: Regenerate.
+
+       * doc/Makefile.in: Delete.
+
+       * doc/irc.1: Delete.
+
+       * doc/ircd.8: Delete.
+
+       * libs: Delete.
+
+2010-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_topic.c (ms_topic): When no topic timestamp is passed,
+       use the current time instead of the channel creation time.
+
+2010-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_silence.c (m_silence): Only show the silence list for the
+       requesting client and for channel services, to help keep other
+       clients' servers hidden.
+
+2010-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (gline_add): If a forced G-line has already
+       expired, create it in a deactivated state.
+
+2010-01-06  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_burst.c (ms_burst): Gracefully handle the case where a
+       server sends us a too-large oplevel.  Forward oplevels whenever
+       they are in use, not just when the channel is +A.
+
+2010-01-04  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_xquery.c (ms_xquery): Resolving my patches with
+       Entrope's--log extension queries sent to us
+
+       * ircd/m_xreply.c (ms_xreply): Resolving my patches with
+       Entrope's--swap order of findNUser() and FindNServer()
+
+       * ircd/Makefile.in (IRCD_SRC): Resolving my patches with
+       Entrope's--swap order of m_xquery.c and m_xreply.c to maintain
+       alphabetic ordering
+
+2010-01-03  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_xreply.c (ms_xreply): swap order of numeric resolution so
+       we can deal with XR directed to users
+
+       * configure: auto-rebuilt with Autoconf 2.63 (was 2.59)
+
+       * ircd/m_xquery.c: need ircd_reply.h; fix a couple of
+       capitalization errors; log XQUERY directed to "me"
+
+       * ircd/m_xreply.c: need ircd_reply.h and numnicks.h (how'd I miss
+       the latter??); fix a couple of capitalization errors
+
+       * ircd/Makefile.in (IRCD_SRC): it'd be nice if we actually tried
+       to compile the two new commands...
+
+       * ircd/s_auth.c: "serv" is passed to find_match_server(), which
+       does a collapse on the pattern, so it can't be const
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/engine_devpoll.c: Make some variables that were local to
+       engine_loop() file-scoped so engine_delete() can see them.
+       (engine_delete): Discard unprocessed events for the deleted
+       socket.
+       (engine_loop): Update to use the new variable names.  Change a
+       frequent debug statement to DEBUG_ENGINE.  Fix the type of the
+       codesize variable.
+
+       * ircd/engine_epoll.c: Same as ircd/engine_devpoll.c, but the
+       debug statement and codesize variable were already fixed.
+
+       * ircd/engine_kqueue.c: Same as ircd/engine_devpoll.c, but also
+       fix a typo in an engine_signal() assertion, and get rid of dead
+       variables in engine_delete().
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_bsd.c (client_sock_callback): Invalidate cli_fd() when we
+       receive an EBADF error.
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/engine_select.c (engine_loop): Remove a bogus assert() that
+       the structure's FD is correct after the event-handling callback
+       returns.  Also fix a warning about the type of the last parameter
+       passed to getsockopt().
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_names.c (m_names): Terminate the buffer used for listing
+       clients who are not in any channel.
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (find_delayed_joins): Move earlier in the file.
+       (modebuf_flush_int): Move the checks for changing between +D and
+       +d to here...
+       (modebuf_flush): ... from here.
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c (check_loop_and_lh): Never return 1 when we kill
+       another server.  Update the squit message text for maxhops and hub
+       violations.
+
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/Makefile.in (IRCD_SRC): Add m_xquery.c and m_xreply.c to
+       the build.
+
+       * ircd/m_xquery.c: Add missing include.
+       (mo_xquery): Fix spelling of struct Client.
+       (ms_xquery): Likewise.
+
+       * ircd/m_xreply.c: Add missing includes.
+       (ms_xreply): Fix spelling of struct Client and findNUser().
+
+2010-01-01  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * doc/readme.xquery: documentation for design and use of the
+       extension query mechanism
+
+       * doc/readme.iauth: document X iauth message and X and x server
+       messages
+
+       * include/msg.h: declare XQUERY/XQ and XREPLY/XR commands/tokens
+
+       * include/handlers.h: declare mo_xquery(), ms_xquery(), and
+       ms_xreply() message handlers
+
+       * include/s_auth.h: declare auth_send_xreply() to forward replies
+       to extension queries to the iauth instance
+
+       * ircd/m_xquery.c: process extension queries
+
+       * ircd/m_xreply.c: process replies to extension queries
+
+       * ircd/parse.c: add XQUERY and XREPLY commands to the list
+
+       * ircd/s_auth.c: add support for extension queries to iauth
+       protocol
+
+2010-01-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (iauth_do_spawn): Add debug output to diagnose
+       which system call might be failing.
+       (auth_spawn): Avoid reading past the end of iauth->i_argv[].  When
+       discarding an existing IAuth instance, use auth_close_unused() to
+       close the sockets and avoid leaking memory.
+
+2010-01-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_process_bans): Bypass total ban count and
+       length checks for OPMODEs.
+
+2010-01-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_features.c (feature_report): If sd->sd_funcdata is
+       non-zero, report even unchanged features (using prefix 'f').
+
+       * ircd/s_stats.c (statsinfo): Make "/stats f" case-sensitive, and
+       use the upper case variant to report all features.
+
+2009-07-30  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (register_user): Move the default-usermodes call
+       to set_user_mode() to before SetUser(), so that the former does
+       not increment the UserStats fields.  Add back the explicit
+       adjustments to UserStats for invisible and opered clients.
+
+2009-07-05  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (register_user): Use correct parc for
+       set_user_mode().  Do not increment UserStats fields here, because
+       set_user_mode() handles that.
+
+2009-07-05  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_gline.c (ms_gline): Fix the sense of the test for
+       strtoul() when parsing G-line lifetimes -- zero indicates failure.
+
+2009-07-05  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_parse_client): Ignore anything after a
+       colon when the mode is CHFL_VOICE or the mode is being removed.
+
+2009-07-04  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (find_conf_client): New function.
+       (preregister_user): Use it to avoid assigning a second conf class
+       on client connection.
+       (auth_ping_timeout): Send the "T" message only if we do not kill
+       the client (and thus send a "D" message).
+       (auth_find_classs_conf): Do not allow IAuth to select a disabled
+       class.  Unlink new conf items from GlobalConfList.
+       (iauth_cmd_done_client): Handle failures from attach_conf().
+       (iauth_parse): Behave decently when a client is killed by the
+       message handler.
+
+       * tools/iauth-test (%handlers): Add entries to help test this.
+
+2009-07-04  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (RevealDelayedJoinIfNeeded): Declare.
+
+       * ircd/channel.c (RevealDelayedJoinIfNeeded): Implement.
+
+       * ircd/ircd_relay.c (relay_channel_message): Only reveal the user
+       if he passes the check_target_limit() test.
+       (relay_channel_notice): Likewise.
+
+       * ircd/m_wallchops.c (m_wallchops): Likewise.
+
+       * ircd/m_wallvoices.c (m_wallvoices): Likewise.
+
+       * ircd/s_user.c (check_target_limit): Micro-optimize to only check
+       the user's channel list for invites if we are about to deny it.
+
+2009-03-25  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd.c (main): Unconditionally set +6 flag on self.
+
+2009-03-25  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (iauth_cmd_hostname): Properly assign the spoofed
+       hostname (yea, even as the "real" host) in the hurry state.
+
+       * tools/iauth-test: Add reminder about perl's RTMIN signal and a
+       new handler to exercise the N command in the hurry state.
+
+2009-03-25  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_parse): Add Doxygen comment.  When bouncing
+       a mode from a desynced U-lined server, do not set the modes or
+       send the change as a HACK(4) message.
+
+2009-03-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/send.c (sendcmdto_match_butone): Move match_it() to the end
+       of the if() to minimize the number of expensive function calls.
+
+2009-03-17  Michael Poole <mdpoole@troilus.org>
+
+       * patches/diffs/antispambot.diff: Forward port a patch by Dianora
+       to add rudimentary spam bot detection to ircu.
+
+2009-02-08  Michael Poole <mdpoole@troilus.org>
+
+       * include/client.h (ClearHub): New macro.
+
+       * ircd/ircd.c (main): Set IPv6 flag on &me if appropriate.
+
+       * ircd/ircd_features.c (feature_notify_hub): New function.
+       (features[]): Register it for FEAT_HUB.
+
+       * ircd/ircd_parser.y (connectblock): Do not default maxlinks to
+       65535 unless "hub" is specified.
+       (clientblock): Reset maxlinks on cleanup.
+
+2009-02-08  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (clean_channelname): Delete this function; it is
+       no longer used, and had the same length-off-by-one bug.
+
+       * ircd/m_join.c (m_join): Use > instead of >= with CHANNELLEN.
+
+       * tests/ircd.conf: Set CHANNELLEN to make it easier to test this.
+
+       * tests/bug-2328334.cmd: New file for regression testing.
+
+2009-02-08  Michael Poole <mdpoole@troilus.org>
+
+       * include/numeric.h (ERR_INVALIDKEY): Define new numeric.
+
+       * ircd/s_err.c (ERR_INVALIDKEY): Give it a text string.
+
+       * ircd/channel.c (is_clean_key): Rename from clean_key(), and make
+       this function responsible for sending error messages to the client
+       when necessary.
+       (mode_parse_key): Update to match the new is_clean_key() behavior.
+       (mode_parse_upass): Likewise.
+       (mode_parse_apass): Likewise.
+
+       * tests/channel-keys.cmd: New file for regression testing.
+
+2009-02-08  Michael Poole <mdpoole@troilus.org>
+
+       * include/gline.h (gline_forward_deactivation): Undeclare.
+
+       * ircd/m_gline.c (mo_gline): Remove the special case to call
+       gline_forward_deactivation().
+
+       * ircd/gline.c (gline_add): Mention if the new G-line is already
+       deactivated.
+       (gline_forward_deactivation): Delete implementation.
+
+       * tests/glines.cmd: Update the expected output to match.
+
+2009-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_topic.c (do_settopic): Just before sending the topic out,
+       check to see if the user is join-delayed and should be shown.
+
+       * ircd/m_wallchops.c (m_wallchops): Allow this command to expose
+       join-delayed users.
+       (ms_wallchops): Likewise.
+
+       * ircd/m_wallvoices.c (m_wallvoices): Allow this command to expose
+       join-delayed users.
+       (ms_wallvoices): Likewise.
+
+2009-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (modebuf_mode_uint): Fix bouncing of limit changes.
+
+2009-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (count_users): Accept "flags" mask to limit count
+       to local users.
+       (gline_add): Pass the flags to count_users().
+
+2009-01-12  Michael Poole <mdpoole@troilus.org>
+
+       * include/gline.h (gline_forward_deactivation): Declare.
+
+       * ircd/gline.c (count_users): Use ipmask-based checks too.
+       (gline_add): Require flags to have exactly one of the GLINE_GLOBAL
+       and GLINE_LOCAL bits set.
+       (gline_forward_deactivation): Implement new function.
+       (gline_find): Only require the GLINE_LOCAL flag to be set in the
+       gline structure; infer GLINE_GLOBAL when it is cleared.  (This
+       matches the value and usage of GLINE_MASK.)
+
+       * ircd/m_gline.c (ms_gline): Default lastmod to the known lastmod
+       time for GLINE_LOCAL_{DE,}ACTIVATE.
+       (mo_gline): Check that expiration times parse as expected.  Reject
+       "*" as a target for GLINE_LOCAL_{DE,}ACTIVATE.  Require reason and
+       expiration time for new G-lines.  Allow deactivation of an unknown
+       G-line without creating it ("so-and-so ... creating new G-line" is
+       a confusing message for a deactivation).
+
+       * tests/glines.cmd: New test script for G-line parsing tests.
+
+       * tests/ircd.conf: Enable CONFIG_OPERCMDS for glines.cmd.
+
+       * tests/ircd-2.conf: Likewise.
+
+       * tests/readme.txt: Add section on command syntax.
+
+       * tests/test-driver.pl: Report line numbers more clearly.
+       Fix (somewhat kludgily) the brokenness of consecutive "expect"
+       lines, as demonstrated by the numeric 219 and 281 expects in
+       glines.cmd.
+
+2008-11-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_kick.c (ms_kick): Properly handle crossing net rider and
+       normal KICKs (in the case where we get the normal kick first).
+
+2008-11-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/match.c (match): Fix an error in backtracking (apparently
+       exacerbated by escapes).
+
+       * ircd/test/ircd_match_t.c: Update headers and make sure we have a
+       mmap() anonymous request flag.
+       (test_match): New function.
+       (do_match_test): Use it instead of calling match() directly.
+
+2008-09-07  Perry Lorier <isomer@undernet.org>
+       
+       * ircd/m_kill.c: Remove the . from the end of the nickname in kill
+       messages to make cut and pasting easier.
+
+2008-03-20  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd_string.c (ircd_aton_ip4): Reject strings with more
+       than 3 dots in them.
+
+       * ircd/test/ircd_in_addr_t.c (test_addrs): Update the expected
+       parsing for a bare IPv4 address to a IPv4-mapped address.
+       (test_masks): Add a test for the ircd_string.c change.
+
+2008-03-20  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/client.h: IsLocOp() now checks to see if its MyUser() as
+       well; IsAnOper() uses IsOper() and IsLocOp() instead of directly
+       testing the flags
+
+2008-03-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_bsd.c (init_connection_limits): Remove errant apostrophe.
+       Print text error message when unable to set max FDs.
+
+2008-03-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_user.c (set_user_mode): Check for end of argument list
+       when processing 'r' modes.
+
+2008-01-09  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+2008-01-02  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_burst.c (ms_burst): surround protocol_violation() and
+       break in braces to do what Jan Krueger was trying to do...
+
+2008-01-03  Jan Krueger  <jast@heapsort.de>
+
+       * ircd/m_burst.c: prevent leaking the next nick into the current one's
+       oplevel. Add protocol_violation when an invalid nick flag appears.
+
+2007-12-28  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c: add MODE_REGISTERED, mapped to +R; arrange to
+       only have it settable or clearable by remote users or /opmode
+
+       * include/supported.h (FEATURESVALUES2): update to include 'R'
+       channel mode
+
+       * include/channel.h: add MODE_REGISTERED, update infochanmodes to
+       include 'R' channel mode
+
+2007-12-13  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_gline.c (ms_gline): if we got an activate or deactivate
+       for a global G-line we never heard of, and we cannot create it
+       because no expire time was sent, manually propagate the G-line
+       instead of trying to call gline_add()
+
+       * ircd/gline.c (make_gline): never allow a G-line to be created
+       with a 0 expire time
+
+2007-12-03  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Bump for u2.10.12.12 release.
+
+2007-12-03  Michael Poole <mdpoole@troilus.org>
+
+       * doc/Makefile.in (DATAROOTDIR): Define.
+       (DATADIR): Likewise.
+       
+2007-11-30  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/version.c.SH: correct invalid syntax in shell case/esac
+
+       * ircd/ircd_lexer.l: provide an implementation of yywrap() so we
+       no longer have to link against -lfl
+
+       * configure.in: drop tests on LEXLIB and don't add it to the list
+       of libs
+
+       * ircd/gline.c (gline_add): apply too-many-users test to realname
+       G-lines *only* when the origin is my user (or a user, for
+       remote-local G-lines)
+
+2007-11-28  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Bump for pre12 development.
+
+2007-11-28  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Bump for u2.10.12.11 release.
+
+2007-11-28  Michael Poole <mdpoole@troilus.org>
+
+       * tests/test-driver.pl (drv_default): Fix expect for numeric
+       responses that have non-trivial parameters.
+       (check_expect): Simplify (and fix) sender name check.
+
+       * tests/bug-1640796.cmd: Update expect NNN for new POE behavior
+       and part to not try to part the channel named "leaving".
+
+       * tests/bug-1674539.cmd: Update expect NNN for new POE behavior.
+
+       * tests/bug-1840011.cmd: New test script.
+       
+2007-11-28  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (mode_ban_invalidate): Clarify Doxygen comments.
+       (apply_ban): Only block narrower bans if the wider ban is active.
+
+2007-11-24  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_names.c (do_names): Don't try to re-initialize the start
+       of buf[] for each line.  It's done the first time around and that
+       can be reused safely.
+
+2007-11-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_stats.c (m_stats): Properly assign param before it is
+       used in the hunt_server_cmd() call.
+       
+2007-11-17  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (iauth_disconnect): Avoid destroying invalid
+       sockets.
+       (iauth_stderr_callback): Disconnect iauth child if stderr has
+       EOF (in case stdin notification is delayed somehow).
+       
+2007-11-04  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/umkpasswd.c (sum): Typecast buffer to avoid a warning about
+       the parameter type being passed to strlen().
+       
 2007-11-04  Michael Poole <mdpoole@troilus.org>
 
        * doc/example.conf: Document /LIST M as controlled by list_chan.