Author: ZenShadow
[ircu2.10.12-pk.git] / ChangeLog
index d3fc7c2eae0af37bd90aaada6ebc3cf6f785b855..4055cc18f6213fbb2fbef51cf63fa2df8d098c59 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,964 @@
+2000-04-30  Perry Lorier <isomer@coders.net>
+       * config/config-sh.in: Fix for CONNEXIT
+       * ircd/s_{user,misc}.c: Fix for CONNEXIT
+       * ircd/m_invite.c: Fix for incorrectly numnickified invite.
+                       (Kev: Want to come talk to me about this?)
+
+2000-04-30  Steven M. Doyle <steven@doyle.net>
+       * ircd/ircd.c
+         - general cleanups and readability enhancements
+         - rewrite of setuid/chroot code.
+         - server will no longer run as root
+         - -DPROFIL compile option removed
+         - Fixed IPcheck API calls
+       * config/config-sh.in
+         - Fixed up chroot compile options
+         - Added options for debug and profile compiles
+       * config/gen.ircd.Makefile
+         - Support for new debug/profile options
+       * ircd/Makefile.in
+         - Support for new debug/profile options
+       * ircd/ircd_signal.c
+         - Removed -DPROFIL
+
+       * include/IPcheck.h
+         - Removed old API prototypes, added new ones
+       
+       * ircd/IPcheck.c
+         - Readability cleanups (well, I -think-...)
+         - Changed IPRegistryEntry.last_connect to a time_t.  The previously
+           used unsigned short was probably causing interesting things after
+           a client had been connected longer than about 65,535 seconds...
+         - Removed old API functions.
+
+       * ircd/whocmds.c
+         - Removed IPcheck.h include
+       
+       * Additionally modified IPcheck API calls in:
+         - ircd/m_nick.c
+         - ircd/m_auth.c
+         - ircd/s_bsd.c
+         - ircd/s_conf.c
+         - ircd/s_misc.c
+         - ircd/s_serv.c
+         - ircd/s_user.c
+       
+       
+2000-04-30  Perry Lorier <isomer@coders.net>
+       * ircd/s_bsd.c: Sigh. :)
+        * ircd/m_mode.c: fix for modeless channels by poptix.
+
+2000-04-29  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
+
+       * ircd/channel.c (clean_channelname): make clean_channelname also
+       truncate long channel names
+
+2000-04-28  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
+
+       * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
+       joinbuf_flush
+
+       * include/channel.h: definitions and declarations for the struct
+       JoinBuf abstraction
+
+2000-04-29  Perry Lorier <isomer@coders.net>
+       * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
+
+2000-04-29  Perry Lorier <isomer@coders.net>
+       * ircd/s_bsd.c: Add debugging code to IPcheck
+
+2000-04-28  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
+
+       * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
+       RPL_EXPLICIT
+
+       * ircd/m_userhost.c (m_userhost): add a dead code comment
+
+       * ircd/m_desynch.c: forgot one...
+
+       * ircd/m_rehash.c (mo_rehash): er, duplicates :)
+
+       * ircd/m_proto.c (proto_send_supported): just change a comment so
+       it doesn't show up in my scans
+
+       * ircd/ircd_reply.c (send_reply): fix a slight bug...
+
+       * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
+       kinda hackish...
+
+       * ircd/parse.c (parse_server): argument wrangling to make
+       processing in do_numeric a little easier to deal with
+
+       * ircd/s_serv.c (server_estab): SERVER should come from
+       acptr->serv->up, not &me
+
+       * ircd/m_lusers.c: accidentally left out sptr for a %C
+
+       * ircd/send.c: hack to support doing wallchops...
+
+       * ircd/m_whowas.c: convert to new send functions
+
+       * ircd/m_whois.c: convert to new send functions
+
+       * ircd/m_who.c: convert to new send functions
+
+       * ircd/m_wallops.c: convert to new send functions
+
+       * ircd/m_wallchops.c: convert to new send functions
+
+       * ircd/m_version.c: convert to new send functions
+
+       * ircd/m_userip.c: convert to new send functions
+
+       * ircd/m_userhost.c: convert to new send functions
+
+       * ircd/m_uping.c: convert to new send functions
+
+       * ircd/m_trace.c: convert to new send functions
+
+       * ircd/m_topic.c: convert to new send functions
+
+       * ircd/m_time.c: convert to new send functions
+
+       * ircd/m_squit.c: convert to new send functions
+
+       * ircd/m_silence.c: convert to new send functions
+
+       * ircd/m_settime.c: convert to new send functions
+
+       * ircd/m_restart.c: convert to new send functions
+
+       * ircd/m_rehash.c: convert to new send functions
+
+       * ircd/m_privmsg.c: convert to new send functions
+
+       * ircd/m_pong.c: convert to new send functions
+
+       * ircd/m_ping.c: convert to new send functions
+
+       * ircd/m_pass.c: convert to new send functions
+
+       * ircd/m_opmode.c: convert to new send functions
+
+       * ircd/m_oper.c: convert to new send functions
+
+       * ircd/m_notice.c: convert to new send functions
+
+       * ircd/m_nick.c: convert to new send functions
+
+       * ircd/m_names.c: convert to new send functions
+
+       * ircd/m_motd.c: convert to new send functions
+
+       * ircd/m_mode.c: convert to new send functions
+
+       * ircd/m_map.c: convert to new send functions
+
+       * ircd/m_lusers.c: convert to new send functions
+
+       * ircd/m_list.c: convert to new send functions
+
+       * ircd/m_links.c: convert to new send functions
+
+       * ircd/m_kill.c: convert to new send functions
+
+       * ircd/m_jupe.c: convert to new send functions
+
+       * ircd/m_invite.c: convert to new send functions
+
+       * ircd/m_info.c: convert to new send functions
+
+       * ircd/m_help.c: convert to new send functions
+
+       * ircd/m_gline.c: convert to new send functions
+
+       * ircd/m_error.c: convert to new send functions
+
+       * ircd/m_endburst.c: convert to new send functions
+
+       * ircd/m_die.c: convert to new send functions
+
+       * ircd/m_destruct.c: convert to new send functions
+
+       * ircd/m_defaults.c: convert to new send functions
+
+       * ircd/m_connect.c: convert to new send functions
+
+2000-04-28  Perry Lorier <isomer@coders.net>
+       * RELEASE.NOTES: Describe a few more undocumented features.
+       * config/config-sh.in: change the default paths for logging
+       and the recommended number of channels.
+       * include/supported.h: Rearrange slightly, added CHANTYPE's
+
+2000-04-27  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_close.c: convert to send_reply
+
+       * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
+
+       * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
+
+       * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
+
+       * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
+       that takes cmd and tok arguments, etc.  NOTE: THIS IMPLEMENTATION
+       HAS A MAJOR HACK!!!  The whole hunt_server architecture should be
+       carefully rethought...
+
+       * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
+
+       * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
+
+       * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
+       numeric nick; therefore, we have to use the server name
+
+       * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
+
+       * ircd/send.c: fix minor bugs
+
+       * ircd/s_user.c (check_target_limit): mark dead code so I filter
+       it when I grep
+
+       * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
+       when I grep
+
+       * ircd/parse.c: mark dead code so I filter it when I grep
+
+       * ircd/map.c: mark dead code so I filter it when I grep
+
+       * ircd/ircd.c: mark dead code so I filter it when I grep
+
+       * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
+       functions
+
+       * ircd/channel.c: mark dead code so I filter it when I grep
+
+       * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
+       hope I'm not stepping on toes...
+
+       * ircd/s_conf.c: more sendto_opmask_butone / send_reply
+       conversions; use ircd_snprintf in a couple of cases to negate the
+       possibility of buffer overflow
+
+2000-04-26  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c: convert as much as possible to new send
+       semantics
+
+       * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
+       test member->user->from->fd, not from->fd
+
+       * ircd/gline.c (gline_add): go ahead and add badchans; we just
+       won't look for them in m_gline; this way, they always work...
+
+       * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
+
+       * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
+       ircd_vsnprintf conversion specifiers
+
+       * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
+       I have my conversion specifiers
+
+       * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
+
+       * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
+       local users
+
+       * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
+       little less brain-dead
+
+       * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
+
+       * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
+       RPL_STATSDEBUG
+
+       * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
+       RPL_STATSDEBUG
+
+       * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
+       for RPL_STATSDEBUG
+
+       * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
+
+       * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
+
+       * ircd/s_user.c (register_user): use RPL_EXPLICIT for
+       ERR_INVALIDUSERNAME
+
+       * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
+
+       * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
+       a numeric as needing to use an explicit pattern, which will be the
+       first argument in the variable argument list
+
+       * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
+       non-prefixed nospoof PING
+
+       * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
+       non-prefixed SERVER login
+
+       * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
+       a numeric usage further up)
+
+       * include/send.h: declare sendrawto_one
+
+       * ircd/send.c (sendrawto_one): new function to use ONLY for
+       non-prefixed commands, like PING to client, or PASS/SERVER on
+       server registration
+
+2000-04-25  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/ircd_snprintf.c (doprintf): implement %H for possible
+       future expansion (channel numerics?)
+
+       * include/ircd_snprintf.h: added documentation to # to explain use
+       with %C; added documentation for : to explain use with %C; added
+       documentation for %H for channels
+
+       * ircd/whocmds.c: use send_reply
+
+       * ircd/userload.c: use sendcmdto_one
+
+       * ircd/uping.c: use sendcmdto_one
+
+       * ircd/send.c: use new flags to %C format string; ':' prefixes
+       client name with a colon for local connects, '#' uses
+       nick!user@host form for local connects
+
+       * ircd/s_user.c: use send_reply, sendto_opmask_butone,
+       sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
+
+       * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
+
+       * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
+       sendcmdto_one
+
+       * ircd/s_auth.c: use sendto_opmask_butone
+
+       * ircd/res.c: use sendcmdto_one
+
+       * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
+       debugging assertions
+
+2000-04-24  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/support.c: dumpcore is no longer used, so get rid of it
+
+       * ircd/parse.c: use send_reply, sendcmdto_one
+
+       * ircd/map.c: use send_reply
+
+       * ircd/listener.c: use send_reply
+
+       * ircd/jupe.c: use sendto_opmask_butone, send_reply
+
+       * ircd/ircd_reply.c: use send_reply
+
+       * ircd/ircd.c: use sendto_opmask_butone
+
+       * ircd/gline.c: use sendto_opmask_butone, send_reply
+
+       * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
+       registered clients; make FLAG_ALT print nick!user@host; make
+       FLAG_COLON print :blah
+
+       * ircd/class.c (report_classes): use send_reply instead of
+       sendto_one
+
+       * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
+
+       * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
+       sendto_one with sendcmdto_one
+
+2000-04-21  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
+       MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
+       sendcmdto_match_butone
+
+       * include/send.h: declare sendcmdto_match_butone
+
+2000-04-20  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/jupe.c: update to use send_reply()
+
+       * ircd/gline.c: update to use send_reply()
+
+       * include/ircd_reply.h: declare send_reply
+
+       * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
+       replies; uses ircd_snprintf
+
+       * ircd/send.c: added comments to redirect searchers to appropriate
+       sendcmdto_* function; moved new functions to end of file; added
+       explanatory comments; reordered arguments; defined new functions
+       mentioned below
+
+       * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
+
+       * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
+
+       * ircd/jupe.c: reorder arguments to sendcmdto_* functions
+
+       * ircd/gline.c: reorder arguments to sendcmdto_* functions
+
+       * include/send.h: reorder arguments, add explanatory comments,
+       declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
+       and vsendto_opmask_butone
+
+2000-04-19  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
+       vsendto_op_mask that uses '*' instead of the receiving client
+       nickname
+
+       * include/send.h: declare sendcmdto_channel_butone; takes a skip
+       argument that allows you to skip (or not to skip) deaf users,
+       users behind bursting servers, and non channel operators
+
+2000-04-17  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/send.c: new sendcmdto_channel_butserv -- note that old
+       sendto_channel_butserv has a subtle bug; also wrote
+       sendcmdto_common_channels.
+
+       * include/send.h: declare new sendcmdto_* functions
+
+       * ircd/jupe.c: support local deactivations of jupes
+
+       * ircd/gline.c: support local deactivations of glines
+
+       * include/jupe.h: JUPE_LDEACT allows jupes to be locally
+       deactivated; if they aren't locally deactivated, then it slaves to
+       the net-wide activation status; JupeIsRemActive() tests only
+       whether the jupe is active everywhere else
+
+       * include/gline.h: GLINE_LDEACT allows glines to be locally
+       deactivated; if they aren't locally deactivated, then it slaves to
+       the net-wide activation status; GlineIsRemActive() tests only
+       whether the gline is active everywhere else
+
+       * ircd/gline.c: detect overlapping G-lines; if an existing, wider
+       gline expires after the new one will, we drop the new one,
+       otherwise we add the G-line after that one (so the wide one will
+       apply first); if the new one contains an existing G-line and if it
+       will expire after the existing one, we drop the existing one to
+       save memory
+
+       * ircd/m_gline.c (mo_gline): opers could issue remote local
+       glines when CONFIG_OPERCMDS was off; fixed
+
+2000-04-16  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
+       this is a local JUPE
+
+       * ircd/gline.c: add flags argument to gline_activate and
+       gline_deactivate for future expansion
+
+       * ircd/m_gline.c: pass flags to gline_activate and
+       gline_deactivate
+
+       * include/gline.h: add flags argument to gline_activate and
+       gline_deactivate
+
+       * ircd/jupe.c: add flags argument to jupe_activate and
+       jupe_deactivate for future expansion
+
+       * include/jupe.h: add flags argument to jupe_activate and
+       jupe_deactivate
+
+       * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
+       local, active; pass flags to jupe_activate and jupe_deactivate
+
+       * include/gline.h: remove dead code
+
+       * ircd/gline.c: make gline expire times relative to CurrentTime,
+       since that should be monotonically increasing, instead of
+       TStime(), which can be set backwards, and which can therefore
+       cause an expire time to increase; make local glines be removed
+       instead of just deactivated; don't let gline_find() look for
+       user@host glines if the mask being looked up is a channel mask
+
+       * ircd/send.c (vsendcmdto_one): forgot to account for the case
+       where origin is a server and destination is a user
+
+       * ircd/jupe.c: make jupe expire times relative to CurrentTime,
+       since that should be monotonically increasing, instead of
+       TStime(), which can be set backwards, and which can therefore
+       cause an expire time to increase; make local jupes be removed
+       instead of just deactivated
+
+       * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
+       limit is fine.  any other warnings I should know about?
+
+2000-04-15  Thomas Helvey <tomh@inxpress.net>
+
+       * ircd/*.c: const correctness and type safety cleanups to
+       get code to compile with C++ compiler. Still has
+       signed/unsigned comparison warnings.
+
+2000-04-15  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * ircd/userload.c: change <sys/time.h> include to <time.h> for
+         portability.
+
+2000-04-14  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
+       and convert acptr...
+
+       * ircd/s_user.c: move gline_lookup function call into
+       register_user, where it'll have a username to lookup!
+
+       * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
+       functions; also stuff send_error_to_client into return clauses
+
+       * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
+       functions; also use send_error_to_client where that makes sense
+
+       * ircd/jupe.c: modify to utilize new sendcmdto_* series of
+       functions; also use send_error_to_client where that makes sense
+
+       * ircd/gline.c: modify to utilize new sendcmdto_* series of
+       functions; also fix gline_lookup() to deal properly with remote
+       clients--boy, do struct Client and struct User need to be cleaned
+       up!
+
+       * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
+       too...
+
+       * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
+       sendcmdto_serv_butone(), all utilizing the %v conversion of
+       ircd_snprintf()
+
+       * include/send.h: define IRC_BUFSIZE, max size of a message;
+       declare sendcmdto_one(), vsendcmdto_one(), and
+       sendcmdto_serv_butone()
+
+       * include/msg.h: define all the CMD_* constants needed to utilize
+       the new sendcmdto_* series of functions
+
+       * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
+
+       * ircd/gline.c: remove old, dead code.
+
+       * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
+       unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
+       (don't advertise proxies); remove dead code
+
+       * ircd/parse.c: oper handler for JUPE only lists jupes unless
+       CONFIG_OPERCMDS is enabled
+
+       * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
+       CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
+
+       * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
+       always return ERR_DISABLED
+
+       * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
+       enabled, always return ERR_DISABLED
+
+       * ircd/s_err.c: add error message to indicate disabled commands
+
+       * include/numeric.h (ERR_DISABLED): to indicate disabled commands
+
+       * doc/Configure.help: add documentation for CONFIG_OPERCMDS
+
+       * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
+       CONFIG_NEW_MODE to 'y' for now
+
+       * ircd/gline.c (gline_list): fix a minor formatting bogon
+
+       * BUGS: since I fixed that bug, might as well mark it fixed.
+
+       * ircd/m_join.c: look up badchans with GLINE_EXACT
+
+       * ircd/m_gline.c: fix parc count problems; look up existing
+       G-lines with GLINE_EXACT; only set new lastmod when
+       activating/deactivating existing glines if old lastmod was not 0
+
+       * ircd/gline.c: forgot to copy the gline reason over; don't
+       propagate a gline with 0 lastmod if origin is user; add
+       GLINE_EXACT to force exact matching of gline mask
+
+       * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
+       flag properly
+
+       * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
+       but gline_lookup() actually takes a client--d'oh.
+
+2000-04-13  Thomas Helvey <tomh@inxpress.net>
+       * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
+
+2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
+         "/who * x"
+         "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
+         (Found by Plexus).
+
+       * ircd/whocmds.c: Change idle time calc from socket idle to user
+         idle.
+
+2000-04-13  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
+       too, for ircd_snprintf.c
+
+       * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
+       comments; mostly descended from the Linux manpage for printf, but
+       also documenting the extensions.
+
+       * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
+       client; make 'q' be the same as 'L'; remove __inline__; only
+       define EXTENSION if HAVE_LONG_LONG is defined
+
+       * include/handlers.h: declare m_gline()
+
+       * ircd/parse.c: gline can be called by users, but it only lists
+       the glines.
+
+       * ircd/s_user.c (set_nick_name): resend gline if a remote server
+       introduces a glined client
+
+       * ircd/s_serv.c (server_estab): burst glines, too
+
+       * ircd/gline.c: fix up all the expire times to be offsets;
+       simplify gline_resend()
+
+       * ircd/m_gline.c: begin coding replacements for ms_gline(),
+       mo_gline(), and m_gline()
+
+       * ircd/gline.c (gline_add): allow *@#channel to work correctly;
+       also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
+
+2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * tools/Bouncer/*: Add comments/documentation/tags.
+       * tools/Bouncer/*: Add debug defines, make task fork().
+
+2000-04-12  Thomas Helvey <tomh@inxpress.net>
+       * ircd/s_err.c: Cleanup s_err.c make one table so we
+       don't have to do anything tricky to get an error string.
+
+2000-04-12  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+       * Add port bouncer for http (x/w)
+
+2000-04-12  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
+       call to gline_find(); also used GlineReason() instead of direct
+       reference to structure member
+
+       * ircd/m_join.c (m_join): replace bad_channel() calls with calls
+       to gline_find(name, GLINE_BADCHAN), and also check to see if gline
+       is active
+
+       * ircd/channel.c: nothing seems to be called anywhere...
+
+       * ircd/s_err.c: update a couple of replies to dovetail with new
+       semantics
+
+       * ircd/gline.c: begin complete re-implementation of gline.c along
+       the lines of the final design of jupe.c
+
+       * include/gline.h: begin complete re-implementation of gline.c
+       along the lines of the final design of jupe.c
+
+       * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
+       %s by %s" message...
+
+       * ircd/ircd_snprintf.c: my new snprintf()-like functions
+
+       * include/ircd_snprintf.h: my new snprintf()-like functions
+
+2000-04-11  Thomas Helvey <tomh@inxpress.net>
+       * ircd/IPcheck.c: removed old dead code
+       * ircd/s_user.c (send_user_info): removed non-standard
+          user not found message for userhost/userip
+
+2000-04-11  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
+       * doc/p10.html: Work on chapter 4.
+
+2000-04-10  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c (mode_parse_client): fix coredump on /mode
+       #foobar +o nosuchnick
+
+2000-04-10  Perry Lorier  <Isomer@coders.net>
+       * BUGS: Added bug.
+
+2000-04-09  Thomas Helvey <tomh@inxpress.net>
+       * include/IPcheck.h: fix prototype
+       * ircd/s_user.c: fix usage of IPcheck_remote_connect
+       * ircd/IPcheck.c: removed unused args
+
+2000-04-09  Thomas Helvey <tomh@inxpress.net>
+       * include/IPcheck.h: add proto for IPcheck_expire
+
+       * ircd/IPcheck.c: Rewrote
+
+       * ircd/ircd.c: Add IPcheck_expire to main message loop
+
+       * ircd/s_user.c: Redo target hashing, refactor target code
+
+       * include/numeric.h: Cleaned up numerics, added which ones are
+       in use by other networks and what they are in use for.
+
+       * ircd/channel.c: cleaned can_join(), allow anyone through anything
+       if /invited, simplified the function.  Opers overusing OPEROVERRIDE
+       will get a message explaining to them not to cheat.
+
+       * ircd/m_join.c: cleaned up the various join functions, should be
+       a lot more efficient.  Still needs work.  Now assumes that s<->s
+       won't send it a JOIN 0.  Service coders - note this and tread with
+       care.
+
+       * ircd/m_stats.c: added Gte-'s stats doc patch.
+
+       * ircd/m_version.c: /version now returns the 005 numeric as well.
+       as requested by Liandrin.
+
+
+2000-04-07  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_clearmode.c: add include for support.h for write_log()
+
+       * configure: move ircd/crypt/* to tools/*
+
+2000-04-06  Thomas Helvey <tomh@inxpress.net>
+       * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
+          set client host to server alias if connection from localhost
+
+2000-04-06  Perry Lorier <isomer@coders.net>
+       * ircd/ircd.c: Fix core during pinging (oops)
+       
+2000-04-06  Perry Lorier <isomer@coders.net>
+       * ircd/send.c: fixed wrong ident being sent to channels bug.
+       * include/numerics.h: Updated some of the numerics from other
+       networks.  Flagged some as 'unused' by undernet.
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/ircd.c: Lets see if this helps the ping problem at all.
+       * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
+       time for local clients. (as requested), extended who now returns all
+       the flags (@+!) so you can tell the complete state of a client.
+
+2000-03-30  Thomas Helvey <tomh@inxpress.net>
+       * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/parse.c: oops, missed opers.
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
+       for so long.  Remember: m_ping MUST be in the parse array. :)
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/ircd.c: test in check_pings was wrong.  I move that we
+       disallow cvs commit after 10pm localtime....
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/m_pong.c: Fix it for servers too.
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/m_pong.c: Fix ping timeout bugs
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/channel.c: Bans had CurrentTime in their when field instead
+       of TStime()
+
+2000-03-31  Thomas Helvey <tomh@ixpress.net>
+       * ircd/numnicks.c (SetXYYCapacity): fix for extended
+       numerics.
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/m_nick.c: send kills both ways so when we add nick change
+       on collision we don't desync the network.
+
+       * ircd/map.c: Fixup the map a bit more.
+
+2000-03-31  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
+
+       * ircd/m_opmode.c: Log the mode changes to OPATH
+
+       * ircd/channel.c (modebuf_flush_int): Log the mode changes to
+       OPATH
+
+       * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
+       OPATH
+
+       * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
+
+       * config/config-sh.in: added OPATH for opmode log file
+
+       * ircd/m_clearmode.c (do_clearmode): updated uses of
+       modebuf_mode_string() for the new usage
+
+       * ircd/channel.c: added flag MODE_FREE and an int argument to
+       modebuf_mode_string() to indicate that the string must be free'd;
+       updated calls to modebuf_mode_string() for the new usage; called
+       collapse(pretty_mask()) on the ban string and use allocated memory
+       for it; added ban list length accounting; fixed a number of small
+       bugs in ban processing
+
+       * include/channel.h: added flag MODE_FREE and an int argument to
+       modebuf_mode_string() to indicate that the string must be free'd
+
+       * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
+       keys and limits that are set
+
+2000-03-30  Perry Lorier <isomer@coders.net>
+       * ircd/ircd.c: rewrote check_pings() for maintainability
+       and speed.  Also changed quit msg's so they don't have
+       redundant nick[host] info in them.
+
+       * ircd/send.c: Changed write errors to report what error
+       occured (if possible).
+
+       * ircd/gline.c: added gline comment to the quit.
+
+       * ircd/m_server.c: Added suggestions to server quits mentioning
+       what went wrong so the admin can fix it earlier instead of asking
+       questions...
+
+       * ircd/map.c: Changed m_map() to hide numerics, show a * beside
+       servers that aren't fully burst yet.  And show '(--s)' for servers
+       where its not sure.
+
+       * doc/example.conf: Fixed wrapped U:
+
+2000-03-30  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
+       mode_parse() (version selectable at compile time)
+
+       * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
+
+       * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
+
+       * config/config-sh.in: add new config option to enable new m_mode
+       implementation
+
+       * doc/Configure.help: add documentation for new config option
+       CONFIG_NEW_MODE
+
+       * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
+       MODE -v : Not enough parameters
+
+       * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
+       +k and +l even if they weren't set...
+
+       * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
+
+       * ircd/channel.c: make mode_process_clients() clear the DEOPPED
+       flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
+       for; test the 0-th member, not the i-th member, of the client
+       change state stuff
+
+       * ircd/m_clearmode.c (do_clearmode): use the new
+       mode_invite_clear() function
+
+       * ircd/channel.c: cleared up all the compile-time warnings and
+       errors
+
+       * include/channel.h: added declarations for mode_ban_invalidate()
+       and mode_invite_clear()
+
+       * ircd/channel.c: finished mode_parse(), then broke it up into a
+       dozen or so helper functions to make the code easier to read
+
+2000-03-29  Thomas Helvey <tomh@inxpress.net>
+       * ircd/ircd.c: refactor server initialization a bit, use
+       getopt for parsing command line, refactor init_sys, main,
+       and other bits.
+
+       * ircd/s_bsd.c: add functions for initialization to clean
+       up logic a bit and remove duplicated code.
+
+       * include/ircd.h: add struct for server process related
+       variables.
+
+2000-03-29  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c: initial definition of mode_parse(); flags to
+       prevent doing the same thing multiple times; helper method
+       send_notoper() to send a "Not oper"/"Not on channel" notice
+
+       * include/channel.h: declare mode_parse() and helper flags
+
+       * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
+       sending to match the current action of set_mode() closely enough
+       that hopefully there won't be major conflicts
+
+       * ircd/channel.c (modebuf_flush_int): consolidated the mode string
+       building logic, reversed the order of the arguments to mode
+       commands to have '-' preceed '+'
+
+2000-03-29  Thomas Helvey <tomh@inxpress.net>
+       * ircd/s_bsd.c (add_connection): don't disable socket options
+       let OS tune itself and allow important performance tweaks to 
+       work.
+
+2000-03-28  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
+       confused by set_mode, which is doing some really weird logic;
+       guess what I'm going to rewrite next?  ;)
+
+2000-03-28  Kevin L. Mitchell  <klmitch@emc.com>
+
+       * include/channel.h: added MODE_SAVE for the bounds checking stuff
+       in modebuf_flush
+
+       * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
+       make it do bounds checking on the buffer; all modes are sent only
+       if the all parameter is 1; modebuf_flush is the exported wrapper
+
+       * include/channel.h: add BOUNCE, renumber flags to get a little
+       more space
+
+       * ircd/channel.c (modebuf_flush): don't overload HACK2, add
+       BOUNCE; send DESYNCH message
+
 2000-03-27  Kevin L. Mitchell  <klmitch@emc.com>
 
-       * ircd/m_clearmode.c: add msg.h to includes...
+       * ircd/m_clearmode.c (do_clearmode): only mark the modes the
+       channel actually has in effect for deletion
+
+       * ircd/channel.c: added explanatory comments to all added
+       functions; made flushing take place at the correct place even if
+       the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
+       to bash some stupid bugs; made modebuf_flush() return if ModeBuf
+       is empty, fixed the apparent source, removed some bogus string
+       termination code, properly terminate the mode strings, add support
+       for HACK2 and HACK3, made limit strings not be sent if the limit
+       is being removed, changed where '+' and '-' come from in sent
+       strings, added support for DEOP flag, set up bouncing code for
+       HACK2
+
+       * ircd/Makefile.in: ran make depend
+
+       * include/channel.h: added new defines for future functionality,
+       made modebuf_flush() return int so I can use tail recursion
+
+       * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
+       to make it all compile
 
        * ircd/m_opmode.c: add msg.h to includes...
 
        * include/channel.h: added definition of ModeBuf, modebuf_*
        manipulation functions, and a couple of helper macros
 
-#
-# ChangeLog for ircu2.10.11
-#
-# $Id: ChangeLog,v 1.31 2000-03-27 21:04:57 kev Exp $
-#
-# Insert new changes at beginning of the change list.
-#
-#-----------------------------------------------------------------------------
 2000-03-24 Thomas Helvey <tomh@inxpress.net>
   * numicks.c: convert extended numerics to use original mask version
   * numnicks.h: ""
 * 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
+#-----------------------------------------------------------------------------
+#
+# ChangeLog for ircu2.10.11
+#
+# $Id: ChangeLog,v 1.120 2000-04-30 12:00:06 isomer Exp $
+#
+# Insert new changes at beginning of the change list.
+#