Author: Kev <klmitch@mit.edu>
[ircu2.10.12-pk.git] / ChangeLog
index dc1ad39979ec344a7cefe7d000f1a86eec3ea39a..79e9a38544c1fc2e438031dbc10a2995b9cdb932 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,459 @@
+2000-12-12  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/whowas.c: use new struct Client accessor macros
+
+       * ircd/whocmds.c: use new struct Client accessor macros
+
+       * ircd/send.c: use new struct Client accessor macros
+
+       * ircd/s_user.c: use new struct Client accessor macros; removed
+       some dead code
+
+       * ircd/s_serv.c: use new struct Client accessor macros; removed
+       some dead code
+
+       * ircd/s_numeric.c: use new struct Client accessor macros
+
+       * ircd/s_misc.c: use new struct Client accessor macros
+
+       * ircd/s_debug.c: use new struct Client accessor macros
+
+       * ircd/s_conf.c: use new struct Client accessor macros
+
+       * ircd/s_bsd.c: use new struct Client accessor macros
+
+       * ircd/s_auth.c: use new struct Client accessor macros
+
+       * ircd/parse.c: use new struct Client accessor macros
+
+       * ircd/packet.c: use new struct Client accessor macros
+
+       * ircd/numnicks.c: use new struct Client accessor macros
+
+       * ircd/motd.c: use new struct Client accessor macros
+
+       * ircd/listener.c: use new struct Client accessor macros
+
+       * ircd/list.c: use new struct Client accessor macros
+
+       * ircd/jupe.c: use new struct Client accessor macros
+
+       * ircd/ircd_snprintf.c: use new struct Client accessor macros
+
+       * ircd/ircd_reply.c: use new struct Client accessor macros
+
+       * ircd/ircd_relay.c: use new struct Client accessor macros
+
+       * ircd/ircd.c: use new struct Client accessor macros
+
+       * ircd/gline.c: catch some instances of me.<stuff> I missed
+       previously
+
+       * ircd/client.c: use cli_ instead of con_
+
+       * ircd/class.c: use cli_ instead of con_
+
+       * ircd/channel.c: use cli_ instead of con_
+
+       * ircd/IPcheck.c: use cli_ instead of con_; catch some instances
+       of me.<stuff> I missed previously
+
+       * include/client.h: use cli_ instead of con_...seemed like a good
+       idea at the time *shrug*
+
+2000-12-11  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/hash.c: use struct Client accessor macros
+
+       * ircd/gline.c: use struct Client accessor macros
+
+       * ircd/crule.c: use struct Client accessor macros
+
+       * ircd/client.c: use struct Client accessor macros; remove some
+       dead code
+
+       * ircd/class.c: use struct Client accessor macros
+
+       * ircd/channel.c: use struct Client accessor macros; remove some
+       dead code
+
+       * ircd/IPcheck.c: use struct Client accessor macros
+
+       * include/numnicks.h: use struct Client accessor macros
+
+       * include/client.h: first step to divorcing struct Client and
+       struct Connection--define accessor macros and use them
+
+       * ircd/gline.c: When Uworld removed Uworld-set G-lines, only the
+       uplink would remove them.  This is because the removal protocol
+       message wasn't being sent to the uplinks.  This is fixed by fixing
+       propagate_gline() to send the proper number of arguments depending
+       on whether or not we're adding or deleting the Uworld gline, and
+       by having gline_deactivate() make sure to turn off the active bit
+       and call propagate_gline() if it's a Uworld gline
+
+2000-12-10  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/os_generic.c: make sure IOV_MAX gets defined, just in case
+
+       * ircd/os_bsd.c: apparently BSD doesn't have IOV_MAX defined
+       anywhere intelligent...
+
+2000-12-09  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/send.c (send_queued): call deliver_it with appropriate
+       arguments
+
+       * ircd/s_serv.c: reorder a couple of headers--cosmetic
+
+       * ircd/s_bsd.c (deliver_it): make deliver_it work with a struct
+       MsgQ
+
+       * ircd/os_solaris.c (os_sendv_nonb): function for calling writev
+       with appropriate iovec
+
+       * ircd/os_linux.c (os_sendv_nonb): function for calling writev
+       with appropriate iovec
+
+       * ircd/os_generic.c (os_sendv_nonb): function for calling writev
+       with appropriate iovec
+
+       * ircd/os_bsd.c (os_sendv_nonb): function for calling writev with
+       appropriate iovec
+
+       * ircd/msgq.c (msgq_mapiov): add a len_p argument for totalling up
+       exactly how much we're trying to write out to the fd
+
+       * include/s_bsd.h: make deliver_it take a struct MsgQ
+
+       * include/msgq.h: add a len_p argument to msgq_mapiov to help
+       detect short writes that indicate possible socket blocking
+
+       * include/ircd_osdep.h: declare os_sendv_nonb()
+
+       * ircd/channel.c (modebuf_mode): don't add empty modes...
+
+2000-12-08  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/send.h: add prio argument to send_buffer to select
+       between normal and priority queues
+
+       * ircd/s_user.c (send_user_info): add prio argument to send_buffer
+       call
+
+       * ircd/m_ison.c (m_ison): add prio argument to send_buffer call
+
+       * ircd/ircd_reply.c (send_reply): add prio argument to send_buffer
+       call
+
+       * ircd/channel.c (send_channel_modes): add prio argument to
+       send_buffer call
+
+       * ircd/send.c (send_buffer): add a prio argument to select the
+       priority queue; update send.c functions to use it
+
+       * ircd/msgq.c (msgq_add): remove msgq_prio; fold msgq_link and
+       msgq_add; add a prio argument to msgq_add to select the priority
+       queue
+
+       * include/msgq.h: remove msgq_prio; add a prio argument to
+       msgq_add
+
+       * ircd/send.c: remove sendbuf; remove GODMODE code; switch to
+       using msgq functions instead of dbuf functions; remove old, dead
+       sendto_* functions; redo send_buffer to take a struct MsgBuf;
+       rework sendcmdto_* functions to make use of the new struct MsgBuf
+
+       * ircd/s_user.c: remove hunt_server; restructure send_user_info to
+       make appropriate use of struct MsgBuf
+
+       * ircd/s_debug.c (count_memory): count memory used by the MsgQ
+       system and report it
+
+       * ircd/s_conf.c (read_configuration_file): use
+       sendto_opmask_butone instead of the now dead sendto_op_mask
+
+       * ircd/s_bsd.c: switch to using appropriate MsgQLength and other
+       calls on sendQ
+
+       * ircd/parse.c (parse_server): get rid of a piece of GODMODE code
+
+       * ircd/msgq.c: add msgq_append and msgq_bufleft; fix a bug in
+       msgq_clean
+
+       * ircd/m_version.c: fix spelling in comments marking dead code
+
+       * ircd/m_userip.c (userip_formatter): restructure to make use of
+       struct MsgBuf
+
+       * ircd/m_userhost.c (userhost_formatter): restructure to make use
+       of struct MsgBuf
+
+       * ircd/m_stats.c: use MsgQLength on a sendQ
+
+       * ircd/m_settime.c: use MsgQLength instead of DBufLength on a
+       sendQ; mark a piece of dead code
+
+       * ircd/m_names.c: use send_reply instead of sendto_one
+
+       * ircd/m_mode.c: use new mode; remove old dead code
+
+       * ircd/m_ison.c (m_ison): restructure to make use of struct MsgBuf
+
+       * ircd/m_burst.c: use BUFSIZE instead of IRC_BUFSIZE; remove old
+       dead code
+
+       * ircd/listener.c (accept_connection): use sendto_opmask_butone
+       instead of sendto_op_mask
+
+       * ircd/list.c (free_client): use MsgQClear to clear sendQ
+
+       * ircd/ircd_reply.c: remove send_error_to_client; restructure
+       send_reply to make use of struct MsgBuf
+
+       * ircd/dbuf.c (dbuf_put): remove argument to flush_sendq_except,
+       since its no longer used (at least currently)
+
+       * ircd/channel.c: restructure send_channel_modes to make use of
+       struct MsgBuf; remove set_mode, add_token_to_sendbuf, cancel_mode,
+       and send_hack_notice; use BUFSIZE instead of IRC_BUFSIZE
+
+       * ircd/Makefile.in: add msgq.c to list of sources; run make depend
+
+       * ircd/IPcheck.c: use sendcmdto_one instead of sendto_one
+
+       * include/send.h: send_buffer now takes a struct MsgBuf * instead
+       of a char *; flush_sendq_except now takes no arguments, as sendq
+       flushing currently only happens in dbuf.h and sendQ is a struct
+       MsgQ; remove prototypes for a lot of old sendto_* functions that
+       aren't used anymore; remove sendbuf and IRC_BUFSIZE--the former is
+       no longer needed, and the latter is identical to BUFSIZE in
+       ircd_defs.h
+
+       * include/s_user.h: make InfoFormatter take a struct MsgBuf*
+       instead of a char *; also make it return void, instead of char *
+
+       * include/msgq.h: add msgq_append and msgq_bufleft functions
+
+       * include/client.h: use a struct MsgQ instead of a struct DBuf for
+       sendq
+
+       * doc/Configure.help: Remove help for compile-time options that
+       have gone away
+
+       * config/config-sh.in: remove CONFIG_NEWMODE
+
+       * ircd/m_server.c (mr_server): don't send server IPs in any server
+       notices
+
+       * ircd/msgq.c (msgq_vmake): add \r\n to messages
+
+2000-12-07  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * include/msgq.h: declare the MsgQ API
+
+       * ircd/msgq.c: implementation of new MsgQ system
+
+2000-12-06  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/ircd_features.c: #include was supposed to be for
+         ircd_features.h, not features.h--missed when I had to do a
+         rename because of namespace collision
+
+2000-12-05  Greg Sikorski <gte@atomicrevs.demon.co.uk>
+       * ircd/m_topic.c: Added missing braces that caused all remote
+         topics to be ignored.
+
+2000-12-04  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/m_create.c: I'm tired of the exit_client warning :)
+       (ms_create): discovered that exit_client() was being called with
+       too few arguments
+
+       * ircd/s_misc.c (exit_client): remove all dependance on
+       FNAME_USERLOG, since that's now gone; log only to LS_USER
+
+       * ircd/s_debug.c: USE_SYSLOG no longer means anything
+
+       * ircd/m_oper.c (m_oper): no longer log to LS_OPERLOG--we already
+       log to LS_OPER
+
+       * ircd/m_kill.c: no longer conditionalize on SYSLOG_KILL
+
+       * ircd/ircd_log.c: remove LS_OPERLOG, LS_USERLOG
+
+       * include/ircd_log.h: remove LS_OPERLOG, LS_USERLOG--they serve
+       the same purpose as LS_USER and LS_OPER
+
+       * config/config-sh.in: remove no longer relevant log config
+       variables
+
+       * ircd/uping.c (uping_init): use log_write instead of ircd_log
+
+       * ircd/s_misc.c (exit_client): use log_write instead of ircd_log
+
+       * ircd/s_conf.c: use log_write instead of ircd_log
+
+       * ircd/s_bsd.c (report_error): use log_write instead of ircd_log
+
+       * ircd/s_auth.c (timeout_auth_queries): use log_write instead of
+       ircd_log
+
+       * ircd/res.c (send_res_msg): use log_write instead of ircd_log
+
+       * ircd/m_who.c: use log_write instead of write_log; no longer
+       conditionalize on WPATH; mark dead ircd_log calls
+
+       * ircd/m_uping.c: mark dead ircd_log call
+
+       * ircd/m_server.c (mr_server): use log_write instead of ircd_log
+
+       * ircd/m_restart.c: use log_write instead of ircd_log; mark dead
+       ircd_log calls
+
+       * ircd/m_rehash.c (mo_rehash): use log_write instead of ircd_log
+
+       * ircd/m_oper.c: use log_write instead of ircd_log; no longer
+       conditionalize on FNAME_OPERLOG; mark dead ircd_log calls
+
+       * ircd/m_kill.c: mark dead ircd_log calls
+
+       * ircd/m_connect.c: use log_write instead of ircd_log; mark dead
+       ircd_log
+
+       * ircd/m_clearmode.c: use log_write instead of write_log; no
+       longer conditionalize on OPATH
+
+       * ircd/jupe.c: use log_write instead of write_log; no longer
+       conditionalize on JPATH
+
+       * ircd/ircd_log.c: add USER subsystem; remove ircd_log() compat
+       function; fix a couple of bugs
+
+       * ircd/ircd_alloc.c: fixed a comment
+
+       * ircd/ircd.c: use log_write instead of ircd_log; fold server
+       notice generation in a couple of cases
+
+       * ircd/gline.c: use log_write instead of write_log; no longer
+       conditionalize on GPATH
+
+       * ircd/channel.c (modebuf_flush_int): use log_write instead of
+       write_log; no longer conditionalize on OPATH
+
+       * ircd/Makefile.in: run make depend, since dependencies have
+       changed
+
+       * doc/example.conf: add system USER to documentation
+
+       * include/ircd_log.h: add system USER; remove old ircd_log()
+       declarations
+
+2000-12-04  Isomer <isomer@coders.net>
+       * ircd/m_names.c: Add NAMES_EON to do_names to say add a
+       'end_of_names' reply when done.
+       * ircd/m_join.c: use NAMES_EON as mentioned above
+
+2000-12-01  net  <simms@LUCIDA.QC.CA>
+
+       * ircd/motd.c: add a freelist for struct Motds
+
+2000-11-30  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_stats.c (report_feature_list): report features--only
+       local opers can see logging configuration, since it doesn't really
+       mean anything to users
+
+       * ircd/s_err.c: add reply messages for new feature subsystem
+
+       * ircd/s_conf.c: add F lines to .conf
+
+       * ircd/parse.c: add the message descriptions for /set, /reset, and
+       /get
+
+       * ircd/m_stats.c: add /stats f
+
+       * ircd/m_set.c (mo_set): implement /set
+
+       * ircd/m_reset.c (mo_reset): implement /reset
+
+       * ircd/m_rehash.c: /rehash m now flushes MOTD cache, and /rehash l
+       reopens log files (for log file rotation)
+
+       * ircd/m_get.c (mo_get): implement /get
+
+       * ircd/ircd_log.c: use int instead of void return value; add
+       log_report_features() and log_canon(); fix a function that
+       disappears if DEBUGMODE not #define'd
+
+       * ircd/ircd_features.c: functions to manipulate feature settings
+       either from the config file or with the new /set, /reset, and /get
+       commands
+
+       * ircd/Makefile.in: add new .c files, run make depend
+
+       * include/s_stats.h: declare report_feature_list() (/stats f
+       handler)
+
+       * include/numeric.h: add RPL_STATSFLINE, RPL_FEATURE,
+       ERR_NOFEATURE, ERR_BADLOGTYPE, ERR_BADLOGSYS, and ERR_BADLOGVALUE
+       reply numerics
+
+       * include/msg.h: add defines for SET, RESET, and GET
+
+       * include/ircd_log.h: add a function to canonicalize subsystem
+       names; change some void return values to int
+
+       * include/ircd_features.h: new features subsystem handles all the
+       manipulation of special features, like log files
+
+       * include/handlers.h: declare new mo_{s,res,g}et message handlers
+       for fiddling with features run-time
+
+       * include/client.h (SNO_DEFAULT): don't set SNO_DEBUG by default;
+       seemed like a good idea at the time...
+
+       * doc/example.conf: document new F lines
+
+2000-11-29  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * ircd/s_debug.c: rewrite debug_init() and vdebug() in terms of
+       new logging functions, which have special support for the debug
+       log; added loop detection to vdebug(), so that I can
+       sendto_opmask_butone() from log_vwrite() without incurring another
+       call to vdebug()
+
+       * ircd/s_conf.c (rehash): call log_reopen() from rehash routine;
+       this allows log file rotations
+
+       * ircd/m_kill.c: call log_write_kill() instead of ircd_log_kill()
+
+       * ircd/ircd_log.c: much more work fleshing out the interface;
+       removed old interface; included backwards-compat ircd_log()
+       function that logs to subsystem LS_OLDLOG
+
+       * ircd/ircd.c: switch to new log_init()/log_close()/log_reopen()
+       functions
+
+       * include/ircd_log.h: include stdarg.h for va_list; move ordering
+       warning to top of file; fill out LogSys enum; declare new
+       log_debug_init(), log_vwrite(), log_write_kill(), and
+       log_[sg]et_*() functions; add flags argument to log_write();
+       defined flags to inhibit various logging actions
+
+       * include/client.h: added support for new SNO_DEBUG, enabled only
+       if DEBUGMODE is defined
+
 2000-11-28  Kevin L. Mitchell  <klmitch@mit.edu>
 
+       * ircd/ircd_log.c: make sure the various LOG_* constants are
+       defined (probably not needed, since #include <syslog.h> isn't
+       conditional); various static data needed for the new logging
+       functions; definitions of new logging functions
+
+       * include/ircd_log.h: new LogSys enum, declarations for part of
+       new logging API
+
        * ircd/motd.c: we were setting type to MOTD_CLASS unconditionally,
        which was of course stupid; switched to using switch/case in
        initialization in motd_create(); zero the MotdList.other pointer