Author: Isomer <Isomer@coders.net>
[ircu2.10.12-pk.git] / ChangeLog
index 61780ce27f8fdada887b327682e212e5cdca1105..e7cf371ec51846cd9a13eadb53f8b09c3d8c0726 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,916 @@
-2000-04-09  Perry Lorier  <Isomer@coders.net>
+2000-05-29  Perry Lorier       <Isomer@coders.net>
+       * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY
+       * ircd/m_nick.c: Tidied things up.
+
+2000-06-12 Joseph Bongaarts <foxxe@trms.com>
+       * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v
+       
+2000-05-29  Perry Lorier       <Isomer@coders.net>
+       * ircd/m_stats.c: add /stats v to do only the last part of the /trace
+       * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do
+                       you think it'll get bored and fix itself?
+
+2000-06-09  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * ircd/m_names.c: Clean up compiler warnings.
+
+2000-06-09  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c (mode_parse_client): don't send warning if
+       there's not enough arguments for a +/-o/v; means the habit of
+       doing "/mode #channel +oooooo bob" doesn't result in a bunch of
+       error messages
+
+2000-06-04  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+
+       * ircd/m_names.c: Re-factor code to remove unneccessary
+       GlobalChannelList iteration every time someone joins a channel.
+
+2000-06-02  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_user.c: add struct Gline * argument to register_user;
+       look up global glines and repropagate them if necessary; send
+       acknowledgement of gline to remote servers when registering users
+
+       * ircd/s_serv.c (server_estab): don't send acknowledgement of
+       local glines to remote servers; do send gline acknowledgement of
+       bursted users
+
+       * ircd/m_user.c (m_user): pass new struct Gline * argument to
+       register_user
+
+       * ircd/m_pong.c: pass new struct Gline * argument to register_user
+
+       * ircd/m_nick.c (ms_nick): document protocol change
+
+       * ircd/gline.c: support GLINE_LASTMOD
+
+       * include/s_user.h: add struct Gline * argument to register_user
+
+       * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods
+
+       * ircd/s_conf.c (find_kill): add unsigned int argument to
+       gline_lookup()
+
+       * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global
+       glines; add unsigned int argument to gline_lookup()
+
+       * include/gline.h: add GLINE_GLOBAL flag; add unsigned int
+       argument to gline_lookup()
+
+       * ircd/m_server.c: Resend jupe only when there is no %<lastmod>
+       parameter, or when it falls out of bounds: see comments prior to
+       call to jupe_resend(); call server_estab with struct Jupe
+       parameter, so that we place the appropriate %<lastmod> in the
+       appropriate place.
+
+       * ircd/s_serv.c (server_estab): send %<lastmod> for introduced
+       server, as well as for servers when we're sending the BURST
+
+       * include/s_serv.h: add a struct Jupe * to the arguments for
+       server_estab() so that we can send the appropriate lastmod
+       parameter
+
+       * ircd/m_gline.c (ms_gline): actually, this should be the
+       slightest bit more efficient...
+
+       * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest
+       bit more efficient...
+
+       * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends
+       during netburst
+
+       * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during
+       netburst
+
+       * ircd/channel.c (joinbuf_join): really remove user from local
+       channels
+
+2000-05-29  Perry Lorier       <Isomer@coders.net>
+       * ircd/m_names.c: Removed redundant space. 
+       * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line.
+
+2000-05-18  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_burst.c (ms_burst): er...that should have been a ",", not
+       a " "
+
+2000-05-04  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c: replace bogus assertions with returns, which is
+       logically correct; only wipe out limit/key if they were originally
+       set in the first place; remove user from channel when doing a
+       PARTALL; only send MODE +o for user CREATEing channel if user is
+       not MyUser--CREATE will only be used if the channel did not
+       originally exist, therefore we can assume no one local is on the
+       channel anyway, and we don't exactly need for the user to see an
+       explicit +o for themselves
+
+       * doc/readme.gline: describe the syntax of the GLINE command
+
+       * doc/readme.jupe: update to reflect a couple of changes to JUPE
+
+       * ircd/gline.c: don't propagate local changes
+
+       * ircd/jupe.c: don't propagate local changes
+
+       * ircd/m_gline.c (mo_gline): force local flag when deactivating
+       glines with 0 lastmod
+
+       * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
+       are now removed instead of being deactivated
+
+       * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
+       -<mask>" be accepted
+
+       * ircd/channel.c (send_channel_modes): deal with one of the last
+       vestiges of sendbuf
+
+       * ircd/m_burst.c (ms_burst): debugged ban processing; removed
+       debugging hooks
+
+       * ircd/channel.c (modebuf_extract): remove debugging
+       sendto_opmask_butone calls
+
+2000-05-03  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/channel.c: support a couple of new flags to support using
+       mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
+       of modebuf_extract to extract added flags for use by ms_burst
+
+       * include/channel.h: a couple of new flags to support using
+       mode_parse inside ms_burst
+
+       * ircd/m_burst.c (ms_burst): brand new implementation of BURST
+
+       * ircd/m_endburst.c: add loop to processing of end_of_burst to
+       free empty channels after the BURST is over.
+
+       * ircd/m_server.c: convert to use new send.c functions--I wanted
+       to rewrite it from scratch, but the logic's pretty complex; I may
+       still rewrite it, though...
+
+2000-05-02  Thomas Helvey <tomh@inxpress.net>
+
+       * ircd/ircd.c: fix broken header include ordering
+
+2000-05-02  Thomas Helvey <tomh@inxpress.net>
+       
+       * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
+        review emailed privately
+
+       * include/IPcheck.h: removed unneeded include
+
+2000-05-02  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_user.c (hunt_server): throw in a comment so I know what
+       the sendto_one is for
+
+       * include/querycmds.h (Count_unknownbecomesclient): convert to
+       sendto_opmask_butone
+
+       * ircd/send.c: start removing dead code
+
+       * include/send.h: start removing dead code
+
+       * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
+       hunt_server_cmd
+
+       * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
+
+2000-05-01  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_stats.c: convert to sendcmdto_one / send_reply
+
+       * ircd/m_kick.c: Completely reimplement m_kick
+
+       * ircd/channel.c: send_user_joins removed; it was dead code,
+       anyway...
+
+2000-05-01  Perry Lorier <isomer@coders.net>
+       * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
+       * ircd/channels.c: My fix for the part problem.  Untested, probably
+               won't work.  Can't be much worse than the current problem.
+               it'll either work or core, take your pick.
+
+
+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.
 
 #
 # ChangeLog for ircu2.10.11
 #
-# $Id: ChangeLog,v 1.65 2000-04-09 11:53:12 isomer Exp $
+# $Id: ChangeLog,v 1.149 2000-06-29 23:21:15 isomer Exp $
 #
 # Insert new changes at beginning of the change list.
 #