Further reorganize and streamline join handling.
[ircu2.10.12-pk.git] / ChangeLog
index b33bec6b3b4b175e095d9b49a52cb9bb97286f56..0c29edef4198845f3d8452cddde92317f21f99b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,125 @@
+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 (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>
+
+       * ircd/channel.c (mode_parse): Accept +A/+U from servers
+       regardless of FEAT_OPLEVELS.
+
+2005-08-24  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/ircd.c (parse_command_line): Mention epoll engine when run
+       with -v.
+
+2005-08-24  Michael Poole <mdpoole@troilus.org>
+
+       * include/patchlevel.h (PATCHLEVEL): Increment.
+
+       * ircd/channel.c (joinbuf_join): Double check that oplevel is 0 or
+       1 when propagating JOIN <level>:#channel, to avoid PV on receiver.
+
+       * ircd/engine_epoll.c: Add system call numbers for more CPU types.
+
+       * ircd/ircd_log.c (log_open): Remove NFS-oriented alarm() calls;
+       anyone who writes logs over NFS is mental.  (Thanks to D. Bruce.)
+
+2005-08-21  Michael Poole <mdpoole@troilus.org>
+
+       * include/s_conf.h (free_mapping): Declare new function.
+
+       * ircd/ircd_parser.y (pseudoblock): Use it.
+
+       * ircd/s_conf.c (free_mapping): Define it.
+       (close_mappings): New function.
+       (rehash): Call close_mappings() before reading file.
+
+       * ircd/m_kill.c (do_kill): Revert 2005-08-18 change.
+
+2005-08-19  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/parse.c (tok_tree): Re-add token tree structure.
+       (initmsgtree): Populate it.
+       (parse_server): Prefer it to full message tree.
+
+2005-08-18  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_kill.c (do_kill): When FEAT_HIS_KILLWHO, change apparent
+       source of KILLs to &his instead of &me.
+
 2005-08-16  Michael Poole <mdpoole@troilus.org>
 
        * ircd/channel.c (mode_parse_ban): Avoid overwriting part of
        * ircd/m_invite.c (m_invite): Likewise.
        (ms_invite): Likewise.
 
+       * ircd/m_kick.c (ms_kick): Likewise.
+
+       * ircd/m_topic.c (do_settopic): Another &me -> &his change for
+       HIS, and use that apparent source for the channel localcast.
+
 2005-08-16  Jukka Ollila <jaollila@niksula.hut.fi>
 
        * ircd/s_user.c (hide_hostmask): Use HIS_SERVERNAME instead of the