+2001-07-17 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/m_burst.c (ms_burst): in the case of a modeless channel and
+ a nick collide, a bare BURST may be propagated; adjust the
+ enforced parameter count to accept the bare BURST
+
+2001-07-12 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/s_bsd.c: mark a client as having been IP checked
+
+ * ircd/IPcheck.c (ip_registry_check_remote): remove unneeded
+ second call to SetIPChecked()
+
+2001-07-11 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/engine_poll.c: deal with POLLHUP properly (hopefully)
+
+ * ircd/engine_devpoll.c: deal with POLLHUP properly (hopefully)
+
+2001-07-09 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/os_bsd.c (os_get_rusage): move buf into the two ifdef'd
+ sections so that if neither is used, the declaration of buf will
+ not elicit an "unused variable" warning under NetBSD
+
+ * ircd/m_map.c: include string.h to declare strcpy (fix warnings
+ on alpha)
+
+ * ircd/m_away.c: include string.h to declare strcpy/strlen (fix
+ warnings on alpha)
+
+ * ircd/ircd_log.c: include string.h to declare strcpy/strlen (fix
+ warnings on alpha)
+
+ * ircd/client.c: include string.h to declare memset (fix warnings
+ on alpha)
+
+ * ircd/channel.c: remove unused functions next_overlapped_ban,
+ del_banid, and is_deopped (fix warnings under -O1)
+
+ * ircd/IPcheck.c: include string.h to declare memset/memcpy (fix
+ warnings on alpha)
+
+2001-06-29 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/s_user.c (set_user_mode): clear the snomask if the user
+ isn't supposed to receive server notices anymore
+
+ * ircd/ircd_features.c: change CONFIG_OPERCMDS to default to FALSE
+
+ * configure.in: use AC_MSG_CHECKING/AC_MSG_RESULT when checking
+ installation prefix; default devpoll and kqueue to on (they get
+ turned off if the required headers aren't present)
+
+ * ircd/whocmds.c (do_who): use ircd_snprintf() instead of
+ sprintf_irc(); it's a bit hackish, but it'll do for now
+
+ * ircd/support.c: remove unused #include
+
+ * ircd/send.c: remove unused #include
+
+ * ircd/s_user.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/s_serv.c: remove unused #include
+
+ * ircd/s_misc.c: use ircd_snprintf() and friends instead of
+ sprintf_irc() and friends
+
+ * ircd/s_err.c: moved atoi_tab[] from ircd/sprintf_irc.c to
+ ircd/s_err.c, which is the only other file to refer to it
+
+ * ircd/s_conf.c (conf_add_deny): use ircd_snprintf() instead of
+ sprintf_irc()
+
+ * ircd/s_bsd.c (connect_server): use ircd_snprintf() instead of
+ sprintf_irc()
+
+ * ircd/s_auth.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/res.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/m_version.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/m_kill.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/listener.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/gline.c: use ircd_snprintf() instead of sprintf_irc()
+
+ * ircd/channel.c: don't include sprintf_irc.h; use ircd_snprintf()
+ instead of sprintf_irc()
+
+ * ircd/Makefile.in: remove sprintf_irc.c from sources list; run
+ make depend
+
+ * include/ircd_string.h: remove declaration of sprintf_irc() (what
+ was it doing here anyway?)
+
+ * include/sprintf_irc.h: removed unneeded source file
+
+ * ircd/sprintf_irc.c: removed unneeded source file
+
+ * ircd/s_debug.c (count_memory): remove some dead code
+
+ * ircd/s_auth.c: remove some dead code
+
+ * ircd/res.c (update_list): remove some dead code
+
+ * ircd/m_whowas.c: remove some dead code
+
+ * ircd/m_whois.c: remove some dead code
+
+ * ircd/m_who.c: remove some dead code
+
+ * ircd/m_wallusers.c: remove some dead code
+
+ * ircd/m_wallops.c: remove some dead code
+
+ * ircd/m_wallchops.c: remove some dead code
+
+ * ircd/m_version.c: remove some dead code
+
+ * ircd/m_userip.c: remove some dead code
+
+ * ircd/m_userhost.c: remove some dead code
+
+ * ircd/m_uping.c: remove some dead code
+
+ * ircd/m_trace.c: remove some dead code
+
+ * ircd/m_topic.c: remove some dead code
+
+ * ircd/m_tmpl.c: remove some dead code
+
+ * ircd/m_time.c: remove some dead code
+
+ * ircd/m_squit.c: remove some dead code
+
+ * ircd/m_silence.c: remove some dead code
+
+ * ircd/m_settime.c: remove some dead code
+
+ * ircd/m_set.c: remove some dead code
+
+ * ircd/m_server.c: remove some dead code
+
+ * ircd/m_rpong.c: remove some dead code
+
+ * ircd/m_rping.c: remove some dead code
+
+ * ircd/m_restart.c: remove some dead code
+
+ * ircd/m_reset.c: remove some dead code
+
+ * ircd/m_rehash.c: remove some dead code
+
+ * ircd/m_quit.c: remove some dead code
+
+ * ircd/m_proto.c: remove some dead code
+
+ * ircd/m_privs.c: remove some dead code
+
+ * ircd/m_privmsg.c: remove some dead code
+
+ * ircd/m_pong.c: remove some dead code
+
+ * ircd/m_ping.c: remove some dead code
+
+ * ircd/m_pass.c: remove some dead code
+
+ * ircd/m_part.c: remove some dead code
+
+ * ircd/m_opmode.c: remove some dead code
+
+ * ircd/m_oper.c: remove some dead code
+
+ * ircd/m_notice.c: remove some dead code
+
+ * ircd/m_nick.c: remove some dead code
+
+ * ircd/m_map.c: remove some dead code
+
+ * ircd/m_lusers.c: remove some dead code
+
+ * ircd/m_list.c: remove some dead code
+
+ * ircd/m_links.c: remove some dead code
+
+ * ircd/m_kill.c: remove some dead code
+
+ * ircd/m_kick.c: remove some dead code
+
+ * ircd/m_jupe.c: remove some dead code
+
+ * ircd/m_join.c: remove some dead code
+
+ * ircd/m_ison.c: remove some dead code
+
+ * ircd/m_invite.c: remove some dead code
+
+ * ircd/m_info.c: remove some dead code
+
+ * ircd/m_help.c: remove some dead code
+
+ * ircd/m_gline.c: remove some dead code
+
+ * ircd/m_get.c: remove some dead code
+
+ * ircd/m_error.c: remove some dead code
+
+ * ircd/m_endburst.c: remove some dead code
+
+ * ircd/m_die.c: remove some dead code
+
+ * ircd/m_desynch.c: remove some dead code
+
+ * ircd/m_destruct.c: remove some dead code
+
+ * ircd/m_defaults.c: remove some dead code
+
+ * ircd/m_create.c: remove some dead code, along with an #if 1
+
+ * ircd/m_cprivmsg.c: remove some dead code
+
+ * ircd/m_connect.c: remove some dead code
+
+ * ircd/m_close.c: remove some dead code
+
+ * ircd/m_clearmode.c: remove some dead code
+
+ * ircd/m_burst.c: remove some dead code
+
+ * ircd/m_away.c: remove some dead code
+
+ * ircd/m_admin.c: remove some dead code
+
+ * ircd/listener.c (accept_connection): remove some dead code
+
+ * ircd/ircd_reply.c (need_more_params): remove some dead code
+
+ * ircd/channel.c (add_banid): remove some dead code
+
+ * include/support.h: remove some dead code
+
+ * include/querycmds.h: remove some dead code
+
+ * doc/readme.chroot: document how to do chroot operation
+
+2001-06-28 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/Makefile.in: tune for VPATH builds/installs; add a rule to
+ force bin directory to be created if necessary prior to
+ installation; run make depend
+
+ * doc/Makefile.in (install): tune for VPATH installs by cd'ing to
+ the ${srcdir}
+
+ * Makefile.in: tune to detect Makefile.in changes in
+ subdirectories and to create installation directory indicated by
+ ${prefix}
+
+ * ircd/whocmds.c (count_users): routine to count the number of
+ users matching a given user@host mask
+
+ * ircd/s_err.c: add error messages for ERR_LONGMASK,
+ ERR_TOOMANYUSERS, and ERR_MASKTOOWIDE
+
+ * ircd/m_gline.c: look for and advance past '!' flag on G-lines
+ from operators; only set GLINE_OPERFORCE flag if oper has the
+ PRIV_WIDE_GLINE privilege
+
+ * ircd/ircd_features.c: add GLINEMAXUSERCOUNT, which is the
+ maximum number of users a G-line can impact before it has to be
+ forced; OPER_WIDE_GLINE, to allow operators to use ! to force a
+ wide G-line to be set; and LOCOP_WIDE_GLINE, to allow local
+ operators to use ! to force a wide G-line to be set
+
+ * ircd/gline.c: make make_gline() be called with separate user and
+ host arguments, and not call canon_userhost() directly; implement
+ gline_checkmask() to verify that a host mask is acceptable; move
+ BADCHAN check up in gline_add(), and check passed-in mask under
+ certain circumstances for acceptability; fix call to
+ sendto_opmask_butone() to handle separation of userhost into user
+ and host in gline_add(); update call to make_gline()
+
+ * ircd/client.c: use FEAT_OPER_WIDE_GLINE and
+ FEAT_LOCOP_WIDE_GLINE to set PRIV_WIDE_GLINE for an operator; add
+ PRIV_WIDE_GLINE to privtab[] for client_report_privs()
+
+ * include/whocmds.h (count_users): declare routine to count users
+ matching a given user@host mask
+
+ * include/numeric.h: added three new error returns: ERR_LONGMASK
+ -- mask can't be formatted into a buffer; ERR_TOOMANYUSERS -- too
+ many users would be impacted by the mask; ERR_MASKTOOWIDE -- mask
+ contains wildcards in the wrong places
+
+ * include/ircd_features.h: add FEAT_GLINEMAXUSERCOUNT,
+ FEAT_OPER_WIDE_GLINE, and FEAT_LOCOP_WIDE_GLINE
+
+ * include/gline.h (GLINE_OPERFORCE): provides a way for m_gline()
+ to signal to gline_add() that the operator attempted to force the
+ G-line to be set
+
+ * include/client.h (PRIV_WIDE_GLINE): new privilege for operators
+
+ * doc/readme.gline: update to document new "!" prefix to a G-line
+ user@host mask
+
+ * doc/readme.features: document GLINEMAXUSERCOUNT,
+ OPER_WIDE_GLINE, and LOCOP_WIDE_GLINE
+
+ * doc/example.conf: update to mention new features along with
+ their defaults
+
+2001-06-27 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * doc/example.conf: updated example.conf from Braden
+ <dbtem@yahoo.com>
+
+ * include/supported.h: forward-port from pl15
+
+2001-06-25 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/whocmds.c: include ircd_policy.h and implement
+ HEAD_IN_SAND_WHO_OPCOUNT--forward-port from pl15
+
+ * ircd/m_whois.c: forward-port of the idle-time hiding code from
+ pl15; this also required passing parc into do_whois(), which also
+ meant passing parc into do_wilds()--*sigh*
+
+ * include/ircd_policy.h: add a couple more HEAD_IN_SAND
+ #define's--WHOIS_IDLETIME and WHO_HOPCOUNT
+
+2001-06-22 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * tools/wrapper.c: add a wrapper program that can be used to
+ adjust file descriptor limits and root directories; program must
+ be run as root--NOT SETUID!--and given appropriate -u arguments
+
+ * doc/readme.log: documentation of how to configure logging
+
+ * doc/readme.features: documentation of each feature (except for
+ logging)
+
+2001-06-21 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * Makefile.in (config): add a deprecation notice with a pointer to
+ tools/transition
+
+ * tools/transition: shell script to convert old compile-time
+ options into new compile-time options and appropriate F-lines
+
+ * tools/mkchroot: shell-script to prepare the chroot area by
+ copying over all the necessary libraries so they can be found
+
+2001-06-20 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * INSTALL: partial update of INSTALL for u2.10.11 release...
+
+2001-06-14 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/table_gen.c (makeTables): finally got tired of the
+ "overflow in implicit conversion" warning, so just got rid of it
+ by explicitly casting UCHAR_MAX to a (default) char; diffs show no
+ differences in the tables generated
+
+2001-06-11 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/send.c (sendcmdto_match_butone): don't let the server crash
+ if a client is in the STAT_CONNECTING status
+
+2001-06-10 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/send.c: remove unused vsendcmdto_one(), consolidating it
+ into sendcmdto_one(); define new sendcmdto_prio_one(), which
+ places the message into the priority queue
+
+ * ircd/s_user.c (hunt_server_prio_cmd): definition of
+ hunt_server_prio_cmd(), which simply calls sendcmdto_prio_one()
+ instead of sendcmdto_one()
+
+ * ircd/m_settime.c: use sendcmdto_prio_one() and
+ hunt_server_prio_cmd() to send SETTIME
+
+ * ircd/m_server.c: use sendcmdto_prio_one() to send SETTIME
+
+ * include/send.h: removed declaration for unused vsendcmdto_one();
+ added a declaration for sendcmdto_prio_one()
+
+ * include/s_user.h: declare hunt_server_prio_cmd(), which calls
+ sendcmdto_prio_one()
+
+ * ircd/send.c (sendcmdto_flag_butone): oops; /wallops should be
+ put in the server's priority queue, too...
+
+ * ircd/ircd.c: don't check LPATH for accessibility at all
+
+2001-06-08 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/s_serv.c (server_estab): send a +h flag in our SERVER
+ command if we're configured as a hub; send individual server flags
+ in SERVER commands
+
+ * ircd/s_bsd.c (completed_connection): send a +h flag in our
+ SERVER command if we're configured as a hub
+
+ * ircd/m_server.c: implement parv[7] as a mode-like string; +h
+ sets the FLAGS_HUB flag for a server; +s sets the FLAGS_SERVICE
+ flag for a server; +hs sets both flags; also modify CMD_SERVER
+ format string to send the flags
+
+ * include/client.h: define two new flags, FLAGS_HUB and
+ FLAGS_SERVICE to mark services and hubs as such; define testing
+ macros, setting macros
+
+ * ircd/s_user.c: remove deprecated struct Gline* argument to
+ register_user(); remove GLINE rebroadcast; do not send GLINE
+ acknowledgement parameter to NICK; do not look for GLINE
+ acknowledgement parameter to NICK while parsing
+
+ * ircd/s_serv.c (server_estab): remove deprecated struct Jupe*
+ argument to server_estab(); do not send JUPE/GLINE acknowledgement
+ parameters for SERVER or NICK
+
+ * ircd/m_user.c (m_user): remove deprecated argument to
+ register_user()
+
+ * ircd/m_server.c: remove deprecated argument to server_estab();
+ remove documentation comment regarding JUPE acknowledgement
+ parameter to SERVER; remove JUPE rebroadcast
+
+ * ircd/m_pong.c (mr_pong): remove deprecated argument to
+ register_user()
+
+ * ircd/m_nick.c: remove documentation comment regarding GLINE
+ acknowledgement parameter to NICK
+
+ * ircd/jupe.c: use user's real name in JUPE server notices if
+ HEAD_IN_SAND_SNOTICES is defined
+
+ * ircd/ircd.c: remove deprecated chroot() code; remove deprecated
+ setuid code; correct ancient DEBUG vs DEBUGMODE typo
+
+ * ircd/gline.c: use user's real name in GLINE server notices if
+ HEAD_IN_SAND_SNOTICES is defined
+
+ * ircd/channel.c (modebuf_flush_int): make apparent source be
+ local server, not oper's server; use user's real name in hack
+ notices and DESYNC notices if HEAD_IN_SAND_SNOTICES is defined
+
+ * include/s_user.h: remove struct Gline pre-declaration; remove
+ deprecated struct Gline argument from register_user()
+
+ * include/s_serv.h: remove struct Jupe pre-declaration; remove
+ deprecated struct Jupe argument from server_estab()
+
+2001-06-07 Kevin L. Mitchell <klmitch@mit.edu>
+
+ * ircd/s_stats.c (hunt_stats): forward-port from pl15 of all the
+ changes required to control remote stats
+
+ * ircd/s_numeric.c (do_numeric): rewrite numeric origins if
+ recipient is not an operator and HEAD_IN_SAND_REWRITE is defined
+ [forward-port from pl15]
+
+ * ircd/m_whowas.c (m_whowas): report server name only if requester
+ is an operator [forward-port from pl15]
+
+ * ircd/m_whois.c (do_whois): /whois <mynick> now correctly reports
+ my server; if HEAD_IN_SAND_REMOTE is 1, ignore the middle argument
+ and obtain the report from the user's server [forward-port from
+ pl15]
+
+ * ircd/m_who.c: add missing include for ircd_policy.h
+ [forward-port from pl15]
+
+ * ircd/m_version.c (m_version): require oper access for remote
+ /version if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15]
+
+ * ircd/m_time.c (m_time): require oper access for remote /time if
+ HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15]
+
+ * ircd/m_stats.c: pass extra argument to hunt_stats(); correct
+ missing semicolon [forward-port from pl15]
+
+ * ircd/m_nick.c (ms_nick): hide the origin of certain collision
+ kills [forward-port from pl15]
+
+ * ircd/m_motd.c (m_motd): require oper access for remote /motd if
+ HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15]
+
+ * ircd/m_lusers.c (m_lusers): require oper access for remote
+ /lusers if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15]
+
+ * ircd/m_burst.c (ms_burst): server-added bans are stored using
+ local server name, to hide remote server names; modes also are to
+ originate from the local server [forward-port from pl15]
+
+ * ircd/m_admin.c (m_admin): require oper access for remote /admin
+ if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15]
+
+ * ircd/channel.c (add_banid): if a server is adding a ban, use my
+ server name to hide the remote server's name [forward-port from
+ pl15]
+
+ * ircd/Makefile.in: ran make depend
+
+ * include/s_stats.h: hunt_stats() has to have an extra argument to
+ support the forward-port from pl15
+
+ * include/ircd_policy.h: #define HEAD_IN_SAND_STATS_P; add
+ HEAD_IN_SAND_{BANWHO,REWRITE,REMOTE} [forward-port from pl15]
+
+ * ircd/engine_poll.c (engine_loop): remove bogus assert that I
+ forgot to check in the events branch
+
2001-06-06 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/res.c (init_resolver): don't start DNS expires with a 0