+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.
+
+ * include/channel.h (LISTARG_SHOWMODES): Define.
+
+ * ircd/hash.c (list_next_channels): Handle it.
+
+ * ircd/m_list.c (show_usage): Document 'M' flag.
+ (param_parse): Recognize 'M' as LISTARGS_SHOWMODES.
+
+2007-11-04 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_list.c (param_parse): Reverse comparison direction when
+ converting from minutes to time_t, and which bound is set (so that
+ T<time_t works correctly). Also switch is_time cases so that 'T'
+ and 'C' work as documented. Remove a "break" after a "return".
+
+ (m_list): Remove a "break" after a "return".
+
+2007-10-29 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_lexer.l (YY_INPUT): Redefine to use fbgets().
+ (init_lexer): Return a value to indicate failure. Use fbopen().
+ (deinit_lexer): New function.
+
+ * ircd/s_conf.c (read_configuration_file): Update extern
+ declarations. Bail if init_lexer() fails. Call deinit_lexer()
+ rather than directly munging yyin.
+