Author: Entrope <mdpoole@troilus.org>
[ircu2.10.12-pk.git] / ChangeLog
index 6869bc14d14d37f1fb27a55b4882cd0db89251cd..86a672d7870e7f2333bf0405808fb629cfb39876 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,335 @@
+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.
+
+       * 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.