+2007-11-30 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * 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.
+
+2007-10-29 Michael Poole <mdpoole@troilus.org>
+
+ * include/gline.h: Delete declaration of gline_propagate().
+
+ * include/whocmds.h: Delete declaration of count_users().
+
+ * ircd/whocmds.c (count_users): Move to gline.c as a static.
+
+ * ircd/gline.c (whocmds.h): Remove #include.
+ (gliter): Document boolean trickiness. Add missing trickiness
+ when gl_flags has bits set besides GLINE_ACTIVE.
+ (make_gline): Get rid of now-unused "after" variable and the
+ comments related to overlapping G-lines.
+ (gline_propagate): Make static.
+ (count_users): Move from whocmds.c as a static function.
+ (count_realnames): New function.
+ (gline_add): Require a force to hit lots of users with a realname
+ G-line.
+
+2007-09-05 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_gline.c (ms_gline): Remove dead branch when 4 < parc < 5.
+ (mo_gline): Consistently use the last argument as the reason.
+
+2007-09-05 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/Makefile.in: Fix dependencies for version.h generation.
+
+2007-08-20 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/send.c (sendwallto_group_butone): Move a feature_bool()
+ call out of a loop. Convert HasFlag() uses to appropriate macros
+ from client.h.
+
+2007-08-20 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_string.c (ircd_aton_ip4): Allow a sequence of *.* at
+ the end of an IPv4 mask.
+ (ipmask_parse): Likewise for *:* at the end of IPv6 masks.
+
+ * ircd/test/ircd_in_addr_t.c (test_masks): Add tests for this.
+
+2007-08-20 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_user.c (register_user): Update inv_clients and opers
+ counts. Call client_set_privs() for local users.
+ (set_nick_name): Do not call client_set_privs() for remote users.
+ (set_user_mode): Move oper and invisible client checks inside the
+ IsRegistered() section.
+
+2007-08-14 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (DONE_*): Split key changes into _ADD and _DEL.
+ (mode_parse_key): Check both, to properly handle -k+k changes.
+ (mode_parse_upass): Likewise, for -U+U.
+ (mode_parse_apass): Liekwise, for -A+A (in case that ever happens).
+ (mode_parse): Update which "done" flag is checked during a wipeout.
+
+2007-08-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_user.c (whipser): CNOTICEs should not trigger away
+ messages, only CPRIVMSGs.
+
+2007-08-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_who.c (m_who): Reorder responses and change the
+ ERR_QUERYTOOLONG parameter to be consistent with m_whois().
+
+2007-08-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_user.c (register_user): Initialize umodev[] in a
+ C89-compatible way. (gcc 4.1.2 warned about it.)
+
+2007-08-13 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_names.c (do_names): Add NAMES_DEL to comment. Avoid use
+ of strcat(). Get rid of ms_names(), which was basically a copy of
+ m_names(), and merge the "showingdelayed" changes into m_names().
+ Replace the recursion with iteration.
+
+ * ircd/parse.c (msgtab): Use m_names(), not ms_names().
+
+2007-08-08 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_auth.c (report_iauth_conf): Remove end-of-stats message;
+ m_stats() already does that.
+
+ (report_iauth_stats): Likewise.
+
+2007-08-08 Michael Poole <mdpoole@troilus.org>
+
+ * include/res.h (irc_in_addr_is_ipv4): Fix classification of
+ addresses like 0.0.0.0.
+
+2007-07-21 Perry Lorier <isomer@undernet.org>
+
+ * ircd/s_user.c: Move set_nick_name() to use set_user_mode(),
+ set_user_mode() now interprets +r usermodes properly (and ignores
+ them from non servers). This fixes a problem where remote users
+ weren't being counted properly anymore.
+
+2007-07-20 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/m_gline.c: create abs_expire() macro to convert an expire
+ timestamp from the network into an absolute time, if needed;
+ rename expire_off to expire globally, since it now represents an
+ absolute expiration time; use expire - CurrentTime in gline
+ forwarding statements; in ms_gline(), use abs_expire() to convert
+ network expiration timestamp into absolute timestamp; in
+ mo_gline(), add CurrentTime to oper-provided expiration offset to
+ convert to absolute timestamp
+
+ * ircd/gline.c: assume expire and lifetime arguments to
+ gline_add() and gline_modify() are already absolute timestamps;
+ send lifetime parameter as an absolute timestamp, but leave expire
+ timestamp as relative as first part of a 2-phase update
+
2007-07-12 Perry Lorier <isomer@undernet.org>
Reconsider how we manage modes before registration, to avoid stats
getting out of sync.