1 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
3 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
6 * ircd/gline.c: add flags argument to gline_activate and
7 gline_deactivate for future expansion
9 * ircd/m_gline.c: pass flags to gline_activate and
12 * include/gline.h: add flags argument to gline_activate and
15 * ircd/jupe.c: add flags argument to jupe_activate and
16 jupe_deactivate for future expansion
18 * include/jupe.h: add flags argument to jupe_activate and
21 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
22 local, active; pass flags to jupe_activate and jupe_deactivate
24 * include/gline.h: remove dead code
26 * ircd/gline.c: make gline expire times relative to CurrentTime,
27 since that should be monotonically increasing, instead of
28 TStime(), which can be set backwards, and which can therefore
29 cause an expire time to increase; make local glines be removed
30 instead of just deactivated; don't let gline_find() look for
31 user@host glines if the mask being looked up is a channel mask
33 * ircd/send.c (vsendcmdto_one): forgot to account for the case
34 where origin is a server and destination is a user
36 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
37 since that should be monotonically increasing, instead of
38 TStime(), which can be set backwards, and which can therefore
39 cause an expire time to increase; make local jupes be removed
40 instead of just deactivated
42 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
43 limit is fine. any other warnings I should know about?
45 2000-04-15 Thomas Helvey <tomh@inxpress.net>
47 * ircd/*.c: const correctness and type safety cleanups to
48 get code to compile with C++ compiler. Still has
49 signed/unsigned comparison warnings.
51 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
53 * ircd/userload.c: change <sys/time.h> include to <time.h> for
56 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
58 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
61 * ircd/s_user.c: move gline_lookup function call into
62 register_user, where it'll have a username to lookup!
64 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
65 functions; also stuff send_error_to_client into return clauses
67 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
68 functions; also use send_error_to_client where that makes sense
70 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
71 functions; also use send_error_to_client where that makes sense
73 * ircd/gline.c: modify to utilize new sendcmdto_* series of
74 functions; also fix gline_lookup() to deal properly with remote
75 clients--boy, do struct Client and struct User need to be cleaned
78 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
81 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
82 sendcmdto_serv_butone(), all utilizing the %v conversion of
85 * include/send.h: define IRC_BUFSIZE, max size of a message;
86 declare sendcmdto_one(), vsendcmdto_one(), and
87 sendcmdto_serv_butone()
89 * include/msg.h: define all the CMD_* constants needed to utilize
90 the new sendcmdto_* series of functions
92 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
94 * ircd/gline.c: remove old, dead code.
96 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
97 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
98 (don't advertise proxies); remove dead code
100 * ircd/parse.c: oper handler for JUPE only lists jupes unless
101 CONFIG_OPERCMDS is enabled
103 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
104 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
106 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
107 always return ERR_DISABLED
109 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
110 enabled, always return ERR_DISABLED
112 * ircd/s_err.c: add error message to indicate disabled commands
114 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
116 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
118 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
119 CONFIG_NEW_MODE to 'y' for now
121 * ircd/gline.c (gline_list): fix a minor formatting bogon
123 * BUGS: since I fixed that bug, might as well mark it fixed.
125 * ircd/m_join.c: look up badchans with GLINE_EXACT
127 * ircd/m_gline.c: fix parc count problems; look up existing
128 G-lines with GLINE_EXACT; only set new lastmod when
129 activating/deactivating existing glines if old lastmod was not 0
131 * ircd/gline.c: forgot to copy the gline reason over; don't
132 propagate a gline with 0 lastmod if origin is user; add
133 GLINE_EXACT to force exact matching of gline mask
135 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
138 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
139 but gline_lookup() actually takes a client--d'oh.
141 2000-04-13 Thomas Helvey <tomh@inxpress.net>
142 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
144 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
146 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
148 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
151 * ircd/whocmds.c: Change idle time calc from socket idle to user
154 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
156 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
157 too, for ircd_snprintf.c
159 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
160 comments; mostly descended from the Linux manpage for printf, but
161 also documenting the extensions.
163 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
164 client; make 'q' be the same as 'L'; remove __inline__; only
165 define EXTENSION if HAVE_LONG_LONG is defined
167 * include/handlers.h: declare m_gline()
169 * ircd/parse.c: gline can be called by users, but it only lists
172 * ircd/s_user.c (set_nick_name): resend gline if a remote server
173 introduces a glined client
175 * ircd/s_serv.c (server_estab): burst glines, too
177 * ircd/gline.c: fix up all the expire times to be offsets;
178 simplify gline_resend()
180 * ircd/m_gline.c: begin coding replacements for ms_gline(),
181 mo_gline(), and m_gline()
183 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
184 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
186 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
188 * tools/Bouncer/*: Add comments/documentation/tags.
189 * tools/Bouncer/*: Add debug defines, make task fork().
191 2000-04-12 Thomas Helvey <tomh@inxpress.net>
192 * ircd/s_err.c: Cleanup s_err.c make one table so we
193 don't have to do anything tricky to get an error string.
195 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
196 * Add port bouncer for http (x/w)
198 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
200 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
201 call to gline_find(); also used GlineReason() instead of direct
202 reference to structure member
204 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
205 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
208 * ircd/channel.c: nothing seems to be called anywhere...
210 * ircd/s_err.c: update a couple of replies to dovetail with new
213 * ircd/gline.c: begin complete re-implementation of gline.c along
214 the lines of the final design of jupe.c
216 * include/gline.h: begin complete re-implementation of gline.c
217 along the lines of the final design of jupe.c
219 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
222 * ircd/ircd_snprintf.c: my new snprintf()-like functions
224 * include/ircd_snprintf.h: my new snprintf()-like functions
226 2000-04-11 Thomas Helvey <tomh@inxpress.net>
227 * ircd/IPcheck.c: removed old dead code
228 * ircd/s_user.c (send_user_info): removed non-standard
229 user not found message for userhost/userip
231 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
233 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
234 * doc/p10.html: Work on chapter 4.
236 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
238 * ircd/channel.c (mode_parse_client): fix coredump on /mode
239 #foobar +o nosuchnick
241 2000-04-10 Perry Lorier <Isomer@coders.net>
244 2000-04-09 Thomas Helvey <tomh@inxpress.net>
245 * include/IPcheck.h: fix prototype
246 * ircd/s_user.c: fix usage of IPcheck_remote_connect
247 * ircd/IPcheck.c: removed unused args
249 2000-04-09 Thomas Helvey <tomh@inxpress.net>
250 * include/IPcheck.h: add proto for IPcheck_expire
252 * ircd/IPcheck.c: Rewrote
254 * ircd/ircd.c: Add IPcheck_expire to main message loop
256 * ircd/s_user.c: Redo target hashing, refactor target code
258 * include/numeric.h: Cleaned up numerics, added which ones are
259 in use by other networks and what they are in use for.
261 * ircd/channel.c: cleaned can_join(), allow anyone through anything
262 if /invited, simplified the function. Opers overusing OPEROVERRIDE
263 will get a message explaining to them not to cheat.
265 * ircd/m_join.c: cleaned up the various join functions, should be
266 a lot more efficient. Still needs work. Now assumes that s<->s
267 won't send it a JOIN 0. Service coders - note this and tread with
270 * ircd/m_stats.c: added Gte-'s stats doc patch.
272 * ircd/m_version.c: /version now returns the 005 numeric as well.
273 as requested by Liandrin.
276 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
278 * ircd/m_clearmode.c: add include for support.h for write_log()
280 * configure: move ircd/crypt/* to tools/*
282 2000-04-06 Thomas Helvey <tomh@inxpress.net>
283 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
284 set client host to server alias if connection from localhost
286 2000-04-06 Perry Lorier <isomer@coders.net>
287 * ircd/ircd.c: Fix core during pinging (oops)
289 2000-04-06 Perry Lorier <isomer@coders.net>
290 * ircd/send.c: fixed wrong ident being sent to channels bug.
291 * include/numerics.h: Updated some of the numerics from other
292 networks. Flagged some as 'unused' by undernet.
294 2000-03-30 Perry Lorier <isomer@coders.net>
295 * ircd/ircd.c: Lets see if this helps the ping problem at all.
296 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
297 time for local clients. (as requested), extended who now returns all
298 the flags (@+!) so you can tell the complete state of a client.
300 2000-03-30 Thomas Helvey <tomh@inxpress.net>
301 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
303 2000-03-30 Perry Lorier <isomer@coders.net>
304 * ircd/parse.c: oops, missed opers.
306 2000-03-30 Perry Lorier <isomer@coders.net>
307 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
308 for so long. Remember: m_ping MUST be in the parse array. :)
310 2000-03-30 Perry Lorier <isomer@coders.net>
311 * ircd/ircd.c: test in check_pings was wrong. I move that we
312 disallow cvs commit after 10pm localtime....
314 2000-03-30 Perry Lorier <isomer@coders.net>
315 * ircd/m_pong.c: Fix it for servers too.
317 2000-03-30 Perry Lorier <isomer@coders.net>
318 * ircd/m_pong.c: Fix ping timeout bugs
320 2000-03-30 Perry Lorier <isomer@coders.net>
321 * ircd/channel.c: Bans had CurrentTime in their when field instead
324 2000-03-31 Thomas Helvey <tomh@ixpress.net>
325 * ircd/numnicks.c (SetXYYCapacity): fix for extended
328 2000-03-30 Perry Lorier <isomer@coders.net>
329 * ircd/m_nick.c: send kills both ways so when we add nick change
330 on collision we don't desync the network.
332 * ircd/map.c: Fixup the map a bit more.
334 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
336 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
338 * ircd/m_opmode.c: Log the mode changes to OPATH
340 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
343 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
346 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
348 * config/config-sh.in: added OPATH for opmode log file
350 * ircd/m_clearmode.c (do_clearmode): updated uses of
351 modebuf_mode_string() for the new usage
353 * ircd/channel.c: added flag MODE_FREE and an int argument to
354 modebuf_mode_string() to indicate that the string must be free'd;
355 updated calls to modebuf_mode_string() for the new usage; called
356 collapse(pretty_mask()) on the ban string and use allocated memory
357 for it; added ban list length accounting; fixed a number of small
358 bugs in ban processing
360 * include/channel.h: added flag MODE_FREE and an int argument to
361 modebuf_mode_string() to indicate that the string must be free'd
363 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
364 keys and limits that are set
366 2000-03-30 Perry Lorier <isomer@coders.net>
367 * ircd/ircd.c: rewrote check_pings() for maintainability
368 and speed. Also changed quit msg's so they don't have
369 redundant nick[host] info in them.
371 * ircd/send.c: Changed write errors to report what error
372 occured (if possible).
374 * ircd/gline.c: added gline comment to the quit.
376 * ircd/m_server.c: Added suggestions to server quits mentioning
377 what went wrong so the admin can fix it earlier instead of asking
380 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
381 servers that aren't fully burst yet. And show '(--s)' for servers
384 * doc/example.conf: Fixed wrapped U:
386 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
388 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
389 mode_parse() (version selectable at compile time)
391 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
393 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
395 * config/config-sh.in: add new config option to enable new m_mode
398 * doc/Configure.help: add documentation for new config option
401 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
402 MODE -v : Not enough parameters
404 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
405 +k and +l even if they weren't set...
407 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
409 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
410 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
411 for; test the 0-th member, not the i-th member, of the client
414 * ircd/m_clearmode.c (do_clearmode): use the new
415 mode_invite_clear() function
417 * ircd/channel.c: cleared up all the compile-time warnings and
420 * include/channel.h: added declarations for mode_ban_invalidate()
421 and mode_invite_clear()
423 * ircd/channel.c: finished mode_parse(), then broke it up into a
424 dozen or so helper functions to make the code easier to read
426 2000-03-29 Thomas Helvey <tomh@inxpress.net>
427 * ircd/ircd.c: refactor server initialization a bit, use
428 getopt for parsing command line, refactor init_sys, main,
431 * ircd/s_bsd.c: add functions for initialization to clean
432 up logic a bit and remove duplicated code.
434 * include/ircd.h: add struct for server process related
437 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
439 * ircd/channel.c: initial definition of mode_parse(); flags to
440 prevent doing the same thing multiple times; helper method
441 send_notoper() to send a "Not oper"/"Not on channel" notice
443 * include/channel.h: declare mode_parse() and helper flags
445 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
446 sending to match the current action of set_mode() closely enough
447 that hopefully there won't be major conflicts
449 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
450 building logic, reversed the order of the arguments to mode
451 commands to have '-' preceed '+'
453 2000-03-29 Thomas Helvey <tomh@inxpress.net>
454 * ircd/s_bsd.c (add_connection): don't disable socket options
455 let OS tune itself and allow important performance tweaks to
458 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
460 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
461 confused by set_mode, which is doing some really weird logic;
462 guess what I'm going to rewrite next? ;)
464 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
466 * include/channel.h: added MODE_SAVE for the bounds checking stuff
469 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
470 make it do bounds checking on the buffer; all modes are sent only
471 if the all parameter is 1; modebuf_flush is the exported wrapper
473 * include/channel.h: add BOUNCE, renumber flags to get a little
476 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
477 BOUNCE; send DESYNCH message
479 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
481 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
482 channel actually has in effect for deletion
484 * ircd/channel.c: added explanatory comments to all added
485 functions; made flushing take place at the correct place even if
486 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
487 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
488 is empty, fixed the apparent source, removed some bogus string
489 termination code, properly terminate the mode strings, add support
490 for HACK2 and HACK3, made limit strings not be sent if the limit
491 is being removed, changed where '+' and '-' come from in sent
492 strings, added support for DEOP flag, set up bouncing code for
495 * ircd/Makefile.in: ran make depend
497 * include/channel.h: added new defines for future functionality,
498 made modebuf_flush() return int so I can use tail recursion
500 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
501 to make it all compile
503 * ircd/m_opmode.c: add msg.h to includes...
505 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
507 * ircd/channel.c (modebuf_flush): realized I forgot to
508 nul-terminate addbuf/rembuf properly...
510 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
512 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
513 sendto_serv_butone--blah^2
515 * ircd/send.c (sendto_serv_butone): stupid comments confused me
517 * ircd/channel.c (modebuf_flush): if there are no mode changes to
518 propagate, we're done...
520 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
521 not sendto_all_butone
523 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
525 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
527 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
530 * ircd/parse.c: added messages for opmode and clearmode
532 * include/handlers.h: added declarations for mo_opmode(),
533 ms_opmode(), mo_clearmode(), and ms_clearmode()
535 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
538 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
539 MODEBUF_DEST_OPMODE flag
541 * ircd/channel.c (modebuf_flush): added new flag,
542 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
543 to originate from source's server (or source itself, if
544 IsServer(source)); also causes a server-level MODE to be sent as
547 * include/channel.h: defined MODEBUF_DEST_SERVER,
550 * ircd/channel.c: Add another argument to build_string() to handle
551 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
552 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
555 2000-03-27 Perry Lorier <isomer@coders.net>
557 * ircd/s_bsd.c: fixed missing 'u' typo.
559 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
561 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
562 _mode_string(), _mode_client(), _flush(); also implemented a
563 simple build_string()
565 * include/channel.h: added definition of ModeBuf, modebuf_*
566 manipulation functions, and a couple of helper macros
568 2000-03-24 Thomas Helvey <tomh@inxpress.net>
569 * numicks.c: convert extended numerics to use original mask version
572 2000-03-23 Thomas Helvey <tomh@inxpress.net>
573 * Merge in changes from production
574 2000-03-22 Thomas Helvey <tomh@inxpress.net>
575 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
576 * rfc1459.unet: Add Maniac's documentation for /names 0
577 * Fix misc. jupe bugs that somehow made it into the tree
578 * Escape /names 0 to mean /names --Maniac
579 * Don't core when server asks for info --Maniac
580 * Add Kev's jupe patch --Bleep
581 * Add Maniacs squit patch --Bleep
582 * Merge in u2_10_10_beta07 changes --Bleep
583 * Merge in u2_10_10_beta06 changes --Bleep
584 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
585 #-----------------------------------------------------------------------------
587 # ChangeLog for ircu2.10.11
589 # $Id: ChangeLog,v 1.92 2000-04-16 05:19:02 kev Exp $
591 # Insert new changes at beginning of the change list.