+2002-02-22 Reed Loden <reed@redmagnet.com>
+
+ * ircd/m_connect.c: Removed an extra : in remote connect message.
+
+2002-02-19 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/whocmds.c: Local opers should also be able to
+ see servernames in /who
+
+ * ircd/gline.c: Fix core bug in gline_find()
+
+ * ircd/m_kill.c: Bug fix for HIS_KILLWHO
+
+2002-02-19 John Buttery <john@io.com>
+
+ * ircd/ircd.c: Updated "No such file" error message.
+
+2002-02-18 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/m_kill.c: Changed m_kill() to do_kill() because its not
+ a message handler, and some general cleanups and bug fixes.
+
+ * include/ircd_policy.h: Added HEAD_IN_SAND_KILLWHO for hiding
+ kill source.
+
+2002-02-16 Tim Vogelsang <net@astrolink.org>
+
+ * ircd/m_kill.c: added a new static function, m_kill, which
+ performs the actual kill.
+
+2002-02-14 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * Added support for LIST STOP
+
+2002-02-13 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * Merged changes from u2_10_11 to main branch.
+
+2002-02-08 Tim Vogelsang <net@astrolink.org>
+
+ * ircd/m_quit.c: don't prefix user quits with "Quit:" unless a
+ reason is supplied.
+
+2002-02-06 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/s_auth.c (read_auth_reply): left out an = in an
+ assertion--shouldn't have had any impact, though
+
+ * ircd/Makefile.in: add a hook for using ringlog; run make depend
+
+ * tools/ringlog.c: for the heck of it, add a comment including
+ rules for /etc/magic
+
+2002-02-05 Kevin L Mitchell <klmitch@mit.edu>
+
+ * tools/ringlog.pl: perl script to take output from ringlog and
+ pass it to addr2line to get function, file, and line number
+ information
+
+ * tools/ringlog.c: program/object to help in building function
+ trace information
+
+2002-02-04 Alex Badea <vampire@p16.pub.ro>
+
+ * include/ircd_features.h: added new feature MOTD_BANNER
+
+ * ircd/ircd_features.c: added new feature MOTD_BANNER
+
+ * ircd/motd.c (motd_signon): send a one-line banner from
+ FEAT_MOTD_BANNER if it's not NULL and FEAT_NODEFAULTMOTD
+ is set
+
+ * doc/example.conf: default value for MOTD_BANNER feature
+
+ * doc/readme.features: documented the MOTD_BANNER feature
+
+2002-02-04 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/s_debug.c (debug_serveropts): remove deprecated CHROOTDIR
+ check; added character 'A' to the server options string to
+ indicate when assertion checking is enabled
+
+2002-02-03 Kevin L Mitchell <klmitch@mit.edu>
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/engine_kqueue.c (set_or_clear): don't generate an ET_ERROR
+ event if the errno is EBADF, since the caller probably already
+ knows about it and just hasn't gotten around to processing it yet
+
+ * ircd/ircd_events.c: set the GEN_ERROR flag if an ET_ERROR event
+ is generated; don't process socket_events() or socket_state() if
+ an error occurred; add GEN_ERROR to list of flags in gen_flags()
+
+ * include/ircd_events.h: define new GEN_ERROR flag; add a macro to
+ clear it
+
+2002-02-01 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/channel.c: change make_nick_user_{ip,host} to not use a
+ static buffer--instead, a buffer of the right size (NUH_BUFSIZE or
+ NUI_BUFSIZE--I confess they're not well-named) is allocated by the
+ caller
+
+2002-02-02 Alex Badea <vampire@p16.pub.ro>
+
+ * include/client.h: added user flag FLAGS_HIDDENHOST
+
+ * include/ircd_features.h: added FEAT_HOST_HIDING and
+ FEAT_HIDDEN_HOST
+
+ * include/numeric.h: defined numeric 338 (RPL_WHOISACTUALLY)
+ to report real hostnames and IPs to opers
+
+ * include/s_user.h: exported hide_hostmask()
+
+ * include/send.h: changed sendcmdto_channel_butserv to
+ sendcmdto_channel_butserv_butone; ditto for
+ sendcmdto_common_channels
+
+ * include/struct.h: added realhost to struct User
+
+ * include/whowas.h: added realhost to struct Whowas
+
+ * ircd/channel.c: match bans against both real and hidden
+ hostmasks; moved some calls to use sendcmdto_*_butone
+
+ * ircd/gline.c: match glines agains real host
+
+ * ircd/ircd_features.c: added FEAT_HOST_HIDING and
+ FEAT_HIDDEN_HOST
+
+ * ircd/m_account.c: call hide_hostmask() for possibly
+ hiding the user's host
+
+ * ircd/m_burst.c: moved some calls to use sendcmdto_*_butone
+
+ * ircd/m_topic.c: moved some calls to use sendcmdto_*_butone
+
+ * ircd/m_userip.c: report IP 127.0.0.1 if the user has a hidden
+ host
+
+ * ircd/m_who.c: match real hosts, if the query comes from an oper
+
+ * ircd/m_whois.c: report real hostname and IP to opers
+
+ * ircd/m_whowas.c: report real hostname to opers
+
+ * ircd/s_err.c: added user mode 'x' to the list of supported user
+ modes in RPL_MYINFO (004); added RPL_WHOISACTUALLY for reporting
+ real hostnames to opers
+
+ * ircd/s_misc.c: moved some calls to use sendcmdto_*_butone
+
+ * ircd/s_serv.c: send real hostname to servers
+
+ * ircd/s_user.c: send real hostname to servers; added processing
+ of usermode 'x'; added hide_hostmask() which actually does the work
+ of hiding a user's host; moved some calls to use sendcmdto_*_butone
+
+ * ircd/send.c: changed sendcmdto_channel_butserv to
+ sendcmdto_channel_butserv_butone; ditto for
+ sendcmdto_common_channels
+
+ * ircd/whocmds.c: extra letter 'x' in WHO reply if the user has
+ it's host hidden
+
+ * ircd/whowas.c: if needed, store a user's real host so we can
+ report it to opers later
+
+ * doc/readme.features: documented HOST_HIDING and HIDDEN_HOST
+ features
+
+ * doc/example.conf: default values for HOST_HIDING and
+ HIDDEN_HOST features
+
+2002-02-01 Tim Vogelsang <net@astrolink.org>
+
+ * ircd/send.c (sendwallto_group_butone): don't sent wallops to
+ ordinary users
+
+2002-01-28 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/jupe.c (jupe_activate): remove a bogus assertion
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/s_err.c: added new channel mode 'r' to list of supported
+ channel modes in RPL_MYINFO (004); migrated RPL_USERIP to use
+ numeric 340 instead of 307; add ERR_NEEDREGGEDNICK (477) for
+ informing users why they can't join a +r channel
+
+ * ircd/m_clearmode.c (do_clearmode): add support for MODE_REGONLY
+ (+r) to do_clearmode(); note that it is *not* being added to the
+ default clearmode mask!
+
+ * ircd/channel.c: don't allow non-+r users to send messages to +r
+ channels from off the channel; add support for MODE_REGONLY (+r)
+ to channel_modes(); don't allow non-+r users to join +r channels
+ without an invite; add support for MODE_REGONLY to the modebuf_*()
+ family of functions (changes in modebuf_flush_int(),
+ modebuf_mode(), and modebuf_extract()); add support for
+ MODE_REGONLY to mode_parse()
+
+ * include/supported.h (FEATURESVALUES2): added the new channel
+ mode 'r' to the list of supported channel modes
+
+ * include/numeric.h: move RPL_USERIP to 340 to avoid the 307
+ conflict; add ERR_NEEDREGGEDNICK (477) for the new +r channels
+
+ * include/channel.h: remove unused MODE_SENDTS; add new
+ MODE_REGONLY
+
+ * ircd/s_bsd.c (read_packet): remove call to timer_verify()
+
+ * ircd/list.c: remove calls to timer_verify() from
+ alloc_connection() and dealloc_connection()
+
+ * ircd/ircd_events.c: turn off timer_verify(); remove calls to it
+ from timer_run()
+
+2002-01-27 Kevin L Mitchell <klmitch@mit.edu>
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/ircd_events.c (timer_run): why did I ever use a next
+ pointer when the algorithm guarantees that the head pointer will
+ always be the next pointer?
+
+2002-01-26 Kevin L Mitchell <klmitch@mit.edu>
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/s_bsd.c (read_packet): call timer_verify() after adding the
+ client process timer to catch any list corruption
+
+ * ircd/list.c: surround alloc_connection() and
+ dealloc_connection() with calls to timer_verify()
+
+ * ircd/ircd_events.c: add sledgehammer known as timer_verify() to
+ verify the timer list's structure; call it around timer_run()
+
+2002-01-22 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/send.c (sendcmdto_common_channels): don't send message to a
+ channel that the source is a zombie on
+
+2002-01-13 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/ircd_events.c (timer_enqueue): one more assertion--make
+ sure a timer has the ACTIVE flag set before enqueueing the timer
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/list.c (dealloc_connection): assert that the process timer
+ has been removed from the timer queue before dealloc_connection()
+ is called
+
+2002-01-12 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/res.c: don't accept T_A when we're looking for T_PTR
+
+ * ircd/channel.c (modebuf_flush_int): nuke the code that would
+ send a HACK DESYNCH notice on a HACK(2)--it would be far too
+ chatty
+
+ * ircd/m_away.c (user_set_away): use AWAYLEN instead of TOPICLEN
+
+ * include/supported.h: add AWAYLEN to the list of supported
+ features
+
+ * include/ircd_defs.h: add AWAYLEN to specify the maximum length
+ of an away message
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/m_mode.c (m_mode): pass extra parameter to channel_modes()
+
+ * ircd/channel.c: pass a buflen parameter to channel_modes() for
+ pbuf--we were using sizeof(pbuf), which would always be
+ sizeof(char*) before; change send_channel_modes() to pass extra
+ parameter to channel_modes()
+
+ * include/channel.h: pass a buflen parameter to channel_modes()
+ for pbuf
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/uping.c (uping_start): initialize some timers
+
+ * ircd/s_bsd.c (read_packet): use new t_onqueue() macro to figure
+ out when we need to re-add the process timer
+
+ * ircd/s_auth.c (make_auth_request): initialize a timer
+
+ * ircd/res.c (init_resolver): initialize some timers
+
+ * ircd/list.c (alloc_connection): initialize the client process
+ timer
+
+ * ircd/ircd_events.c: add a function, timer_init(), to initialize
+ a struct Timer; recast timer_add() to catch when adding a marked
+ timer and not re-enqueue it--but mark it for re-enqueuing; update
+ timer_del() to turn off the GEN_READD flag and to ignore reference
+ counts when destroying the timer--we're using GEN_MARKED as an
+ ersatz referance count; changed timer_run() to work with the new
+ way of doing things; add GEN_ACTIVE and GEN_READD to gen_flags()'s
+ map[]
+
+ * ircd/ircd.c: initialize some timers
+
+ * ircd/engine_select.c (engine_loop): initialize a timer
+
+ * ircd/engine_poll.c (engine_loop): initialize a timer
+
+ * ircd/engine_kqueue.c (engine_loop): initialize a timer
+
+ * ircd/engine_devpoll.c (engine_loop): initialize a timer
+
+ * ircd/IPcheck.c (IPcheck_init): initialize a timer
+
+ * include/ircd_events.h: add GEN_READD flag for timers to indicate
+ that a timer must be readded; add t_onqueue() macro to check to
+ see if a timer is on the queue (this is a hack, though); added
+ timer_init() to initialize a struct Timer--we're no longer doing
+ the initialization in timer_add()
+
+2002-01-11 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/engine_devpoll.c (engine_loop): relocate an assertion to
+ prevent a core bug *in* the assertion
+
+ * doc/readme.features: document new POLLS_PER_LOOP feature; change
+ documentation to reflect that OPER_SET now defaults to FALSE
+
+ * doc/p10.html: documented the new ACCOUNT stuff
+
+ * doc/example.conf: document new POLLS_PER_LOOP default; change
+ default for OPER_SET
+
+ * RELEASE.NOTES: changed documentation to reflect the fact that
+ assertions are now enabled by default and do not cause memory
+ leaks
+
+ * ircd/res.c (make_cache): removed a bogus assertion we probably
+ never caught because assertions haven't been enabled on production
+ servers for any length of time before
+
+ * ircd/engine_devpoll.c (engine_loop): ditto for POLLS_PER_DEVPOLL
+
+ * ircd/engine_kqueue.c (engine_loop): stupid me forgot one
+ instance of POLLS_PER_KQUEUE
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/s_bsd.c (client_timer_callback): only clear the
+ FREEFLAG_TIMER flag when the timer is being destroyed
+
+ * ircd/ircd_features.c: create a new feature, POLLS_PER_LOOP, and
+ default it to 200; turn OPER_SET off by default
+
+ * ircd/engine_kqueue.c: dynamically allocate and reallocate the
+ array of events to obtain from the kernel
+
+ * ircd/engine_devpoll.c: dynamically allocate and reallocate the
+ array of events to obtain from the kernel
+
+ * include/ircd_features.h: add a new feature for tuning how many
+ events to get from the kernel, for engines that support that
+
+ * ircd/Makefile.in: re-run make depend to correct dependancies
+
+ * ircd/m_who.c: remove unneeded inclusion of list.h
+
+ * ircd/ircd_events.c: remove unneeded inclusion of list.h
+
+ * ircd/whocmds.c (do_who): hide server name in /who unless
+ requester is an operator; simplify hop count insertion
+
+ * ircd/s_misc.c (exit_one_client): make sure client's snomask is
+ cleared
+
+ * ircd/parse.c: use mo_version and mo_admin when opers do /version
+ or /admin
+
+ * ircd/m_whowas.c (m_whowas): use HEAD_IN_SAND_SERVERNAME instead
+ of the static string "*.undernet.org"
+
+ * ircd/m_version.c: only let ordinary users get version
+ information for the server they are on
+
+ * ircd/m_admin.c: only let ordinary users get admin information
+ for the server they are on
+
+ * ircd/channel.c (client_can_send_to_channel): check is_banned()
+ before letting the client speak on a channel s/he is not on
+
+ * include/supported.h: add NETWORK to feature list
+
+ * include/handlers.h: declare mo_admin() and mo_version()
+
+2002-01-10 Kevin L Mitchell <klmitch@mit.edu>
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/s_debug.c (count_memory): conditionalize on MDEBUG instead
+ of !NDEBUG
+
+ * ircd/m_stats.c: conditionalize /stats M on MDEBUG instead of
+ !NDEBUG
+
+ * ircd/ircd_alloc.c: conditionalize on MDEBUG instead of on
+ !NDEBUG
+
+ * ircd/fda.c: conditionalize on MDEBUG instead of on !NDEBUG
+
+ * ircd/Makefile.in: run make depend on chkconf.c as well
+
+ * include/ircd_alloc.h: instead of conditionalizing on !NDEBUG,
+ conditionalize on MDEBUG
+
+ * include/fda.h: instead of conditionalizing on !NDEBUG,
+ conditionalize on MDEBUG
+
+ * configure: rebuild configure script
+
+ * configure.in: enable assertion checking by default, since we
+ have now decoupled memory debugging from the NDEBUG macro
+
+ * ircd/s_user.c (set_nick_name): remove calls to
+ verify_client_list()
+
+ * ircd/s_misc.c (exit_one_client): remove calls to
+ verify_client_list()
+
+ * ircd/s_conf.c (rehash): remove calls to verify_client_list()
+
+ * ircd/m_who.c (m_who): remove calls to verify_client_list()
+
+ * ircd/list.c: remove calls to verify_client_list(); keep
+ verify_client_list() around just in case we ever need it again,
+ but never compile it in
+
+ * ircd/ircd_events.c (event_execute): remove calls to
+ verify_client_list()
+
+ * ircd/client.c (client_get_ping): remove calls to
+ verify_client_list()
+
+ * include/list.h (send_listinfo): remove temporary debugging
+ function verify_client_list()
+
+ * ircd/uping.c: don't die if the event type is ET_ERROR in socket
+ callback functions
+
+ * ircd/res.c (res_callback): don't die if the event type is
+ ET_ERROR
+
+ * ircd/listener.c (accept_connection): don't die if the event type
+ is ET_ERROR
+
+2002-01-09 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/s_user.c (set_nick_name): bracket call to
+ add_client_to_list() with calls to verify_client_list()
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel (again)
+
+ * ircd/list.c (verify_client_list): add a probabilistic loop
+ detector: for every client added, there is a 2% probability that
+ it will be used to replace the value of sentinel; if at any time,
+ sentinel is found again, we know we're in a loop
+
+ * ircd/ircd_events.c (event_execute): add verify_client_list()
+ calls wrapping event_execute; at the very least, I'll figure out
+ what event the corruption occurred in
+
+ * ircd/list.c: moved verify_client_list() to try to keep it from
+ being inlined
+
+ * ircd/Makefile.in (version.c): version.c wasn't dependant on
+ version.h and patchlevel.h, like it was supposed to be
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/s_auth.c (destroy_auth_request): overload send_reports
+ argument to also indicate whether or not to call
+ release_auth_client() and thereby enter the client into the linked
+ list
+
+ * ircd/engine_devpoll.c (engine_loop): remove bogus assertion
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+ * ircd/list.c (free_client): verify that destroy_auth_request()
+ didn't automagically re-add us to the list; we might have to think
+ about this interaction more carefully, actually
+
+ * ircd/s_auth.c (auth_kill_client): zero the auth pointer before
+ calling free_client(); otherwise, free_client() will try to free
+ the auth by calling destroy_auth_request(), which will call
+ add_client_to_list()
+
+ * ircd/s_misc.c (exit_one_client): liberally sprinkle calls to
+ verify_client_list() around to catch any corruption that might
+ occur here
+
+ * ircd/s_conf.c (rehash): liberally sprinkle calls to
+ verify_client_list() here, since this is about the only routine I
+ can think of that could cause the "core on kill -HUP" bug
+
+ * ircd/m_who.c: sprinkle calls to verify_client_list() around
+ liberally, since we've seen crashes here; temporarily include the
+ otherwise unneeded list.h header
+
+ * ircd/list.c: sprinkle calls to verify_client_list() around quite
+ liberally; add debugging asserts to list manipulation functions to
+ catch strange settings for next and prev pointers; define
+ verify_client_list(), which walks the client list and verifies
+ that everything is as it's supposed to be
+
+ * ircd/client.c: wrap client_get_ping with calls to
+ verify_client_list() to see if that's where we're dying
+
+ * include/patchlevel.h (PATCHLEVEL): bump to 03
+
+ * include/list.h: declare verify_client_list() if DEBUGMODE
+ enabled; otherwise, define it to be empty
+
+2002-01-08 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/m_quit.c (m_quit): remove an unused variable
+
+ * include/patchlevel.h (PATCHLEVEL): bump PATCHLEVEL to 2
+
+ * ircd/s_user.c: when building the user mode to send to the user,
+ don't include +r; add an extra set of parens to squelch a warning
+
+ * ircd/m_quit.c (m_quit): use exit_client_msg()
+
+ * include/patchlevel.h (PATCHLEVEL): bump patch level, so we can
+ keep track of who's running what version
+
+ * ircd/m_squit.c (ms_squit): remove debugging calls to
+ protocol_violation()
+
+ * Makefile.in: change MAKEFILES to IRCD_MAKEFILES to work around a
+ new gmake "feature" (pull-up from trunk)
+
+ * ircd/m_quit.c (m_quit): prefix user quits with "Quit:" (pull-up
+ from trunk)
+
+2002-01-07 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/s_user.c: add FLAGS_ACCOUNT, represented as 'r', to the
+ list of user modes; process account name as part of user mode in
+ NICK decoding (set_nick_name()); add account name to usermode when
+ building the usermode to incorporate in outgoing NICK messages
+
+ * ircd/s_err.c: add RPL_WHOISACCOUNT for reporting what account a
+ user is logged in to
+
+ * ircd/parse.c: define the new ACCOUNT command, usable only by
+ servers and ignored by everything else
+
+ * ircd/m_whois.c: report what account name is associated with a
+ user, if any
+
+ * ircd/m_account.c: implement the ACCOUNT command
+
+ * ircd/Makefile.in: add m_account.c to the list of sources; ran
+ make depend
+
+ * include/struct.h: add an account field to struct User
+
+ * include/numeric.h: add a reply, RPL_WHOISACCOUNT, for reporting
+ what username a user is logged in under
+
+ * include/msg.h: add ACCOUNT command and token (AC)
+
+ * include/ircd_defs.h: define ACCOUNTLEN to be 12--this matches
+ the maximum length of a username for X
+
+ * include/handlers.h: add declaration for ms_account()
+
+ * include/client.h: add FLAGS_ACCOUNT to flag when a user account
+ name has been set; added FLAGS_ACCOUNT to SEND_UMODES; added
+ IsAccount() and SetAccount() to manipulate the flag
+
+ * ircd/m_squit.c (ms_squit): if we call FindNServer() on a server
+ name like "Amsterdam2.NL.EU.undernet.org", we get the struct
+ Client for the server with numeric "Am", which happens to be
+ stockholm! To fix this, we look up the full name *first*; if that
+ doesn't get it, *then* we look up by numeric.
+
+2001-12-24 Perry Lorier <isomer@coders.net>
+ * ircd/m_server.c: cleanups, maybe this will make the bug easier
+ to find.
+
+ * ircd/m_stats.c: display maximum number of connects in an I:
+
+2001-11-22 Perry Lorier <isomer@coders.net>
+ * ircd/m_squit.c: Bug fix in squit
+
+2001-11-03 Greg Sikorski <gte@atomicrevs.demon.co.uk>
+ * ircd/parse.c, include/handlers.h: Give remote whois the correct
+ handler.
+
+2001-11-01 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/send.c: some minor white-space fiddling; recast selector
+ test in sendwallto_group_butone() to remove a warning regarding
+ putting & within parentheses
+
+ * ircd/m_create.c (ms_create): use time_t instead of int as a
+ declaration for rate
+
+ * ircd/ircd_reply.c (protocol_violation): it's supposed to be
+ WALL_DESYNCH, not CMD_DESYNCH, if I understand things right--no
+ wonder we weren't seeing any protocol violations!
+
+ * include/send.h: include time.h for time_t; move WALL_* closer to
+ the function they're used in; some white-space fiddling; add
+ declaration of sendto_opmask_butone_ratelimited()
+
+ * ircd/m_squit.c (ms_squit): add protocol_violation() calls in the
+ cases where we ignore a squit, so we aren't taken by surprise, at
+ least...
+
+ * ircd/m_create.c (ms_create): Display origin server, not origin
+ user
+
+ * ircd/m_create.c (ms_create): Fix "Timestamp drift" server notice
+
+2001-10-31 Perry Lorier <isomer@coders.net>
+ * include/m_ping.c: Forward port ping bug
+
+2001-10-31 Perry Lorier <isomer@coders.net>
+ * include/patchlevel.h: We're beta now
+
+2001-10-31 Perry Lorier <isomer@coders.net>
+ * ircd/s_user.c: fixed hunt_server
+
+2001-09-21 Perry Lorier <isomer@coders.net>
+ * ircd/send.c and various: replace sendcmdto_flag_butone with
+ sendwallto_group_butone
+
+2001-09-21 Vampire- <unknown>
+ * ircd/ircd_string.c: unique_name_vector round II.
+
+2001-09-21 mbuna <mbuna@undernet.org>
+ * configure.in: Add support for darwin
+
+2001-09-21 Perry Lorier <isomer@coders.net>
+ * ircd/s_user.c I'm stupid, s/acptr/from/, Hektik pointed it out
+
+2001-09-20 Perry Lorier <isomer@coders.net>
+
+ * Pullups from 2.10.10.pl16
+ * Added some warnings, and the concept of rate limited snotices
+
+2001-08-31 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/channel.c: use "%u" to format limit arguments; use
+ strtoul() to process limit arguments in a /mode command--note:
+ most clients seem to truncate the integer, probably because
+ they're using atoi, and perhaps signed ints
+
+2001-08-17 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/numnicks.c: include stdlib.h for exit()
+
+ * ircd/ircd_log.c: include stdlib.h for exit()
+
+ * ircd/ircd_events.c: include stdlib.h for exit()
+
+ * ircd/s_stats.c: remove description of /stats v, since it's gone
+
+ * ircd/m_wallops.c (mo_wallops): add "*" to the beginning of
+ /wallops to distinguish wallops from wallusers
+
+ * ircd/m_error.c (mr_error): ignore ERROR from clients that aren't
+ in the "handshake" or "connecting" states--I think the latter will
+ never happen, but...
+
+ * doc/Authors: apply delete's Authors patch
+
+ * RELEASE.NOTES: rewrite RELEASE.NOTES, basing it a little on
+ Braden's version
+
+ * README: rewrite README
+
+2001-07-31 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/s_serv.c (server_estab): remove unused variable split
+
+ * ircd/parse.c: add mr_error to the parse table
+
+ * ircd/m_error.c (mr_error): add mr_error() to handle ERRORs from
+ unregistered connections--if IsUserPort() is true, the ERROR is
+ ignored, otherwise, the message is saved
+
+2001-07-28 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/m_kill.c (ms_kill): another minor typo *sigh*
+
+ * ircd/s_user.c (send_supported): oops, minor typo...
+
+ * ircd/s_user.c: implement send_supported() to send two ISUPPORT
+ messages containing our feature buffers; make register_user() use
+ send_supported()
+
+ * ircd/s_misc.c (exit_client): make sure not to give away a remote
+ server in the ERROR message sent to the client; if the killer is a
+ server, we substitute our name in its place
+
+ * ircd/m_version.c (m_version): use send_supported() to send the
+ ISUPPORT values to the user
+
+ * ircd/m_nick.c: shave nick collision kills here a bit, too, for
+ the same reasons as for m_kill.c
+
+ * ircd/m_kill.c: shave kills a bit so that the results look
+ exactly the same no matter where you are; if we didn't do this, it
+ would be possible to map the network by looking at the differences
+ between kills originating under various circumstances
+
+ * include/supported.h: split the features into two, so as to not
+ bust the parameter count when sending the features list
+
+ * include/s_user.h: declare new send_supported() function to send
+ the ISUPPORT information
+
2001-07-27 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/s_bsd.c: disable IP (*not* TCP) options to prevent
* include/channel.h: added definition of ModeBuf, modebuf_*
manipulation functions, and a couple of helper macros
-2000-03-24 Thomas Helvey <tomh@inxpress.net>
- * numicks.c: convert extended numerics to use original mask version
- * numnicks.h: ""
- * s_user.c:
-2000-03-23 Thomas Helvey <tomh@inxpress.net>
- * Merge in changes from production
-2000-03-22 Thomas Helvey <tomh@inxpress.net>
- * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
- * rfc1459.unet: Add Maniac's documentation for /names 0
-* Fix misc. jupe bugs that somehow made it into the tree
-* Escape /names 0 to mean /names --Maniac
-* Don't core when server asks for info --Maniac
-* Add Kev's jupe patch --Bleep
-* Add Maniacs squit patch --Bleep
-* Merge in u2_10_10_beta07 changes --Bleep
-* Merge in u2_10_10_beta06 changes --Bleep
-* Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
-#-----------------------------------------------------------------------------