Optimize order of checks in if() to minimize calls to match_it().
[ircu2.10.12-pk.git] / ChangeLog
index 86a672d7870e7f2333bf0405808fb629cfb39876..dafc314c96da8c12f3f2f6742a829cebda58b7aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,88 @@
+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.