+2003-06-22 Bas Steendijk <steendijk@xs4all.nl>
+
+ * include/ircd_features.h, include/supported.h, ircd/ircd_features.c,
+ ircd/ircd_features.c, ircu2.10/ircd/m_join.c, doc/example.conf:
+ Make ability to create local channels a feature which can be disabled.
+
+2003-06-22 Bas Steendijk <steendijk@xs4all.nl>
+
+ * include/ircd_features.h, ircd/channel.c, ircd/ircd_features.c,
+ ircd/m_kick.c, doc/example.conf: Added OPLEVELS feature, which
+ makes it possible to disable the +Au/oplevels functions.
+
+2003-06-17 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/res_adns.c: included sys/types.h, for non-Linux
+ headers
+
+2003-03-06 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * libs/dbprim: database primitives library, including
+ flexible linked lists, auto-resizing hash tables, and sparse
+ matrices. Has a test suite for everything but portions of
+ the sparse matrix routines (I'm lazy; someone help me write
+ them!). Documentation generated by doxygen--feel free to
+ critique, suggest phrasing improvements, etc.
+
+2003-01-22 Kevin L. Mitchell <klmitch@mit.edu>
+ * libs: put third-party libraries in this subdirectory.
+ Started by copying adns into it--will fix the rest and remove
+ the top-level copy later.
+
+2003-01-14 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/m_settime.c: Fixed a minor format string issue.
+
+2003-01-12 Thomas Helvey <tom.helvey@cox.net>
+ * adns/src/check.c, adns/src/transmit.c, ircd/m_opmode.c,
+ ircd/motd.c, ircd/s_user.c: Cleanup warnings, fix precedence
+ bugs in transmit.c and m_opmode.c.
+
+2003-01-12 Thomas Helvey <tom.helvey@cox.net>
+ * include/class.h, include/ircd_string.h, ircd/class.c,
+ ircd/gline.c, ircd_string.c: Fix undefined order
+ of evaluation bug in gline.c, add general purpose hasher for
+ conf entries.
+
+2003-01-11 Thomas Helvey <tom.helvey@cox.net>
+ * include/channel.h, include/ircd_alloc.h, ircd/channel.c,
+ ircd/client.c, ircd/gline.c, ircd/ircd_alloc.c,
+ ircd/ircd_events.c, ircd/ircd_log.c, ircd/ircd_parser.y,
+ ircd/ircd_snprintf.c, ircd/listener.c, ircd/m_nick.c,
+ ircd/m_opmode.c, ircd/m_whois.c, ircd/motd.c,
+ ircd/s_auth.c, ircd/s_bsd.c, ircd/uping.c: Server compiles
+ with g++ again, type safety, const correctness fixes,
+ remove C++ keywords again :/
+
+2003-01-11 Thomas Helvey <tom.helvey@cox.net>
+ * ircd/client.c, ircd/ircd_feature.c: Bugfix, the feature
+ table data was in a different order than the feature data
+ structure, which resulted in a wild index being used in
+ feature_bool. The feature_bool function didn't check it's
+ index before indexing the features array resulting in
+ a core dump on /oper.
+
+2003-01-10 Thomas Helvey <tom.helvey@cox.net>
+ * include/client.h, include/res.h, include/s_bsd.h,
+ ircd/ircd.c, ircd/list.c ircd/m_connect.c, ircd/res_adns.c,
+ ircd/res_libresolv.c, ircd/s_auth.c, ircd/s_bsd.c, ircd/s_conf.c:
+ Remove resolver cache wart, change hostent representation, cleanup
+ resolver clients.
+
+2003-01-10 Thomas Helvey <tom.helvey@cox.net>
+ * ircd/map.c, ircd/Makefile.in, include/map.h: Remove
+ HEAD_IN_SAND macros to get server to build, rebuild dependencies.
+
+2003-01-08 Fredrik Soderblom <froo@quakenet.org>
+ * ircd/s_err.c, ircd/s_user.c (hide_hostmask): Simplify
+ RPL_HOSTHIDDEN and the use of it.
+
+2003-01-07 Kevin L Mitchell <klmitch@mit.edu>
+
+ * BUGS: removed from distribution
+
+ * ChangeLog.07: moved into doc/history
+
+ * ChangeLog.10: moved into doc/history
+
+ * INSTALL: pulled up from u2.10.11.04
+
+ * README: pulled up from u2.10.11.04
+
+ * README.FreeBSD: pulled up from u2.10.11.04
+
+ * README.Solaris: pulled up from u2.10.11.04
+
+ * RELEASE.NOTES: add sysctl note from u2.10.11.04
+
+ * TODO: removed from distribution
+
+ * configure.in: add extra check for res_mkquery; remove
+ --disable-headinsand since it no longer has any effect; pull up
+ "Enable" vs. "Disable" changes from u2.10.11.04
+
+ * doc/readme.asll: pulled up from u2.10.11.04
+
+ * doc/readme.features: pull up missing documentation, including a
+ couple of corrections
+
+ * doc/readme.log: correct text to read FACILITY instead of SYSLOG
+ in the documentation for configuring syslog facility
+
+ * include/channel.h: declare IsInvited()
+
+ * include/handlers.h: do some minor reorderings
+
+ * include/ircd_defs.h: remove deprecated NETWORK and URL_CLIENTS
+ #define's
+
+ * include/ircd_policy.h: removed from the distribution
+
+ * include/jupe.h: declare jupe_memory_count()
+
+ * include/msgq.h: remove MsgCounts structure
+
+ * include/numeric.h: add a blank line after RPL_STATSQLINE; add
+ RPL_HOSTHIDDEN
+
+ * include/s_stats.h: include ircd_features.h for definition of the
+ enum; remove extraneous declarations
+
+ * ircd/Makefile.in: add LDFLAGS to table_gen
+
+ * ircd/engine_poll.c: remove commented-out assertion
+
+ * ircd/ircd.c: include s_stats.h and call stats_init()
+
+ * ircd/ircd_features.c: feature names have to be case-sensitive
+ because of some of the HIS features
+
+ * ircd/ircd_relay.c: reorder includes
+
+ * ircd/m_account.c: include string.h for strlen()
+
+ * ircd/m_clearmode.c: remove extraneous clean_channelname(); make
+ sure to refer to chname, not parv[1]
+
+ * ircd/m_create.c: remove the broken code that squits servers that
+ are >5 minutes fast; fix "badop || CHFL_CHANOP" bug that caused op
+ desyncs
+
+ * ircd/m_gline.c: if it's a server, force the gline; don't
+ gline_find() before determining if the oper had the privilege
+
+ * ircd/m_kick.c: kicks by servers should appear to be from the
+ local server thanks to HIS
+
+ * ircd/m_lusers.c: needs ircd_features.h, not ircd_policy.h
+
+ * ircd/m_map.c: needs ircd_features.h, not ircd_policy.h
+
+ * ircd/m_nick.c: added an assertion and some explanatory comments
+ pulled up from u2.10.11.04
+
+ * ircd/m_opmode.c: no longer requiring oper to be on the channel;
+ search for quarantines before allowing ops
+
+ * ircd/m_privmsg.c: one character typo that probably means nothing
+
+ * ircd/m_settime.c: add back comments I left in the code
+
+ * ircd/m_squit.c: remove protocol_violation() notices
+
+ * ircd/m_userhost.c: return realhost if user is an oper
+
+ * ircd/m_wallvoices.c: only m_wallvoices() should add a +
+
+ * ircd/m_who.c: add handling for the 'a' field
+
+ * ircd/m_whois.c: correct a typo of FEAT_HIS_SERVERNAME for
+ FEAT_HIS_SERVERINFO
+
+ * ircd/s_bsd.c: close file descriptors 0, 1, and 2; pull up some
+ ancient bug fixes from the u2.10.11 branch
+
+ * ircd/s_debug.c: include gline.h, jupe.h, motd.h, and s_stats.h;
+ call motd_memory_count(), gline_memory_count(), and
+ jupe_memory_count() when reporting memory usage; add back a
+ comment regarding "DBuf caveats"
+
+ * ircd/s_err.c: add RPL_STATSQLINE, RPL_HOSTHIDDEN, and pull up
+ change to ERR_NOPRIVILEGES wording
+
+ * ircd/s_misc.c: include ircd_features.h and not ircd_policy.h
+
+ * ircd/s_stats.c: count from 0 and not 1 when initializing the
+ stats
+
+ * ircd/s_user.c: comment out assertion; remove extraneous
+ definition of FLAGS_HOST_HIDDEN; add in hikari's "your host is now
+ hidden" reply; don't detach oper confs unless sptr is not an oper
+
+ * ircd/table_gen.c: pull up change to NTL_CHPFX (removing +);
+ change channel name character range to be from '\041' (!) to
+ UCHAR_MAX
+
+ * ircd/whocmds.c: pull up fix to /who idle time from u2.10.11.04
+
+ * tools/linesync/linesync.conf: pull up from u2.10.11.04
+
+ * tools/linesync/linesync.sh: pull up from u2.10.11.04
+
+2003-01-07 Andrew Miller <a1kmm@mware.virtualave.net>
+ * almost everything: Forward ported numerous changes from .11 to .12
+
+2002-07-05 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/packet.c(connect_dopacket): Pass the job on to server_dopacket
+ when they become a server.
+ * ircd/s_bsd.c(read_packet): Check they are now a server *after* the
+ packet is sent.
+ * ircd/class.c(make_class): Fixed an assert to be more useful.
+
+2002-07-05 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/packet.c
+ * ircd/packet.h: (connect_dopacket): Made a dopacket function for
+ connecting links which sends the messages through the correct message
+ handler.
+ * ircd/s_bsd.c(read_packet): Put packets through the correct handler
+ for connecting links. Properly handle unknown links becoming
+ connecting or servers.
+
+2002-07-01 Andrew Miller <a1kmm@mware.virtualave.net>
+ * include/ircd_alloc.h (MyFree): Accept NULL pointers to do nothing
+ with, this is used quite a lot.
+ * ircd/class.c (make_class): Initialise the ref_count to 1 so that
+ we don't leak.
+ * ircd/class.c (add_class): When updating a class, free the old name
+ first to prevent leakage.
+ * ircd/class.c (class_delete_marked): Decrement the ref_count for the
+ class after it is removed from the linked list.
+ * ircd/ircd_parser.y: Changed a free to MyFree().
+ * ircd/ircd_parser.y: Removed a few debugging messages.
+
+2002-07-01 Andrew Miller <a1kmm@mware.virtualave.net>
+ * s_bsd.c (read_packet): Our daily addition to the list of entities to
+ treat as servers - Connecting servers.
+
+2002-07-01 Andrew Miller <a1kmm@mware.virtualave.net>
+ * doc/debug_memleak_gc.patch,
+ * include/ircd_ircd_alloc.h,
+ * include/memdebug.h,
+ * configure.in,
+ * ircd/Makefile.in,
+ * ircd/memdebug.c: added a Boehm's gc based leak detector to find leaks
+ and notify the operators.
+
+2002-06-29 Andrew Miller <a1kmm@mware.virtualave.net>
+
+ * ircd/s_bsd.c (read_packet): don't make handshaking servers go through
+ the dbufs.
+
+2002-06-18 Andrew Miller <a1kmm@mware.virtualave.net>
+
+ * ircd/s_bsd.c (read_packet): don't allow unregistered clients to flood
+ the server.
+
+2002-06-18 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/m_burst.c (ms_burst): kick local members if the channel
+ has a larger local TS and it's +i or +k remotely (anti net.ride)
+
+ * ircd/ircd_parser.y: fixed a bug that broke IP-based C:lines
+
+ * ircd/s_err.c: connection classes are now strings (RPL_STATSCLINE)
+
+ * include/s_conf.h: externalized lookup_confhost
+
+ * adns/Makefile.in: compilation-outside-source-tree fix
+
+2002-06-17 Alex Badea <vampire@p16.pub.ro>
+
+ * adns/*: added a slightly hacked copy of adns
+
+ * configure.in: added a --disable-adns switch if you want
+ to use the old libresolv res.c
+
+ * configure: ran autoconf
+
+ * ircd/res_libresolv.c: renamed from res.c
+
+ * ircd/res_adns.c: added adns resolver
+
+2002-06-17 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/ircd_parser.y: fixed 'Connect' block processing so now
+ you can actually connect to other servers
+
+2002-06-04 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/m_stats.c (report_servers_verbose): oops, fixed it so
+ it displays all servers, not just local connects
+
+2002-05-30 Jean-Edouard Babin <Jeb@jeb.com.fr>
+
+ * ircd/m_server.c (mr_server): fixed core bug on insufficient
+ arguments
+
+2002-05-26 Jeekay <jeekay@irc.planetarion.com>
+
+ * ircd/m_join.c (HasControlChars): fixed unsigned vs signed
+
+2002-05-26 Jeekay <jeekay@irc.planetarion.com>
+
+ * ircd/m_join.c (m_join,HasControlChars): check if a channel
+ name has any control chars (<=32) in it before allowing a
+ local user to join.
+
+2002-21-05 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/ircd_relay.c: stop an information leak about the
+ the network topography from relayed messages.
+
+2002-04-19 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/m_who.c (m_who): disallow non-opers to /who server.name
+
+2002-04-18 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/s_err.c (RPL_STATSILINE): connection classes are now
+ strings
+
+2002-04-17 beware <steendijk@tomaatnet.nl>
+
+ * m_whois.c (m_whois): disallow remote queries for non-existent
+ local users when originated by a non-oper
+
+2002-04-16 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/s_user.c (hunt_server_cmd): also send a "no such server"
+ reply if the servername contains a '*' and it doesn't exist
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+2002-04-16 beware <steendijk@tomaatnet.nl>
+
+ * ircd/m_whois.c: the previous patch broke whois, fixed it
+ another way
+
+ * ircd/m_admin.c: cleaned up m_admin too while we're here,
+ hunt_server_cmd can do all the work for us
+
+2002-04-15 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/m_stats.c: added verbose server reporting (/stats v
+ or /stats V for machine-readable format) (bugzilla bug 52)
+
+ * include/numeric.h: added RPL_STATSVERBOSE 236
+
+ * ircd/s_err.c: added RPL_STATSVERBOSE
+
+ * ircd/s_stats.c: added help for stats 'v'
+
+2002-04-15 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/class.c (get_client_class): fixed typo which caused
+ /trace (and perhaps motd) to core
+
+2002-04-15 beware <steendijk@tomaatnet.nl>
+
+ * ircd/m_whois.c: Fixed /whois servermask nomatch bug
+ where normal users could use the function to discover servers,
+ also the NOSUCHSERVER check code was missing.
+
+2002-04-14 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/ircd_parser.y: fixed cli_info(&me) not being set
+ from 'description' conf
+
+2002-04-13 Stephane Thiell <mbuna@undernet.org>
+
+ * ircd/m_whois.c: removed FindUser() in ms_whois to fix
+ remote whois relaying.
+
+ * ircd/class.c: removed unused (and duplicated) code
+ get_client_ping().
+
+ * include/class.h: removed unused function prototype.
+
+ * config.guess: upgraded with latest
+
+ * config.sub: upgraded with latest
+
+2002-04-12 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd-patch: report which files failed the dry run (so the
+ user may force the patch if the rejects are in less-than-vital
+ files, such as ChangeLog or documentation)
+
+2002-04-12 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/m_invite.c: don't propagate invites for local channels
+
+ * include/patchlevel.h (PATCHLEVEL): bump patchlevel
+
+2002-04-10 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/ircd.c: The last fix broke autoconnects completely.
+ Fixed it another way.
+
+2002-04-09 Brian Cline <clineb@cs.winthrop.edu>
+
+ * ircd/ircd.c (try_connections): To avoid problems with infinite event
+ loops, don't try connecting to servers whose connect frequency is 0.
+
+2002-04-10 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd/ircd_parser.y: fixed a "features" block parse bug
+
+ * tools/convert-conf.py: added a configuration file converter
+ from 2.10.11 to 2.10.12 format
+
+ * ircd-patch: added GPL information to top of file
+
+2002-04-09 Alex Badea <vampire@p16.pub.ro>
+
+ * configure.in: added a human-readable report of configured
+ options at the end of the configure process
+
+ * configure: regenerated with autoconf
+
+2002-04-08 Gavin Grieve <ggrieve@ihug.co.nz>
+
+ * include/supported.h: change CHARSET to CASEMAPPING after
+ discussions as to what would be the preferred name.
+
+2002-04-05 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/s_conf.c, ircd_parser.y, ircd_lexer.l: Add privilege
+ specification.
+ * Fix a minor parser bug that meant rehash didn't always
+ work correctly.
+
+2002-04-03 Alex Badea <vampire@p16.pub.ro>
+
+ * include/channel.h: fix compiler warnings (paratheses around &&)
+
+ * ircd/channel.c (modebuf_extract): fix compiler warnings
+ (uninitialized variables)
+
+ * ircd/Makefile.in: make ircd properly compile outside the
+ source tree
+
+2002-04-03 Alex Badea <vampire@p16.pub.ro>
+
+ * include/s_user.h: added a sptr parameter to InfoFormatter
+ function type
+
+ * ircd/m_who.c: don't match IPs for clients which have a hidden host,
+ except when the inquiring user is an oper
+
+ * ircd/whocmds.c: show the fake IP from FEAT_HIDDEN_IP if the
+ target has a hidden host, but show real IP to opers
+
+ * ircd/m_userip.c (userip_formatter): add sptr parameter; show the
+ fake IP from FEAT_HIDDEN_IP if the target has a hidden host, but
+ show real IP to opers
+
+ * ircd/m_userhost.c (userhost_formatter): add (unused) sptr parameter
+
+ * ircd/s_user.c (send_user_info): pass sptr to the formatting function
+
+ * include/ircd_features.h: new feature FEAT_HIDDEN_IP (stores which
+ fake IP to show for clients with a hidden host)
+
+ * ircd/ircd_features.c: new feature FEAT_HIDDEN_IP
+
+ * doc/example.conf: default value for FEAT_HIDDEN_IP
+
+ * doc/readme.features: documented FEAT_HIDDEN_IP
+
+2002-04-03 Andrew Miller <a1kmm@mware.virtualave.net>
+ * doc/example.conf: Cleaned up some comments that ended up in
+ strange places due to problems in the merge process.
+ * ircd/m_nick.c: Cleaned up ms_nick, and fixed a bug that
+ probably dates back to Jarkko code.
+
+2002-04-02 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/m_kill.c: let ms_kill() and mo_kill() seperate the message
+ from the path before calling do_kill(); add a msg argument to
+ do_kill() and use it in preference to comment; remove all that old
+ code that fiddled with the buf and the comment
+
+ * ircd/ircd_log.c (log_write_kill): add a seperate msg argument
+
+ * include/ircd_log.h: add a seperate msg argument to
+ log_write_kill()
+
+ * ircd/ircd.c: display event engine and MAXCONNECTIONS information
+
+2002-04-02 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd-patch: Automatically generate a version string from patches
+
+2002-04-02 Alex Badea <vampire@p16.pub.ro>
+
+ * ircd-patch: Test before doing anything dangerous, provide -f to
+ to it anyway. exit levels for easy scripting.
+
+2002-04-01 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/channel.c (joinbuf_join): don't add a channel to the list
+ in the joinbuf unless when we flush it, we empty the list
+
+2002-04-02 Andrew Miller <a1kmm@mware.virtualave.net>
+ * ircd/ircd_parser.y: Added ircd parser, lexer, to replace the
+ old configuration file format.
+ * ircd/ircd_lexer.l
+ * ircd/s_conf.c
+ * doc/example.conf
+
+2002-03-23 Bert Faes <bert.faes@pandora.be>
+
+ * s_misc.c made /trace reply always show the username
+
+2002-03-28 Kevin L Mitchell <klmitch@mit.edu>
+
+ * configure.in: use AC_CHECK_FUNCS to define HAVE_* macros; test
+ for setrlimit, getrusage, and times
+
+ * configure: rerun auto-conf
+
+ * config.h.in: rerun autoheader
+
+2002-03-27 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/m_burst.c (ms_burst): use MODEBUF_DEST_NOKEY to suppress
+ sending of the key to the channel
+
+ * ircd/channel.c (modebuf_flush_int): when processing keys, only
+ include the actual key in the mode sent to the channel if
+ MODEBUF_DEST_NOKEY is not set
+
+ * include/channel.h: needed more bits for MODEBUF_DEST_*,
+ especially when adding MODEBUF_DEST_NOKEY to force keys in the
+ BURST to be reported as "*" to the channel
+
+ * ircd/m_oper.c (m_oper): clear the new oper's sendq so it gets
+ inherited from the class associated with the O-line
+
+2002-03-25 Kevin L Mitchell <klmitch@mit.edu>
+
+ * ircd/s_user.c (set_nick_name): invalidate all ban valid caching
+ when a user changes his nickname so we can catch if he now matches
+ a ban
+
+2002-03-20 Reed Loden <reed@redmagnet.com>
+ * doc/example.conf: Added OPER_LIST_CHAN and LOCOP_LIST_CHAN.
+
+ * doc/readme.features: Added OPER_LIST_CHAN and LOCOP_LIST_CHAN.
+
+2002-03-20 LordLuke <lordluke@undernet.org>
+ * ircd/client.c: Add LOCOP_LIST_CHAN feature.
+
+ * ircd/ircd_features.h: Add LOCOP_LIST_CHAN feature.
+
+2002-03-19 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/m_links.c: Make /links behave like /map for head_in_sand.
+ cleaned up excess code.
+
+ * ircd/map.c: Added map_dump_links_head_in_sand() Made changes in
+ map_add() and map_update() for links changes.
+
+ * include/map.h: Added info and prot to struct Map
+
+ * include/ircd_defs.h: Added MAP_CACHE_TIME for length of time
+ servers are cached in MapList
+
+ * ircd/s_misc.c: changed #ifdef for map_update()
+
+ * ircd/m_server.c: changed #ifdef for map_update()
+
+ * include/ircd_policy.h: added NO_HEAD_IN_SAND for easier removal of
+ hiding features.
+
+ * configure.in: add --disable-headinsand
+
+ * configure: Ran autoconf
+
+ * ircd/m_stats.c: Fixed a bug in /stats i and made /stats i show
+ connect limits
+
+ * ircd/s_stats.c: Made /stats i report connect limits
+
+ * ircd/s_err.c: Modified RPL_STATSILINE to use %s instead of
+ "*" for the password field.
+
+2002-03-19 LordLuke <lordluke@undernet.org>
+
+ * include/channel.h: Allow opers to view +s channels in /list
+
+ * include/client.h: Add "PRIV_LIST_CHAN" oper privilege
+
+ * include/ircd_features.h: added "LIST_CHAN" feature
+
+ * ircd/channel.c: Allow opers to view +s channels in /list
+
+ * ircd/client.c: Add "PRIV_LIST_CHAN"
+
+ * ircd/ircd_features.c: Add "LIST_CHAN" feature
+
+2002-03-13 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/m_kill.c: Last of the last of the bug fixes (Thanks Spike).
+ Must be more careful when forward porting by hand...
+
+2002-03-13 Carlo Wood <run@alinoe.com>
+
+ * include/channel.h: CHFL_CHANNEL_MANAGER, new local
+ channel flag set when someone creates a channel or joins
+ using the Apass. IsChannelManager(), SetChannelManager():
+ macros to manipulate new channel flag.
+ channel_modes: Added new argument to avoid calling
+ find_member_link more often than needed.
+
+ * include/numeric.h: RPL_APASSWARN, ERR_NOTLOWEROPLEVEL,
+ ERR_NOTMANAGER, ERR_CHANSECURED, ERR_UPASSSET,
+ ERR_UPASSNOTSET: new numeric replies.
+
+ * ircd/channel.c: is_level0_op: removed.
+ member_can_send_to_channel: disallow channel manager
+ to talk. channel_modes: show upass to level0 ops.
+ mode_parse_upass: Only the channel manager is allowed
+ to change the upass. Only allow to set upass when apass
+ is also set. mode_parse_apass: Don't allow to change the
+ Apass if the channel is older than 48 hours. Only allow
+ to remove the apass when upass is not set. Send clear
+ warnings regarding the importance of apass.
+ mode_process_clients: Don't change the oplevel of an opped
+ member in a channel where upass is not set.
+
+ * ircd/destruct_event.c: exec_expired_destruct_events:
+ Bug fix: send DESTRUCT message when destructing a channel.
+
+ * ircd/m_destruct.c: ms_destruct: Bug fix: use self as
+ prefix for DESTRUCT message.
+
+ * ircd/m_join.c: m_join: Handle apass and upass.
+
+ * ircd/m_kick.c: m_kick: Don't allow to kick member with
+ a higher or equal op-level.
+
+ * ircd/m_mode.c: m_mode: Now pass member to channel_modes.
+ ms_mode: Allow server to do modes on channels with apass
+ set.
+
+ * ircd/s_err.c: RPL_APASSWARN, ERR_NOTLOWEROPLEVEL,
+ ERR_NOTMANAGER, ERR_CHANSECURED, ERR_UPASSSET,
+ ERR_UPASSNOTSET: new numeric replies.
+
+
+2002-03-10 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/m_kill.c: Last of the bug fixes for do_kill()
+
+ * ircd/list.c: Don't remove clients from the linked list
+ that aren't actually in the list.
+
+2002-03-08 Carlo Wood <run@alinoe.com>
+ * include/channel.h: Added CHFL_BURST_ALREADY_OPPED
+ and CHFL_BURST_ALREADY_VOICED.
+
+ * ircd/m_burst.c: Allow BURST outside net-burst
+ and take into account that users are already joined
+ to the channel in that case.
+
+ * ircd/m_destruct.c: Implementation of DESTRUCT
+ handling code.
+
+ * ircd/m_join.c: Set the channel creationtime to
+ the timestamp of a message when that timestamp is
+ smaller.
+2002-02-27 Reed Loden <reed@redmagnet.com>
+ * tools/crypter: Updated some variables, added another notice,
+ added CVS Id tag, and updated Perl location.
+
+ * tools/ringlog.c: Added IRC - Internet Relay Chat,
+ tools/ringlog.c
+
+ * tools/ringlog.pl: Added IRC - Internet Relay Chat,
+ tools/ringlog.pl
+
+ * tools/wrapper.c: Added IRC - Internet Relay Chat,
+ tools/wrapper.c
+
+ * tools/mkpasswd.c: Added CVS Id tag
+
+ * tools/sums: Updated to comply with sums being moved to tools/
+ and added CVS Id tag
+
+ * tools/README: Updated location of file and partly rewrote to fit
+ u2.10.11's Features
+
+ * tools/Makefile.crypt: Updated location of file and added CVS Id
+ tag
+
+ * acconfig.h: Updated location of file
+
+ * config.h.in: Updated location of file
+
+ * tools/Bounce/bounce.conf: Added CVS Id tag
+
+ * tools/Bounce/Bounce.cpp: Updated location of file
+
+ * tools/Bounce/Bounce.h: Updated location of file
+
+ * tools/hashtoy: Added CVS Id Tag
+
+2002-02-27 Carlo Wood <run@alinoe.com>
+
+ * /ircd/ircd.c: check_pings: First check if a PING was sent at all.
+
+2002-03-01 Carlo Wood <run@alinoe.com>
+
+ * include/channel.h: struct Channel: new attribute destruct_event.
+ Prototype for destruct_channel().
+
+ * include/destruct_event.h: new header file for destruct_event.c.
+
+ * ircd/Makefile.in: New source file: destruct_event.c.
+
+ * ircd/channel.c: sub1_from_channel: Don't destruct channel
+ immedeately but instead schedule it for destruction after
+ some time when a channel becomes empty (and clear invite
+ only and limit in that case).
+ destruct_channel: new function, was previously the destructing
+ part of sub1_from_channel.
+ add_user_to_channel: remove destruction request if any.
+
+ * ircd/destruct_event.c: New file. Implementation of functions
+ schedule_destruct_event_1m, schedule_destruct_event_48h,
+ remove_destruct_event and exec_expired_destruct_events.
+
+ * ircd/ircd.c: destruct_event_timer: new timer.
+ main: use destruct_event_timer to call exec_expired_destruct_events
+ once per minute.
+
+ * ircd/m_endburst.c: ms_end_of_burst: Don't complain about empty
+ channels. Schedule new empty channels for destruction.
+
+ * ircd/m_join.c: m_join: Destruct just-created channel immedeately.
+
+2002-03-01 Carlo Wood <run@alinoe.com>
+ * ircd/s_misc.c: exit_client: Only call map_update()
+ for servers.
+
+2002-02-28 Carlo Wood <run@alinoe.com>
+ * include/channel.h: New attribute 'oplevel' in struct Membership.
+ Added defines MAXOPLEVELDIGITS and MAXOPLEVEL.
+ New macros: OpLevel(member): returns op-level of member and
+ SetOpLevel(member, value): sets op-level of member.
+ Prototype of add_user_to_channel: add oplevel to parameters.
+ Prototype of mode_parse: add member to to parameters.
+
+ * include/numeric.h: added ERR_NOTLOWEROPLEVEL.
+
+ * ircd/s_err.c: idem.
+
+ * ircd/channel.c: Removed unmatched '{' braces from comments
+ (confuses vi). add_user_to_channel: oplevel is passed to function
+ and added in the created MemberShip structure. send_channel_modes:
+ Generate the nick:mode list of the BURST msg in the new style (with
+ op-levels). DONE_UPASS/DONE_APASS: fixed typo in comment. struct
+ ParseState: New attribute: member. mode_process_clients: Disallow
+ deopping someone with an equal or higher op-level, take care of
+ inheritance of op-level. mode_parse: member is passed to function
+ and added in the created ParseState structure. joinbuf_join: pass 0
+ as oplevel to add_user_to_channel as needed initialization of oplevel
+ in struct MemberShip.
+
+ * ircd/m_burst.c: ms_burst: Implementation of op-levels in the
+ decoding of a BURST message and passing on a BURST message.
+ Renamed default_mode to current_mode.
+
+ * ircd/m_mode.c: m_mode/ms_mode: pass on `member' to mode_parse.
+
+ * ircd/m_opmode.c: ms_opmode/mo_opmode: pass on NULL as member
+ to mode_parse (causes opped member to get op-level 0).
+
+2002-02-25 Carlo Wood <run@alinoe.com>
+ * include/channel.h: Added two new strings to struct Mode,
+ upass and apass, both with maximum length PASSLEN (a new
+ define in this file). Two new mode defines MODE_UPASS and
+ MODE_APASS.
+
+ * ircd/channel.c: is_level0_op: Added as dummy function.
+ channel_modes/modebuf_flush_int/modebuf_extract/mode_parse:
+ Added support for MODE_APASS (+A) and MODE_UPASS (+u).
+ mode_parse_upass: New function to parse mode +u.
+ mode_parse_apass: New function to parse mode +A.
+
+ * ircd/s_err.c: Added 'A' and 'u' to mode list (RPL_MYINFO).
+
+2002-02-25 Carlo Wood <carlo@alinoe.com>
+
+ * ircd/m_server.c: remove unused variables
+
+2002-02-25 Joseph Bongaarts <foxxe@wtfs.net>
+
+ * ircd/m_map.c: Modified to show a useful output to non-opered
+ clients when HEAD_IN_SAND_MAP is defined. Servers are added to
+ the list when first seen (after receiving SERVER) and that list
+ is sent to clients. Servers are excluded from the list if they are
+ hubs, services, or have been missing for more than 1 week.
+
+ * ircd/map.c: Created file for map_* functions
+
+ * include/map.h: Created file for map_* functions
+
+ * ircd/m_server.c: Added calls to map_update()
+
+ * ircd/s_misc.c: Added call to map_update()
+
+ * ircd/parse.c: Changed to use m_map() and mo_map()
+
+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
* 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
-#-----------------------------------------------------------------------------