+2005-03-29 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Remove no-longer-used HIS_STATS_h.
+
+ * doc/readme.features: Likewise.
+
+ * include/ircd_features.h: Likewise.
+
+ * ircd/ircd_features.c: Likewise.
+
+2005-03-20 Reed Loden <reed@reedloden.com>
+
+ * include/ircd_features.h: Alphabetize HIS_STATS_? features.
+
+ * ircd/ircd_features.c: Likewise.
+
+2005-03-29 Michael Poole <mdpoole@troilus.org>
+ (The previously unapplied part of another patch (by Carlo Wood?).)
+
+ * ircd/m_part.c (ms_part): Remove a check that should already be
+ done by the user's own server.
+
+2005-03-29 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Add HIS_STATS_J entry.
+
+ * doc/readme.features: Likewise.
+
+2005-03-25 Reed Loden <reed@reedloden.com>
+
+ * include/hash.h: Add needed prototypes for new
+ stats_nickjupes() function.
+
+ * include/ircd_features.h: Add FEAT_HIS_STATS_J.
+
+ * include/numeric.h: Add RPL_STATSJLINE (222) for new nick
+ jupes stats. Correct a typo in a comment.
+
+ * ircd/hash.c: Add stats_nickjupes() function to report all
+ nick jupes to an oper. Because of the nature of hash tables,
+ there is no way to sort this list so the results look weird.
+
+ * ircd/ircd_features.c: Add FEAT_HIS_STATS_J (default: TRUE).
+
+ * ircd/s_err.c: Add RPL_STATSJLINE (222) for new nick jupes
+ stats.
+
+ * ircd/s_stats.c: Add RPL_STATSJLINE (222) for new nick jupes
+ stats. Make 'j' case sensitive. Modify the comment for stats
+ uworld.
+
+2005-03-27 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_burst.c (ms_burst): Do not send numeric oplevels in a -A
+ channel when forwarding a channel burst line.
+
+2005-03-25 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_server.c (set_server_flags): New function. Unlike the
+ old code, this recognizes the IPv6 flag. (Spotted by Reed.)
+ (mr_server): Use the new function.
+ (ms_server): Likewise. Also don't show "Net junction:" message if
+ any closer server is still bursting (also spotted by Reed).
+ Finally, forward the +6 flag to other servers.
+
+ * ircd/s_serv.c (server_estab): Forward the +6 flag here, too.
+
+ * ircd/s_bsd.c (client_sock_callback): Re-set cli_error() after it
+ may be cleared by completed_connection().
+
+2005-03-23 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_burst.c (ms_burst): Remove limit and keys when a channel
+ is wiped out during burst.
+
+2005-03-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_res.c (check_resolver_timeout): I give up. Use the
+ kludgy earlier version of the timeout fix.
+
+2005-03-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (send_channel_modes): Fix test for when to send
+ membership mode suffix, to avoid sending it more than once.
+
+2005-03-22 Michael Poole <mdpoole@troilus.org>
+ (Many thanks to nex and Reed for helping hunt this down and
+ doing the testing of various patches.)
+
+ * ircd/ircd_events.c (timer_chg): Properly change a timer that is
+ in the middle of executing its expiration event.
+
+ * ircd/ircd_res.c (check_resolver_timeout): Simplify the test for
+ whether to use timer_chg() or timer_add().
+ On second thought, use timer_add() unconditionally; the server
+ connection loop does.
+ (timeout_resolver): Do not try to re-schedule the DNS timeout
+ unless it is the expiration event.
+ (do_query_number): Properly initialize request->state.
+ (res_readreply): Mention the response code that was bad.
+
+2005-03-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/engine_kqueue.c (engine_delete): The kernel removes
+ close()'d FDs from the activity list, so don't try to remove the
+ FD here (the caller may have already close()'d it).
+
+2005-03-20 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/IPcheck.c: Fix typos in comments and strings to reduce
+ future slumming for credit.
+
+ * ircd/channel.c, ircd/crule.c, ircd/engine_epoll.c: Likewise.
+ * ircd/fileio.c, ircd/hash.c, ircd/ircd.c: Likewise.
+ * ircd/ircd_auth.c, ircd/ircd_crypt.c: Likewise.
+ * ircd/ircd_crypt_native.c, ircd/ircd_crypt_smd5.c: Likewise.
+ * ircd/ircd_features.c, ircd/ircd_log.c: Likewise.
+ * ircd/ircd_parser.y, ircd/ircd_res.c: Likewise.
+ * ircd/ircd_reslib.c, ircd/ircd_string.c, ircd/list.c: Likewise.
+ * ircd/m_burst.c, ircd/m_clearmode.c, ircd/m_destruct.c: Likewise.
+ * ircd/m_invite.c, ircd/m_ison.c, ircd/m_kill.c: Likewise.
+ * ircd/m_server.c, ircd/m_squit.c, ircd/m_topic.c: Likewise.
+ * ircd/m_who.c, ircd/m_whois.c, ircd/m_whowas.c: Likewise.
+ * ircd/match.c, ircd/msgq.c, ircd/numnicks.c: Likewise.
+ * ircd/os_generic.c, ircd/parse.c, ircd/s_auth.c: Likewise.
+ * ircd/s_bsd.c, ircd/s_conf.c, ircd/s_debug.c: Likewise.
+ * ircd/s_misc.c, ircd/s_numeric.c, ircd/s_serv.c: Likewise.
+ * ircd/s_stats.c, ircd/s_user.c, ircd/table_gen.c: Likewise.
+ * ircd/umkpasswd.c, ircd/uping.c, ircd/whowas.c: Likewise.
+
+ * ircd/test/test_stub.c: Make exit_client() argument list
+ consistent with that in s_misc.c so doxygen is not confused.
+
+2005-03-20 Michael Poole <mdpoole@troilus.org>
+ (Thanks to Reed Loden for pointing these out.)
+
+ * ircd/channel.c: Fix typos in comments.
+
+ * ircd/m_create.c: Likewise.
+
+ * ircd/m_list.c: Likewise.
+
+ * ircd/m_names.c: Likewise.
+
+ * ircd/numnicks.c: Likewise.
+
+ * ircd/s_bsd.c: Likewise.
+
+2005-03-20 Michael Poole <mdpoole@troilus.org>
+ (Thanks to Reed Loden for pointing these out.)
+
+ * doc/Configure.help: Remove outdated file.
+
+ * doc/exaconf.2: Likewise.
+
+ * doc/snomask.html: Add missing <tr>, SNO_AUTO, SNO_DEBUG, and
+ update SNO_OPERDEFAULT list.
+
+ * tools/mkpasswd.c: Remove outdated file (use ircd/umkpasswd
+ instead).
+
+ * tools/Makefile.crypt: Remove outdated file.
+
+ * tools/mkpasswd.c: Likewise.
+
+ * tools/transition: Likewise.
+
+2005-03-19 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/channel.c (sub1_from_channel): Check apass rather than mode
+ to determine whether an apass is set (MODE_KEY/APASS/UPASS are not
+ set in mode.mode).
+ (send_channel_modes): Use the same change when determining how to
+ send oplevels for channels.
+
+2005-03-19 Michael Poole <mdpoole@troilus.org>
+
+ * include/IPcheck.h (IPcheck_connect_fail): Take a Client
+ parameter instead of irc_in_addr.
+
+ * ircd/IPcheck.c (IPcheck_connect_fail): Likewise. Assert that
+ the client has been IP-checked.
+ (IPcheck_remote_connect): Assert that the client has not yet been
+ charged for connecting.
+ (IPcheck_connect_succeeded): Assert that the client has been
+ charged for connecting.
+ (IPcheck_disconnect): Likewise.
+
+ * ircd/m_nick.c (m_nick): Pass rejected client to
+ IPcheck_connect_fail() when somebody takes the nick first.
+ (ms_nick): Likewise.
+
+ * ircd/s_serv.c (server_estab): Pass new server to
+ IPcheck_connect_fail().
+
+ * ircd/s_user.c (register_user): When rejecting a user, pass
+ the struct Client to IPcheck_connect_fail().
+
+2005-03-19 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Connect): Remove a buggy comment about leaf
+ directives; refer the reader to the Connect block instead.
+
+ * tools/convert-conf.py: Set "leaf;" rather than "leaf = yes;"
+
+2005-03-19 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Operator): Correct the comment explaining
+ hashed passwords.
+
+ * ircd/m_oper.c (oper_password_match): Check correct variable to
+ determine whether the hashed password matched.
+
+2005-03-08 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/match.c (ipmask_parse): Explicitly zero-initialize the mask
+ and bit count for "*".
+ (ipmask_check): Make more robust to similar errors.
+
+2005-03-07 Michael Poole <mdpoole@troilus.org>
+
+ * configure.in: Consistently use a constant in AC_DEFINE().
+
+ * configure: Regenerate.
+
+ * doc/example.conf (Port): Add comment about the mask option.
+ (Port): Fix the vhosted Port example.
+
+ * ircd/ircd_parser.y (clientblock): Correctly initialize the IP
+ address and addrbits for a Client block with no IP mask.
+
+ * ircd/match.c (ipmask_parse): Accept * as a zero-bit mask.
+
+ * ircd/s_auth.c (start_auth_query): Count socket allocation
+ failure as a failed auth check, as .11 does.
+
+ * ircd/s_debug.c (debug_serveropts): Add '6' to server options
+ when compiled with IPv6 support.
+
+2005-02-23 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Explain apass_opmode privilege, pointing out
+ that, unlike previous privs, the default is OFF for global opers.
+
+ * include/client.h (PRIV_APASS_OPMODE): Define new privilege.
+
+ * ircd/channel.c (mode_parse_upass): Only prevent local opers
+ without the apass_opmode privilege from forcing a +U change.
+ (mode_parse_apass): Likewise, for +A.
+
+ * ircd/client.c (client_set_privs): Turn off PRIV_APASS_OPMODE in
+ the default privileges for global opers.
+
+ * ircd/ircd_lexer.l (apass_opmode): Recognize keyword.
+
+ * ircd/ircd_parser.y (TPRIV_APASS_OPMODE): New token.
+ (privtype): Fix typo for local_badchan privilege value.
+ Accept apass_opmode token.
+
+2005-02-23 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf: Fix comment's description of "whox" privilege.
+
2005-02-21 Michael Poole <mdpoole@troilus.org>
* include/channel.h (ShowChannel): Remove PRIV_LIST_CHAN check