Fix bug #1299105 (overzealous IPv4 G-line checking).
[ircu2.10.12-pk.git] / ChangeLog
index acf7fd97a8018871d9c82cf770fb47764bd2edb4..a06a9df82e68e8e422469518b71b7da57e3000f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2005-09-22  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (gline_checkmask): Add missing digit in mask length
+       check.
+
+2005-09-21  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Remove confused and outdated references to
+       Martians.
+
+2005-09-20  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/Makefile.in: Regenerate "make depend" dependencies.
+
+       * ircd/test/Makefile.in: Likewise.
+
+2005-09-16  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_join.c (last0): fix problem leading to protocol
+       violations on certain combinations of /join 0 from remote servers
+       (probably from local users, too) [bug #1291029]; remove redundant
+       !IsChannelChar() check
+
+2005-09-14  Michael Poole <mdpoole@troilus.org>
+
+       * doc/readme.cvs: Document the branching scheme for 2.10.12.
+
+2005-09-14  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Increment to reflect the
+       pre-release code freeze.
+
+2005-09-14  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (find_ban): Fix the sense of another check.
+
+2005-09-13  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (clean_channelname): Remove prototype.
+
+       * ircd/m_invite.c (m_invite): Do not clean channel name; just
+       reject invalid channel names.
+
+       * ircd/m_join.c (m_join): Likewise.
+
+       * ircd/m_mode.c (m_mode): Do not clean channel name.
+
+       * ircd/m_names.c (m_names): Likewise.
+
+       * ircd/m_opmode.c (mo_opmode): Likewise.
+
+2005-09-13  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (find_ban): Revert to older style of comparison,
+       fixing the sense of one check.  Spotted by Alex Badea.
+
+2005-09-13  Alex Badea <vamposdecampos@gmail.com>
+
+       * ircd/ircd.c (try_connections): modify autoreconnect logic to
+       allow FEAT_CONNECTFREQUENCY to be smaller than Class connectfreq
+
+2005-09-13  Alex Badea <vamposdecampos@gmail.com>
+
+       * ircd/s_conf.c (close_mappings): NULL out GlobalServiceMapList,
+       otherwise the linked list has an invalid ending sentinel on rehash
+
+2005-09-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (find_ban): Compare ban mask against hostname
+       even when it looks like an IP, to match things like *!*@1.* when
+       users have a hostname like 1.2.3.example.com.
+
+2005-09-12  Michael Poole <mdpoole@troilus.org>
+
+       * RELEASE.NOTES: Note the resolution of ambiguous ipmasks.
+
+       * ircd/ircd_string.c (ipmask_parse): Implement it.
+
+2005-09-12  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_join.c (m_join): If we find an empty key, null out the
+       key pointer.
+
+2005-09-11  Michael Poole <mdpoole@troilus.org>
+
+       * RELEASE.NOTES: Mention the side benefits of this change.
+
+       * include/ircd_string.h (ipmask_parse): Declare function here.
+       (ircd_aton): Becomes a special case of ipmask_parse().
+
+       * include/match.h (check_if_ipmask): Undeclare function.
+       (ipmask_parse): Remove function prototype from this file.
+
+       * ircd/ircd_string.c (ircd_aton_ip4): Add nullable pbits parameter
+       to accept ipmask length.  Rework to fill that in.
+       (ircd_aton): Rework into...
+       (ipmask_parse): this function, which knows how to fill in its own
+       pbits parameter.
+
+       * ircd/m_burst.c (ms_burst): Rely on make_ban() to set the ban
+       flags correctly, to avoid call to check_if_ipmask().
+
+       * ircd/match.c (ipmask_parse_ipv4): Delete function.
+       (check_if_ipmask): Likewise.
+       (ipmask_parse): Delete this version in favor of ircd_string.c's.
+
+       * ircd/test/ircd_in_addr_t.c (ipmask_test): New struct type.
+       (test_masks): New array of ipmask_test.
+       (test_ipmask): Function to run one of those tests.
+       (main): Call test_ipmask().
+
+2005-09-11  Alex Badea <vamposdecampos@gmail.com>
+
+       * ircd/m_ping.c (ms_ping, mo_ping): misplaced chunk of code
+       (probably during the forward port) which broke AsLL; fixed.
+
+2005-09-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/gline.c (make_gline): Remove debug output from when IPv6
+       support was being debugged.
+       (do_gline): Likewise.
+       (gline_lookup): Likewise, plus remove redundant code.
+
+2005-09-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (joinbuf_join): Ignore joinbuf type when joining
+       0, since no other call passes a null channel.
+
+       * ircd/m_join.c: Remove comment discussing argument meanings.
+       (last0): Make this also handle the JOIN 0 logic, doxyfy.
+       (join0): Merge into last0.
+       (m_join): Doxygenate.  Remove check for join0.  Further
+       reorganize, so new versus old channel handling are moved to just
+       one place each within this function.
+       (ms_join): Doxygenate.  Remove check for join0.
+
+2005-09-01  Michael Poole <mdpoole@troilus.org>
+
+       * RELEASE.NOTES: Bump revision date and highlight this change.
+
+       * include/channel.h (MAGIC_OPER_OVERRIDE): Remove.
+       (can_join): Remove declaration.
+
+       * ircd/channel.c (compall): Remove.
+       (can_join): Remove.
+
+       * ircd/m_join.c (m_join): Remove redundant check for control
+       characters (clean_channelname() will get them). Reorganize initial
+       flags calculation.  Accept channel keys like RFC 1459 says; this
+       requires the old compall()/can_join() logic to modify 'keys', so
+       inline the code and reorganize it.
+
+2005-08-30  Michael Poole <mdpoole@troilus.org>
+
+       * include/channel.h (PASSLEN): Remove; use KEYLEN instead.
+
+       * ircd/channel.c (mode_parse_upass): Likewise.
+       (mode_parse_apass): Likewise.
+       The inconsistency (in clean_key()) was reported by Reed.
+
+2005-08-30  Michael Poole <mdpoole@troilus.org>
+
+       * RELEASE.NOTES: Document +D and +d channel modes.
+
+2005-08-29  Michael Poole <mdpoole@troilus.org>
+
+       * include/numeric.h (ERR_NOMANAGER_LONG): Undefine.
+       (ERR_NOMANAGER_SHORT): Rename to ERR_NOMANAGER.
+
+       * ircd/s_err.c (replyTable): Change to reflect that.
+
+       * ircd/channel.c (clean_key): New function.
+       (mode_parse_key): Use it, and check that keys do not start with :.
+       (mode_parse_upass): Likewise, and adjust for ERR_NOMANAGER.
+       (mode_parse_apass): Likewise.
+       The key and password changes fix bugs reported by coekie.
+
+2005-08-27  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/channel.c (add_user_to_channel): Use SetOpLevel() instead
+       of assigning directly to member->oplevel.
+       (mode_parse_apass): Likewise.
+       (mode_process_clients): Users opped by outsiders should get
+       oplevel 1, since they are not channel managers.
+
+       * ircd/m_burst.c (ms_burst): Use SetOpLevel() instead of assigning
+       directly to member->oplevel.
+
 2005-08-25  Michael Poole <mdpoole@troilus.org>
 
        * ircd/channel.c (member_can_send_to_channel): At coekie's
        suggestion, disallow channel manager talking after Apass is set,
        so they set and use Upass sooner.
 
-       * ircd/class.c (report_classes): Return links count plus one to
-       match old output.
+       * ircd/class.c (init_class): Default class should have 1 link.
+       (report_classes): Return links count minus one to match old output.
+
+       * ircd/m_trace.c (do_trace): Fix links count here, too (spotted by
+       Reed).
 
 2005-08-25  Michael Poole <mdpoole@troilus.org>