+2004-11-07 Michael Poole <mdpoole@troilus.org>
+
+ * include/channel.h: Remove declarations for undefined functions
+ cancel_mode(), add_token_to_sendbuf(), IsMember(). Delete
+ add_banid(), next_removed_overlapped_ban(). Add BAN_EXCEPTION
+ flag and new functions find_ban(), apply_ban().
+
+ * ircd/channel.c (PartFmt*, next_ban, prev_ban, removed_bans_list,
+ LocalChanOperMode): Remove unused variable definitions.
+ (make_nick_user_host): Delete.
+ (add_banid): Delete.
+ (next_removed_overlapped_ban): Delete.
+ (find_ban): New function, which knows about exceptions.
+ (is_banned): Use find_ban() and only work on a struct Membership.
+ (bmatch): New function, which knows about CIDR bans.
+ (apply_ban): New function to replace add_banid().
+ (mode_parse_ban): Use apply_ban().
+
+2004-10-28 Michael Poole <mdpoole@troilus.org>
+
+ * configure.in (AC_PREREQ): Depend on autoconf 2.50 since we use
+ new macros like AC_LINK_IFELSE and AC_LANG_PROGRAM.
+
+2004-10-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_invite.c (m_invite, ms_invite): Fix INVITE forwarding
+ with announcements enabled (do not "announce" to the recipient,
+ and unconditionally send to the recipient).
+
+ * ircd/send.c (sendcmdto_channel_servers_butone): Properly skip
+ the "from" client and implement SKIP_NONOPS and SKIP_NONVOICES.
+
+2004-10-21 Michael Poole <mdpoole@troilus.org>
+
+ * include/channel.h (Ban): Add fields address, nu_len, addrbits to
+ support netmask-based bans.
+
+ * ircd/channel.c (set_ban_mask): New function to parse a ban as
+ either netmask-based or not.
+ (make_ban): Use set_ban_mask().
+ (make_nick_user_ip): Becomes unused; remove it.
+ (is_banned): Rewrite to match only once against the nick!user part
+ of a ban, and compare addresses if BAN_IPMASK is set.
+ (mode_parse_ban): Use set_ban_mask().
+
+2004-10-21 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/s_conf.c (attach_iline): Test resolved host names against
+ aconf->host, not the (NULL) aconf->name.
+
+2004-10-19 Michael Poole <mdpoole@troilus.org>
+
+ * include/channel.h: Move ban flags out of channel flags and
+ rename to reflect this.
+
+ * ircd/channel.c: Update ban constant names.
+
+ * ircd/m_burst.c: Likewise.
+
+2004-10-18 Michael Poole <mdpoole@troilus.org>
+
+ * include/list.h (SLink): Remove ban elements from here...
+
+ * include/channel.h (Ban): And move to the new struct Ban.
+ (Channel): Update banlist field to match.
+ (next_removed_overlapped_ban): Update return type to match.
+ (make_ban, free_ban): New functions.
+
+ * ircd/channel.c (next_ban, prev_ban, removed_bans_list): Update
+ list types.
+ (free_bans): New variable to hold unused Ban elements.
+ (make_ban, free_ban): New functions.
+ (destruct_channel, add_banid, next_removed_overlapped_ban): Update
+ to use struct Ban.
+ (is_banned, send_channel_modes, send_ban_list): Likewise.
+ (ParseState, mode_parse_ban, mode_process_bans): Likewise.
+ (mode_parse): Likewise.
+
+ * ircd/m_burst.c (ms_burst): Update to use struct Ban.
+
+ * ircd/m_clearmode.c (do_clearmode): Update to use struct Ban.
+
+ * ircd/s_debug.c (count_memory): Update to use struct Ban.
+
+2004-10-18 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/gline.c (gline_find): unless we're looking for an exact
+ match, we should call match() on hostnames, not ircd_strcmp()
+
2004-10-17 Michael Poole <mdpoole@troilus.org>
* include/s_conf.h (ConfItem): Add new field username. Replace