2000-03-30 Perry Lorier * ircd/m_pong.c: Fix ping timeout bugs 2000-03-30 Perry Lorier * ircd/channel.c: Bans had CurrentTime in their when field instead of TStime() 2000-03-31 Thomas Helvey * ircd/numnicks.c (SetXYYCapacity): fix for extended numerics. 2000-03-30 Perry Lorier * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ircd/s_bsd.c: fixed missing 'u' typo. 2000-03-26 Kevin L. Mitchell * 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 * numicks.c: convert extended numerics to use original mask version * numnicks.h: "" * s_user.c: 2000-03-23 Thomas Helvey * Merge in changes from production 2000-03-22 Thomas Helvey * 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 #----------------------------------------------------------------------------- # # ChangeLog for ircu2.10.11 # # $Id: ChangeLog,v 1.53 2000-04-01 07:02:24 isomer Exp $ # # Insert new changes at beginning of the change list. #