-2000-12-17 Isomer <Isomer@coders.net>
- * ircd/os_linux.c: add TOS stuffs
+2001-11-01 Kevin L Mitchell <klmitch@mit.edu>
- * ircd/listener.c: add TOS stuffs
+ * ircd/send.c: some minor white-space fiddling; recast selector
+ test in sendwallto_group_butone() to remove a warning regarding
+ putting & within parentheses [forward-port from u2.10.11]
-2000-12-16 Kevin L. Mitchell <klmitch@mit.edu>
+ * ircd/m_create.c (ms_create): use time_t instead of int as a
+ declaration for rate [forward-port from u2.10.11]
- * ircd/whocmds.c (do_who): use HasPriv to determine whether or not
- to indicate a user is an oper
+ * ircd/ircd_reply.c (protocol_violation): it's supposed to be
+ WALL_DESYNCH, not CMD_DESYNCH, if I understand things right--no
+ wonder we weren't seeing any protocol violations! [forward-port
+ from u2.10.11]
- * ircd/s_user.c: clear privileges setting when deopping; don't
- propagate +o unless user has PRIV_PROPAGATE privilege
+ * include/send.h: include time.h for time_t; move WALL_* closer to
+ the function they're used in; some white-space fiddling; add
+ declaration of sendto_opmask_butone_ratelimited() [forward-port
+ from u2.10.11]
- * ircd/s_debug.c (debug_serveropts): created debug_serveropts()
- function and replaced how the server option string is generated
+ * ircd/m_squit.c (ms_squit): add protocol_violation() calls in the
+ cases where we ignore a squit, so we aren't taken by surprise, at
+ least... [forward-port from u2.10.11]
- * ircd/parse.c: remove conditional on CONFIG_OPERCMDS
+ * ircd/m_create.c (ms_create): Display origin server, not origin
+ user [forward-port from u2.10.11]
- * ircd/m_whois.c (do_whois): use HasPriv to determine whether or
- not to indicate the user is an operator
+2001-11-02 Perry Lorier <isomer@coders.net>
+ * fixed TS drift message to use sptr, not cptr
- * ircd/m_who.c: use HasPriv to determine whether or not a user
- should be displayed in the list of opers
+2001-10-31 Perry Lorier <isomer@coders.net>
+ * fixed ping *bug*
- * ircd/m_version.c: call debug_serveropts() to get server option
- string
+2001-10-31 Perry Lorier <isomer@coders.net>
+ * fixed hunt_server
- * ircd/m_userip.c (userip_formatter): use HasPriv to determine
- whether or not to show oper status
-
- * ircd/m_userhost.c (userhost_formatter): use HasPriv to determine
- whether or not to show oper status
-
- * ircd/m_restart.c (mo_restart): replace ugly #ifdef conditional
- checks with HasPriv check; remove dead code
-
- * ircd/m_rehash.c (mo_rehash): replace ugly #ifdef conditional
- checks with HasPriv check
-
- * ircd/m_opmode.c (mo_opmode): use HasPriv to check permissions;
- use feature_bool to check if disabled
-
- * ircd/m_oper.c (m_oper): set oper priviliges
-
- * ircd/m_mode.c (m_mode): replace #ifdef conditional with HasPriv
- check
-
- * ircd/m_kill.c (mo_kill): use HasPriv checks to determine if we
- can kill
-
- * ircd/m_kick.c (m_kick): replace #ifdef conditional with HasPriv
- check
-
- * ircd/m_jupe.c (mo_jupe): rework permissions checking structure;
- use feature_bool to check if disabled
-
- * ircd/m_join.c (m_join): remove BADCHAN conditional; replace
- #ifdef conditional with a HasPriv check
-
- * ircd/m_gline.c (mo_gline): rework permissions checking
- structure; use feature_bool to check if any part is disabled
-
- * ircd/m_die.c: replace ugly #ifdef conditionals with HasPriv
- check; remove dead code
-
- * ircd/m_clearmode.c: use feature_bool() to detect if we're
- disabled; use HasPriv to figure out what we're permitted to do;
- only allow clearmode on moded channels
-
- * ircd/ircd_features.c: define various features; use HasPriv to
- verify permissions to set/reset
-
- * ircd/gline.c (gline_add): use HasPriv instead of #ifdef
- conditionals
-
- * ircd/client.c (client_set_privs): function to set an oper's
- privileges
-
- * ircd/channel.c: use HasPriv calls instead of #ifdef conditionals
-
- * include/whocmds.h: deconditionalize several macros and
- substitute appropriate calls to HasPriv()
-
- * include/s_debug.h: get rid of global serveropts[]; define new
- function debug_serveropts() to build that string on the fly
-
- * include/ircd_features.h: define some features
-
- * include/client.h: add privs member to struct Connection; define
- various priviledges
-
- * include/channel.h: no longer using IsOperOnLocalChannel; remove
- conditional of MAGIC_OPER_OVERRIDE on OPER_WALK_THROUGH_LMODES
-
- * doc/Configure.help: remove help information for deprecated
- options
-
- * config/config-sh.in: remove certain deprecated options having to
- do with what opers can and cannot do--first stage in moving
- compile-time constants into the .conf
-
-2000-12-16 Isomer <Isomer@coders.net>
- * ircd/parse.c: detect if the prefix is missing and try and recover
- instead of coring.
-
-2000-12-15 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/ircd_log.c: found and fixed some bugs in the debug logging
- code that would sometimes result in the log file not being
- reopened--which meant that a user could connect and get the
- logging output--oops
-
- * ircd/Makefile.in: run make depend...
-
- * ircd/s_stats.c: get rid of report_feature_list()
-
- * ircd/s_err.c: add the 'bad value' error message, shift error
- messages over somewhat
-
- * ircd/s_debug.c (debug_init): call log_debug_init with the
- use_tty flag
-
- * ircd/s_conf.c (read_configuration_file): unmark features before
- reading the config file, then reset unmarked features after
- reading the config file
-
- * ircd/m_stats.c: use feature_report() instead of
- report_feature_list()
-
- * ircd/ircd_log.c: fix log_debug_file (bogus assertion); add
- special 'mark' flags and use them; add the stuff needed by the
- features API
-
- * ircd/ircd_features.c: rework the features API and add gobs of
- comments to try to explain what some of these complex functions
- are actually doing
-
- * include/s_stats.h: get rid of report_feature_list(); use
- feature_report() instead
-
- * include/numeric.h: added a new error message and shifted old
- values over some--this is, after all, an alpha
-
- * include/ircd_log.h: log_debug_init now takes an integer to tell
- it if it should be using the tty; added a couple of functions
- required by the features API
-
- * include/ircd_features.h: add an enum and some more functions to
- flesh out the feature API--it should now be possible to put all
- those compile-time constants in the config file!
-
- * ircd/send.c: got the direction of the assert incorrect...
-
- * ircd/send.c: implement the efficiency of flush_connections by
- creating a linked list of struct Connection's with queued data;
- also get rid of flush_sendq_except and make sure to yank
- connections out of the list when their sendQs become empty (notice
- the assertion in flush_connections!)
-
- * ircd/s_bsd.c (close_connection): must yank the Connection out of
- the sendq list
-
- * ircd/list.c (dealloc_connection): must yank the Connection out
- of the sendq list
-
- * ircd/dbuf.c (dbuf_put): call flush_connections instead of the
- deprecated flush_sendq_except
-
- * ircd/client.c: define a couple new helper functions for sendq
- threading--this will make the flush_connections function in send.c
- considerably more efficient by creating a linked list of
- Connections that have queued data to send
-
- * include/send.h: remove flush_sendq_except, as it's not used
- anymore
-
- * include/client.h: declare a couple new helper functions for the
- sendq threading system
-
-2000-12-14 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/m_ison.c (m_ison): Apply Diane Bruce's patch to make ISON
- parse all arguments
-
- * ircd/s_debug.c (count_memory): modify to report for clients and
- connections, not local clients and remote clients
-
- * ircd/list.c: fiddle with the client-fiddling functions to take
- into account the divorce of struct Connection from struct Client
-
- * ircd/ircd.c: define a struct Connection for me, initialize it,
- and link it into the right place (ewww, globals!)
-
- * include/client.h: remove CLIENT_{LOCAL,REMOTE}_SIZE; split
- struct Client into struct Client and struct Connection; redefine
- local-portion accessor macros to go through struct Client to the
- struct Connection; define struct Connection accessor macros
-
-2000-12-13 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/whowas.c: missed a couple of accesses to a struct Client
-
- * ircd/uping.c: missed a couple of accesses to a struct Client
-
- * ircd/send.c: missed a couple of accesses to a struct Client
-
- * ircd/s_user.c: missed a couple of accesses to a struct Client
-
- * ircd/s_misc.c: missed a couple of accesses to a struct Client
-
- * ircd/s_conf.c: missed a couple of accesses to a struct Client
-
- * ircd/s_bsd.c: missed a couple of accesses to a struct Client
-
- * ircd/s_auth.c: missed a couple of accesses to a struct Client
-
- * ircd/res.c: missed a couple of accesses to a struct Client
-
- * ircd/parse.c: missed a couple of accesses to a struct Client
-
- * ircd/m_whois.c: use new accessor macros for struct Client
-
- * ircd/m_who.c: use new accessor macros for struct Client
-
- * ircd/m_wallchops.c: use new accessor macros for struct Client
-
- * ircd/m_version.c: use new accessor macros for struct Client
-
- * ircd/m_userip.c: use new accessor macros for struct Client
-
- * ircd/m_userhost.c: use new accessor macros for struct Client
-
- * ircd/m_user.c: use new accessor macros for struct Client
-
- * ircd/m_uping.c: use new accessor macros for struct Client
-
- * ircd/m_trace.c: use new accessor macros for struct Client
-
- * ircd/m_topic.c: use new accessor macros for struct Client
-
- * ircd/m_time.c: use new accessor macros for struct Client
-
- * ircd/m_stats.c: use new accessor macros for struct Client
-
- * ircd/m_squit.c: use new accessor macros for struct Client
-
- * ircd/m_silence.c: use new accessor macros for struct Client
-
- * ircd/m_server.c: use new accessor macros for struct Client;
- remove dead code
-
- * ircd/m_rpong.c: use new accessor macros for struct Client
-
- * ircd/m_rping.c: use new accessor macros for struct Client
-
- * ircd/m_quit.c: use new accessor macros for struct Client
-
- * ircd/m_privmsg.c: use new accessor macros for struct Client
-
- * ircd/m_pong.c: use new accessor macros for struct Client; remove
- dead code
-
- * ircd/m_ping.c: use new accessor macros for struct Client
-
- * ircd/m_pass.c: use new accessor macros for struct Client
-
- * ircd/m_part.c: use new accessor macros for struct Client
-
- * ircd/m_oper.c: use new accessor macros for struct Client
-
- * ircd/m_notice.c: use new accessor macros for struct Client
-
- * ircd/m_nick.c: use new accessor macros for struct Client
-
- * ircd/m_names.c: use new accessor macros for struct Client
-
- * ircd/m_mode.c: use new accessor macros for struct Client
-
- * ircd/m_map.c: use new accessor macros for struct Client
-
- * ircd/m_list.c: use new accessor macros for struct Client
-
- * ircd/m_links.c: use new accessor macros for struct Client;
- remove some dead code
-
- * ircd/m_kill.c: use new accessor macros for struct Client; remove
- some dead code
-
- * ircd/m_kick.c: use new accessor macros for struct Client
-
- * ircd/m_join.c: use new accessor macros for struct Client; remove
- some dead code
-
- * ircd/m_ison.c: use new accessor macros for struct Client
-
- * ircd/m_invite.c: use new accessor macros for struct Client
-
- * ircd/m_info.c: use new accessor macros for struct Client
-
- * ircd/m_gline.c: use new accessor macros for struct Client
-
- * ircd/m_error.c: use new accessor macros for struct Client
-
- * ircd/m_create.c: use new accessor macros for struct Client
-
- * ircd/m_connect.c: use new accessor macros for struct Client;
- removed some dead code
-
- * ircd/m_burst.c: use new accessor macros for struct Client
-
- * ircd/m_away.c: use new accessor macros for struct Client
-
- * ircd/m_admin.c: use new accessor macros for struct Client
-
- * ircd/hash.c: missed a couple of accesses to a struct Client
-
- * ircd/gline.c: missed a couple of accesses to a struct Client
-
- * ircd/crule.c: missed a couple of accesses to a struct Client
-
- * ircd/class.c: missed an access to a struct Client
-
- * ircd/channel.c: missed a couple of accesses to a struct Client
-
- * ircd/IPcheck.c: missed an access to a struct Client
-
- * include/querycmds.h: fix a couple of stats macros to use
- structure accessor macros
-
- * include/client.h: change structure member names to highlight any
- places in the code I've missed
-
-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
- from motd_clear()
-
- * ircd/ircd.c (main): motd_init() has to come before init_conf(),
- or we overwrite init_conf()'s hard work with respect to T-lines
-
-2000-11-27 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/s_stats.c: comment out report_motd_list and include a
- reference to motd_report()
-
- * ircd/s_conf.c: rip out the old MOTD manipulation functions; call
- motd_add() from the conf parser; call motd_clear() from the rehash
- routine; remove the no longer needed memory clearing and reloading
- stuff from the rehash service routine
-
- * ircd/motd.c: loads new API, including static internal functions
- to do allocation/deallocation, etc.
-
- * ircd/m_stats.c: use new motd_report() instead of
- report_motd_list()
-
- * ircd/m_motd.c: use new syntax for motd_send()
-
- * ircd/ircd.c: use new motd_init() function
-
- * ircd/Makefile.in (SRC): forgot to add motd.c to SRC in
- Makefile.(in); also ran make depend
-
- * include/motd.h: don't need config.h, but now do need time.h;
- define new structures and constants; redefine old API and define
- new functions
-
-2000-11-22 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/s_user.c (register_user): use motd_signon() instead of
- calling m_motd; much cleaner this way
-
- * ircd/motd.c: write the new motd_* stuff to make MOTD handling
- less of a crock
-
- * ircd/m_motd.c: rewrite m{,s}_motd to call out to new motd_*
- functions
-
- * include/motd.h: define new MOTD API stuff
-
-2000-11-20 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/ircd_reply.c (protocol_violation): rewrite
- protocol_violation so it'll actually work
-
- oh, yeah, use %s -> cptr->name, instead of %c -> cptr, so we get
- the client's real name in there.
-
- * ircd/m_motd.c (m_motd): Iso's addition of get_client_class(sptr)
- resulted in core dumps if NODEFAULTMOTD is defined, because m_motd
- gets called from register_user with a NULL sptr. This is probably
- a design problem, but this bandaid will do for now...
-
-2000-11-19 Isomer <isomer@coders.net>
- * ircd/ircd_reply.c: added 'protocol_violation', thus alerting us
- to problems in the server<->server protocol.
-
- * ircd/m_connect.c: allow remote connects with a port of '0'
- meaning to use the port in the config file.
-
- * ircd/m_create.c: Enable hacking protection, lets see how far we
- get.
-
- * ircd/m_error.c: The RFC says never accept ERROR from unreg'd
- clients, so we don't any more.
-
- * ircd/m_kill.c: The kill path is now made up of numnicks of servers,
- and the user@host is displayed of the victim.
-
- * ircd/m_map.c: reloaded 'dump_map'.
-
- * ircd/m_trace.c: allow per class T:
-
- * ircd/m_stats.c: allow local opers /remote stats anywhere on the 'net.
-
-2000-11-17 Isomer <isomer@coders.net>
-
- * ircd/m_topic.c: Fixed bug where we'd only send to clients topics
- that were the *same* instead of different. Oh the embarrasment!
-
- * ircd/IPcheck.c: Merged net's fix.
-
-2000-11-02 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/m_whois.c: remove compiler warning by adding a newline to
- end of file
-
- * ircd/m_names.c: moved the flags up to s_user.h
-
- * ircd/m_join.c: call do_names instead of m_names; restructure
- ms_join to never transmute a JOIN into a CREATE, but use the TS in
- the JOIN (if present) to timestamp the channel
-
- * ircd/channel.c: send JOINs individually, instead of grouping
- them, so that we can send the channel's creation time
-
- * include/s_user.h: declare do_names()
-
-2000-10-30 Isomer <isomer@coders.net>
- * ircd/m_oper.c: Fixed warning
-
-2000-10-30 Isomer <isomer@coders.net>
- * ircd/m_oper.c: Fixed over agressive cut and no paste
-
-2000-10-30 Isomer <isomer@coders.net>
-
- * ircd/m_topic.c: Restructured, fixed bug where topics on local
- channels are propergated (I forget who pointed this out to me, but
- thanks anyway). Also to save bandwidth don't send the topic to
- users if the topic is already the same on the server (but still
- propergate to other servers). X/W's "autotopic" feature must
- chew a lot of bandwidth, hopefully this will help reduce this.
-
- * doc/rfc1459.rfc: Updated documentation on /topic.
-
- * ircd/listener.c: snotice warnings about failed accept()'s
- potentially warning admins that they're running out of fd's.
-
- * ircd/stats.c, ircd/class.c: Removed /stats v, added number of
- people in a class in /stats y
-
- * ircd/m_create.c: Checks for timewarp hacking and squit's
- evil servers. (currently disabled)
-
-
-2000-10-30 net <simms@lucida.qc.ca>
-
- * ircd/gline.c: Fixed various bugs Isomer left behind.
-
-2000-10-26 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/m_join.c (m_join): reply on attempt to join a BADCHANed
- channel is now ERR_BANNEDFROMCHAN instead of ERR_BADCHANNAME
-
-2000-10-24 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/channel.c: ok, now last mode rules; mode +ps will always
- result in +s (and won't send a mode if the channel is already +s);
- mode +sp will always result in +p; -n+n on a +n channel results in
- no mode change; -n+n on a -n channel results in a +n mode change;
- etc.
-
-2000-10-23 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/channel.c: add "add" and "del" elements to ParseState to
- avoid not-too-pretty -p+s when +s is sufficient; fix a bug in
- mode_parse_limit that caused it to clear all channel modes
- prematurely; restructure mode_parse_mode to avoid calling
- modebuf_mode too early (ties in with first mentioned change);
- better logic for +p/+s mutual exclusivity; initialize "add" and
- "del" elements in mode_parse; send simple modes down to
- modebuf_mode after the loop in mode_parse
-
-2000-09-28 Greg Sikorski <gte@atomicrevs.demon.co.uk>
- * ircd/m_names.c: Fixed a non-lethal logic error that
- triggers an assert() in find_member_link while debugging.
- (Spotted by Maniac-).
-2000-09-19 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c: move K:lines to their own list and data
- structures, add supporting code.
- * ircd/m_stats.c: cleanup stats processing a bit move
- kline listing code to a new function, haven't figured
- out where it goes yet tho'
- * ircd/s_stats.c: added K:line bulk lister
- * include/s_conf.h: added new DenyConf struct
- * *[ch]: fixeup code that depended on changes
-
-2000-09-17 Thomas Helvey <helveytw@home.com>
- * ircd/class.c: encapsulate class list
- * include/class.h: clean up classes
- * * fixup code that depended on changes
-
-2000-09-17 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c: add me to local conf
- * include/s_conf.h: move CONF_ME macro to chkconf.c
- * ircd/s_bsd.c: cleanup initialization, allow virtual host
- to be changed by rehash
-
-2000-09-17 Thomas Helvey <helveytw@home.com>
- * include/class.h: add missing prototype
- * ircd/class.c: make argument to get_conf_class const
-
-2000-09-17 Thomas Helvey <helveytw@home.com>
- * ircd/*.c: merged in changes from 2.10.10.pl12, cleanup
- merge conflicts.
- * ircd/*.h: merged in changes from 2.10.10.pl12, cleanup
- merge conflicts
-
-2000-09-16 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c: add code for server struct
- * ircd/client.c: copy of class.c sort of, new file for client
- specific operations, will move things here as appropriate,
- currently only one function is exported from here.
- * ircd/*.c: general logic cleanups, convert negatives to
- positives in places.
-
-2000-09-16 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c: add code for new crule data structs, strip quotes
- * ircd/crule.c: clean up scary casting a bit, type safety stuff
- * include/s_conf.h: add CRuleConf struct and support, remove
- unused constants
- * include/crule.h: type safety cleanups
- * ircd/*.c: fixup code that depended on stuff I changed
-
-2000-09-15 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c: start adding code for new conf data structs, changed
- listeners, admin line, motd lines, class lines. Move validate_hostent
- to resolver. General mayhem.
- * include/s_conf.h: new data structs and accessors
- * ircd/res.c: move validate_hostent here, rewrite, use regular
- expression for validation.
- * doc/example.conf: update docs for port
-
-2000-09-14 Thomas Helvey <helveytw@home.com>
- * ircd/s_conf.c (conf_init): rewrite conf file parser, start to break
- up conf_init into managable chunks.
- * ircd/listener.c (set_listener_mask): fix logic bug core dump.
- * include/s_conf.h: add new data struct for local info (unwinding the mess).
-
-2000-09-13 Thomas Helvey <helveytw@home.com>
- * ircd/list.c: put Clients in free lists, pre-allocate MAXCONNECTIONS
- local clients.
- * ircd/list.c: put SLinks in free lists
- * ircd/channel.c: put Memberships in free lists
- * ircd/ircd.c: rearrange initializations a bit in main
- Note: With these changes, ircd NEVER frees Clients, SLinks or
- Memberships. It will also rarely need to allocate new
- ones during net bursts and other disruptions. This should
- cut down on memory fragmentation a bit as well.
-
-2000-08-30 Kevin L. Mitchell <klmitch@mit.edu>
-
- * ircd/m_names.c (do_names): pull-up from do_names fix in
- u2.10.10.pl11
-
-2000-07-15 Perry Lorier <Isomer@coders.net>
- * various: IP only k:'s and G:'s now do bit tests instead of two(!)
- match()'s. Major Major cpu savings. Also speed up the
- other case slightly. As a side effect you can now
- k/Gline *@10.0.0.0/8. I'll do bans tomorrow, it's nearing
- 3am.
-
-2000-07-15 Perry Lorier <Isomer@coders.net>
- * various: Fixed warnings after compiling on an alpha.
-2000-07-09 Perry Lorier <Isomer@coders.net>
- * doc/ircd.8: Applied grammitical changes by Liandrin, applied
- changes suggested by various other people.
- * ircd/IPcheck.c: More bug fixes. Current problem appears to be
- that it gets a corrupt entry somehow.
-2000-07-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
- * ircd/m_oper.c: Clean up compiler warning.
-
-2000-07-08 Perry Lorier <Isomer@coders.net>
- * doc/ircd.8: Updated the documentation, it was slightly out of date
- being updated around 1989.
- * ircd/m_whois.c: Rewrote for clarity, and probably a bit more speed.
- fixed a few minor glitches.
- * doc/rfc1459.unet: Updated.
- * ircd/IPcheck.c: Fixed more bugs.
- * ircd/s_bsd.c: We now keep track of servers we've conected.
-
-2000-07-02 Perry Lorier <Isomer@coders.net>
- * ircd/s_misc.c: Fixed remote IPcheck bug. Ok, I'm a moron, so sue
- me. Thanks to Hektik, thanks thanks thanks thanks
- thanks thanks thanks thanks thank thanks thank thanks
-
-2000-07-01 Perry Lorier <Isomer@coders.net>
- * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s.
- * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings.
-
-2000-06-22 Perry Lorier <Isomer@coders.net>
- * ircd/IPcheck.c: Large chunks redone.
- * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported,
- single AND double digit limits are allowed now.
- * misc other: Changes to IPcheck.
-
-2000-06-30 Perry Lorier <Isomer@coders.net>
- * ircd/ircd.c: Fix command line parameter bugs.
-
-2000-06-30 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.
-
- * 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 (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...
-
- * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
-
- * ircd/channel.c (modebuf_flush): realized I forgot to
- nul-terminate addbuf/rembuf properly...
-
- * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
-
- * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
- sendto_serv_butone--blah^2
-
- * ircd/send.c (sendto_serv_butone): stupid comments confused me
-
- * ircd/channel.c (modebuf_flush): if there are no mode changes to
- propagate, we're done...
-
- * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
- not sendto_all_butone
-
- * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
-
- * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
-
- * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
- the list
-
- * ircd/parse.c: added messages for opmode and clearmode
-
- * include/handlers.h: added declarations for mo_opmode(),
- ms_opmode(), mo_clearmode(), and ms_clearmode()
-
- * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
- TOK_CLEARMODE
-
- * include/channel.h (MODEBUF_DEST_OPMODE): Define the
- MODEBUF_DEST_OPMODE flag
-
- * ircd/channel.c (modebuf_flush): added new flag,
- MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
- to originate from source's server (or source itself, if
- IsServer(source)); also causes a server-level MODE to be sent as
- OPMODE instead
-
- * include/channel.h: defined MODEBUF_DEST_SERVER,
- MODEBUF_DEST_HACK4
-
- * ircd/channel.c: Add another argument to build_string() to handle
- numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
- servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
- to be sent out
-
-2000-03-27 Perry Lorier <isomer@coders.net>
-
- * ircd/s_bsd.c: fixed missing 'u' typo.
-
-2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
-
- * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
- _mode_string(), _mode_client(), _flush(); also implemented a
- simple build_string()
-
- * include/channel.h: added definition of ModeBuf, modebuf_*
- manipulation functions, and a couple of helper macros
-
-2000-03-24 Thomas Helvey <tomh@inxpress.net>
- * numicks.c: convert extended numerics to use original mask version
- * numnicks.h: ""
- * s_user.c:
-2000-03-23 Thomas Helvey <tomh@inxpress.net>
- * Merge in changes from production
-2000-03-22 Thomas Helvey <tomh@inxpress.net>
- * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
- * rfc1459.unet: Add Maniac's documentation for /names 0
-* Fix misc. jupe bugs that somehow made it into the tree
-* Escape /names 0 to mean /names --Maniac
-* Don't core when server asks for info --Maniac
-* Add Kev's jupe patch --Bleep
-* Add Maniacs squit patch --Bleep
-* Merge in u2_10_10_beta07 changes --Bleep
-* Merge in u2_10_10_beta06 changes --Bleep
-* Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
-#-----------------------------------------------------------------------------