+2005-04-06 Michael Poole <mdpoole@troilus.org>
+
+ * acinclude.m4 (unet_PIPE_CFLAGS): Remove; -pipe is obsolete in
+ current gcc releases and is slower than files for previous
+ releases on most OSes.
+
+ * configure.in (AC_PREREQ): Bump to 2.59 because of AS_HELP_STRING.
+ (unet_PIPE_CFLAGS): Remove use of macro.
+
+ * aclocal.m4: Regenerate.
+
+ * configure: Likewise.
+
+2005-04-04 Michael Poole <mdpoole@troilus.org>
+
+ * configure.in: For developers' ease, allow passing an option to
+ configure to persistently set optimization CFLAGS.
+
+ * configure: Regenerate.
+
+2005-04-04 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Jupe): Make the default Jupe block follow
+ CFV-0255. (Thanks to FrankP for pointing me at this and to DinTn
+ for getting me a copy of the CFV.)
+
+2005-04-04 Michael Poole <mdpoole@troilus.org>
+
+ * include/capab.h (CAPFL_STICKY): Define.
+ (CAPLIST): Remove the entries used for testing.
+
+ * include/client.h (Connection): Clarify comment about the
+ distinction between con_capab and con_active.
+
+ * ircd/m_cap.c: Add doxygen comments and replace the long
+ discussion of m_handler functions with an xref to it.
+ (send_caplist): Add new parameters and change the terminal vs
+ non-terminal line distinction to make compliant with current draft
+ specification.
+ (cap_empty): Rename to cap_ls().
+ (cap_req): Track modified capabilities bitwise, so that the
+ responding ACK contains all the appropriate flags.
+ (cap_ack): Add comment explaining why there is no response.
+ (cap_clear): Build and send a list of cleared capabilities, as
+ required by the current draft.
+ (cap_list): Send capability list using LIST subcommand.
+ (cmdlist): Add handler for LS subcommand. Remove entries for the
+ empty and LSL subcommands, which are no longer allowed.
+ (m_cap): Require at least one argument from user.
+
+2005-04-01 Michael Poole <mdpoole@troilus.org>
+
+ * include/s_conf.h (SMAP_FAST): Define.
+ (s_map): Add 'flags' field.
+
+ * ircd/ircd_lexer.l: Recognize 'FAST' token.
+
+ * ircd/ircd_parser.y (FAST): New token.
+ (pseudoitem): Add pseudoflags alternative.
+ (pseudoflags): New production, recognizing FAST token.
+
+ * ircd/parse.c (register_mapping): Set MFLG_SLOW conditionally.
+ Remove outdated comment.
+
+2005-04-01 Michael Poole <mdpoole@troilus.org>
+
+ * include/handlers.h (ms_privs): Declare.
+
+ * include/msg.h (TOK_PRIVS): Assign token.
+ (CMD_PRIVS): Define.
+
+ * ircd/m_privs.c: Add doxygen comments and replace the long
+ discussion of m_handler functions with an xref to it.
+ (mo_privs): Forward requests for non-local users
+ to their own server.
+ (ms_privs): Implement.
+
+ * ircd/parse.c (PRIVS): Dispatch to ms_privs when a server sends
+ the message.
+
+2005-03-30 Michael Poole <mdpoole@troilus.org>
+
+ * include/client.h (struct Client): Explain where cli_username
+ comes from.
+
+ * include/struct.h (struct User): Explain where this username
+ comes from, too
+
+ * ircd/ircd_res.c (timeout_resolver): Update parameter name in
+ Doxygen comment, too.
+
+ * ircd/s_misc.c (get_client_name): Reorganize to have less
+ indentation and behave like 2.10.11 when client is not idented.
+
+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