+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Kill): Document newly supported syntax.
+
+ * include/s_conf.h (DenyConf): Split realname mask into its own
+ field. Remove the unused DENY_FLAGS_{IP,REALNAME}.
+
+ * ircd/ircd_parser.y (Kill): Only require one of usermask,
+ hostmask, realmask to be set for a valid block.
+ (killitem): Add new production killusername.
+
+ * ircd/s_conf.c (conf_erase_deny_list): Free realmask field.
+ (find_kill): Rearrange slightly to clarify control flow.
+
+ * ircd/s_err.c (RPL_STATSKLINE): Stick usermask before hostmask,
+ so the old usermask field can be adopted for realname mask. Add
+ double quotes around the realmask field.
+
+ * ircd/s_stats.c (report_deny_list): Do so.
+ (stats_klines): Likewise.
+
+2005-04-17 Perry Lorier <isomer@undernet.org>
+
+ * tools/convert-conf.py: Fix lots of conversion problems with
+ oper privielges (now they are converted),
+ features (deprecated features commented out, most converted to
+ priviliges),
+ realname klines (also add host= lines)
+ quarintines (generate blocks for them),
+ connect blocks (don't generate empty port config lines)
+ etc...
+
+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/gline.c (do_gline): Fix typo when activating IP-based
+ G-lines.
+
+2005-04-16 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/class.c (free_class): Free default_umode field.
+
+ * ircd/ircd_parser.y (classblock): Free default_umode field before
+ overwriting it.
+
+ * ircd/s_conf.c (free_conf): Free username, origin_name, hub_limit
+ fields.
+ (find_kill): Realname Kill blocks no longer have $R at the start,
+ so do not skip over the first two characters of the mask.
+
+2005-04-15 Michael Poole <mdpoole@troilus.org>
+
+ * doc/example.conf (Operator): Properly qualify plaintext password.
+ (Quarantine): Document (new) syntax.
+
+ * ircd/ircd.c: Add <sys/time.h> to make <sys/resource.h> compile
+ correctly on BSDs.
+
+ * ircd/ircd_parser.y (qconf): Remove global variable.
+ (killuhost): Null terminate username when present.
+ (quarantineblock): Replace with a syntax that works.
+
+ * ircd/s_stats.c: #include <querycmds.h> for UserStats.
+ (stats_server_verbose): Reinstate check for UserStats.
+
+2005-04-09 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/ircd.c: conditionally include sys/resource.h; otherwise,
+ RLIMIT_CORE will not be defined and so set_core_limit() will never
+ be defined, much less run.
+
+ * configure.in: add sys/resource.h to the list of headers to
+ search for
+
+ * configure: regenerate configure
+
+ * config.h.in: rerun autoheader to add HAVE_SYS_RESOURCE_H to
+ config.h.in
+
+2005-04-08 Michael Poole <mdpoole@troilus.org>
+
+ * include/s_conf.h (conf_debug_iline): Declare new function.
+
+ * ircd/ircd.c (dbg_client): New file-scoped variable.
+ (parse_command_line): Set it from the new -c option.
+ (main): If dbg_client is set during chkconf, use it.
+
+ * ircd/ircd_string.c (ircd_aton): Generate IPv4-mapped addresses,
+ not IPv4-compatible addresses, to match ipmask_parse().
+
+ * ircd/m_whowas.c (m_whowas): Split display of real host to a
+ separate line, in hopes of not confusing opers in the future.
+
+ * ircd/s_conf.c (conf_debug_iline): Implement new function.
+
+2005-04-06 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/m_burst.c (ms_burst): Clear channel manager bit when wiping
+ out locally opped and voiced channel members.
+
+2005-04-06 Michael Poole <mdpoole@troilus.org>
+
+ * include/numeric.h (RPL_APASSWARN): Replace with three distinct
+ values.
+ (ERR_NOMANAGER_LONG): Assign new numeric.
+ (ERR_NOMANAGER_SHORT): Assign new numeric.
+
+ * ircd/channel.c (parse_mode_upass): Adapt to new formats for
+ ERR_NOTMANAGER separation.
+ (parse_mode_apass): Likewise. Also adapt to RPL_APASSWARN split.
+
+ * ircd/s_err.c (RPL_APASSWARN): Replace with three message
+ strings, to avoid embedding long message strings in the logic
+ implementation.
+ (ERR_NOTMANAGER): Likewise (but not the same strings).
+
+2005-04-06 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_parser.y (clientblock): Use the password field.
+
+ * ircd/s_user.c (register_user): Allow aconf->password to be a
+ single digit, since per-IP limit is now in a separate field.
+
+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>