1 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu>
3 * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
4 numeric nick; therefore, we have to use the server name
6 * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
8 * ircd/send.c: fix minor bugs
10 * ircd/s_user.c (check_target_limit): mark dead code so I filter
13 * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
16 * ircd/parse.c: mark dead code so I filter it when I grep
18 * ircd/map.c: mark dead code so I filter it when I grep
20 * ircd/ircd.c: mark dead code so I filter it when I grep
22 * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
25 * ircd/channel.c: mark dead code so I filter it when I grep
27 * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
28 hope I'm not stepping on toes...
30 * ircd/s_conf.c: more sendto_opmask_butone / send_reply
31 conversions; use ircd_snprintf in a couple of cases to negate the
32 possibility of buffer overflow
34 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu>
36 * ircd/channel.c: convert as much as possible to new send
39 * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
40 test member->user->from->fd, not from->fd
42 * ircd/gline.c (gline_add): go ahead and add badchans; we just
43 won't look for them in m_gline; this way, they always work...
45 * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
47 * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
48 ircd_vsnprintf conversion specifiers
50 * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
51 I have my conversion specifiers
53 * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
55 * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
58 * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
59 little less brain-dead
61 * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
63 * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
66 * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
69 * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
72 * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
74 * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
76 * ircd/s_user.c (register_user): use RPL_EXPLICIT for
79 * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
81 * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
82 a numeric as needing to use an explicit pattern, which will be the
83 first argument in the variable argument list
85 * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
86 non-prefixed nospoof PING
88 * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
89 non-prefixed SERVER login
91 * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
92 a numeric usage further up)
94 * include/send.h: declare sendrawto_one
96 * ircd/send.c (sendrawto_one): new function to use ONLY for
97 non-prefixed commands, like PING to client, or PASS/SERVER on
100 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu>
102 * ircd/ircd_snprintf.c (doprintf): implement %H for possible
103 future expansion (channel numerics?)
105 * include/ircd_snprintf.h: added documentation to # to explain use
106 with %C; added documentation for : to explain use with %C; added
107 documentation for %H for channels
109 * ircd/whocmds.c: use send_reply
111 * ircd/userload.c: use sendcmdto_one
113 * ircd/uping.c: use sendcmdto_one
115 * ircd/send.c: use new flags to %C format string; ':' prefixes
116 client name with a colon for local connects, '#' uses
117 nick!user@host form for local connects
119 * ircd/s_user.c: use send_reply, sendto_opmask_butone,
120 sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
122 * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
124 * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
127 * ircd/s_auth.c: use sendto_opmask_butone
129 * ircd/res.c: use sendcmdto_one
131 * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
134 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu>
136 * ircd/support.c: dumpcore is no longer used, so get rid of it
138 * ircd/parse.c: use send_reply, sendcmdto_one
140 * ircd/map.c: use send_reply
142 * ircd/listener.c: use send_reply
144 * ircd/jupe.c: use sendto_opmask_butone, send_reply
146 * ircd/ircd_reply.c: use send_reply
148 * ircd/ircd.c: use sendto_opmask_butone
150 * ircd/gline.c: use sendto_opmask_butone, send_reply
152 * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
153 registered clients; make FLAG_ALT print nick!user@host; make
154 FLAG_COLON print :blah
156 * ircd/class.c (report_classes): use send_reply instead of
159 * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
161 * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
162 sendto_one with sendcmdto_one
164 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu>
166 * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
167 MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
168 sendcmdto_match_butone
170 * include/send.h: declare sendcmdto_match_butone
172 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu>
174 * ircd/jupe.c: update to use send_reply()
176 * ircd/gline.c: update to use send_reply()
178 * include/ircd_reply.h: declare send_reply
180 * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
181 replies; uses ircd_snprintf
183 * ircd/send.c: added comments to redirect searchers to appropriate
184 sendcmdto_* function; moved new functions to end of file; added
185 explanatory comments; reordered arguments; defined new functions
188 * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
190 * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
192 * ircd/jupe.c: reorder arguments to sendcmdto_* functions
194 * ircd/gline.c: reorder arguments to sendcmdto_* functions
196 * include/send.h: reorder arguments, add explanatory comments,
197 declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
198 and vsendto_opmask_butone
200 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu>
202 * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
203 vsendto_op_mask that uses '*' instead of the receiving client
206 * include/send.h: declare sendcmdto_channel_butone; takes a skip
207 argument that allows you to skip (or not to skip) deaf users,
208 users behind bursting servers, and non channel operators
210 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu>
212 * ircd/send.c: new sendcmdto_channel_butserv -- note that old
213 sendto_channel_butserv has a subtle bug; also wrote
214 sendcmdto_common_channels.
216 * include/send.h: declare new sendcmdto_* functions
218 * ircd/jupe.c: support local deactivations of jupes
220 * ircd/gline.c: support local deactivations of glines
222 * include/jupe.h: JUPE_LDEACT allows jupes to be locally
223 deactivated; if they aren't locally deactivated, then it slaves to
224 the net-wide activation status; JupeIsRemActive() tests only
225 whether the jupe is active everywhere else
227 * include/gline.h: GLINE_LDEACT allows glines to be locally
228 deactivated; if they aren't locally deactivated, then it slaves to
229 the net-wide activation status; GlineIsRemActive() tests only
230 whether the gline is active everywhere else
232 * ircd/gline.c: detect overlapping G-lines; if an existing, wider
233 gline expires after the new one will, we drop the new one,
234 otherwise we add the G-line after that one (so the wide one will
235 apply first); if the new one contains an existing G-line and if it
236 will expire after the existing one, we drop the existing one to
239 * ircd/m_gline.c (mo_gline): opers could issue remote local
240 glines when CONFIG_OPERCMDS was off; fixed
242 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
244 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
247 * ircd/gline.c: add flags argument to gline_activate and
248 gline_deactivate for future expansion
250 * ircd/m_gline.c: pass flags to gline_activate and
253 * include/gline.h: add flags argument to gline_activate and
256 * ircd/jupe.c: add flags argument to jupe_activate and
257 jupe_deactivate for future expansion
259 * include/jupe.h: add flags argument to jupe_activate and
262 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
263 local, active; pass flags to jupe_activate and jupe_deactivate
265 * include/gline.h: remove dead code
267 * ircd/gline.c: make gline expire times relative to CurrentTime,
268 since that should be monotonically increasing, instead of
269 TStime(), which can be set backwards, and which can therefore
270 cause an expire time to increase; make local glines be removed
271 instead of just deactivated; don't let gline_find() look for
272 user@host glines if the mask being looked up is a channel mask
274 * ircd/send.c (vsendcmdto_one): forgot to account for the case
275 where origin is a server and destination is a user
277 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
278 since that should be monotonically increasing, instead of
279 TStime(), which can be set backwards, and which can therefore
280 cause an expire time to increase; make local jupes be removed
281 instead of just deactivated
283 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
284 limit is fine. any other warnings I should know about?
286 2000-04-15 Thomas Helvey <tomh@inxpress.net>
288 * ircd/*.c: const correctness and type safety cleanups to
289 get code to compile with C++ compiler. Still has
290 signed/unsigned comparison warnings.
292 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
294 * ircd/userload.c: change <sys/time.h> include to <time.h> for
297 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
299 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
302 * ircd/s_user.c: move gline_lookup function call into
303 register_user, where it'll have a username to lookup!
305 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
306 functions; also stuff send_error_to_client into return clauses
308 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
309 functions; also use send_error_to_client where that makes sense
311 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
312 functions; also use send_error_to_client where that makes sense
314 * ircd/gline.c: modify to utilize new sendcmdto_* series of
315 functions; also fix gline_lookup() to deal properly with remote
316 clients--boy, do struct Client and struct User need to be cleaned
319 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
322 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
323 sendcmdto_serv_butone(), all utilizing the %v conversion of
326 * include/send.h: define IRC_BUFSIZE, max size of a message;
327 declare sendcmdto_one(), vsendcmdto_one(), and
328 sendcmdto_serv_butone()
330 * include/msg.h: define all the CMD_* constants needed to utilize
331 the new sendcmdto_* series of functions
333 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
335 * ircd/gline.c: remove old, dead code.
337 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
338 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
339 (don't advertise proxies); remove dead code
341 * ircd/parse.c: oper handler for JUPE only lists jupes unless
342 CONFIG_OPERCMDS is enabled
344 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
345 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
347 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
348 always return ERR_DISABLED
350 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
351 enabled, always return ERR_DISABLED
353 * ircd/s_err.c: add error message to indicate disabled commands
355 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
357 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
359 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
360 CONFIG_NEW_MODE to 'y' for now
362 * ircd/gline.c (gline_list): fix a minor formatting bogon
364 * BUGS: since I fixed that bug, might as well mark it fixed.
366 * ircd/m_join.c: look up badchans with GLINE_EXACT
368 * ircd/m_gline.c: fix parc count problems; look up existing
369 G-lines with GLINE_EXACT; only set new lastmod when
370 activating/deactivating existing glines if old lastmod was not 0
372 * ircd/gline.c: forgot to copy the gline reason over; don't
373 propagate a gline with 0 lastmod if origin is user; add
374 GLINE_EXACT to force exact matching of gline mask
376 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
379 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
380 but gline_lookup() actually takes a client--d'oh.
382 2000-04-13 Thomas Helvey <tomh@inxpress.net>
383 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
385 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
387 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
389 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
392 * ircd/whocmds.c: Change idle time calc from socket idle to user
395 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
397 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
398 too, for ircd_snprintf.c
400 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
401 comments; mostly descended from the Linux manpage for printf, but
402 also documenting the extensions.
404 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
405 client; make 'q' be the same as 'L'; remove __inline__; only
406 define EXTENSION if HAVE_LONG_LONG is defined
408 * include/handlers.h: declare m_gline()
410 * ircd/parse.c: gline can be called by users, but it only lists
413 * ircd/s_user.c (set_nick_name): resend gline if a remote server
414 introduces a glined client
416 * ircd/s_serv.c (server_estab): burst glines, too
418 * ircd/gline.c: fix up all the expire times to be offsets;
419 simplify gline_resend()
421 * ircd/m_gline.c: begin coding replacements for ms_gline(),
422 mo_gline(), and m_gline()
424 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
425 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
427 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
429 * tools/Bouncer/*: Add comments/documentation/tags.
430 * tools/Bouncer/*: Add debug defines, make task fork().
432 2000-04-12 Thomas Helvey <tomh@inxpress.net>
433 * ircd/s_err.c: Cleanup s_err.c make one table so we
434 don't have to do anything tricky to get an error string.
436 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
437 * Add port bouncer for http (x/w)
439 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
441 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
442 call to gline_find(); also used GlineReason() instead of direct
443 reference to structure member
445 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
446 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
449 * ircd/channel.c: nothing seems to be called anywhere...
451 * ircd/s_err.c: update a couple of replies to dovetail with new
454 * ircd/gline.c: begin complete re-implementation of gline.c along
455 the lines of the final design of jupe.c
457 * include/gline.h: begin complete re-implementation of gline.c
458 along the lines of the final design of jupe.c
460 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
463 * ircd/ircd_snprintf.c: my new snprintf()-like functions
465 * include/ircd_snprintf.h: my new snprintf()-like functions
467 2000-04-11 Thomas Helvey <tomh@inxpress.net>
468 * ircd/IPcheck.c: removed old dead code
469 * ircd/s_user.c (send_user_info): removed non-standard
470 user not found message for userhost/userip
472 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
474 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
475 * doc/p10.html: Work on chapter 4.
477 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
479 * ircd/channel.c (mode_parse_client): fix coredump on /mode
480 #foobar +o nosuchnick
482 2000-04-10 Perry Lorier <Isomer@coders.net>
485 2000-04-09 Thomas Helvey <tomh@inxpress.net>
486 * include/IPcheck.h: fix prototype
487 * ircd/s_user.c: fix usage of IPcheck_remote_connect
488 * ircd/IPcheck.c: removed unused args
490 2000-04-09 Thomas Helvey <tomh@inxpress.net>
491 * include/IPcheck.h: add proto for IPcheck_expire
493 * ircd/IPcheck.c: Rewrote
495 * ircd/ircd.c: Add IPcheck_expire to main message loop
497 * ircd/s_user.c: Redo target hashing, refactor target code
499 * include/numeric.h: Cleaned up numerics, added which ones are
500 in use by other networks and what they are in use for.
502 * ircd/channel.c: cleaned can_join(), allow anyone through anything
503 if /invited, simplified the function. Opers overusing OPEROVERRIDE
504 will get a message explaining to them not to cheat.
506 * ircd/m_join.c: cleaned up the various join functions, should be
507 a lot more efficient. Still needs work. Now assumes that s<->s
508 won't send it a JOIN 0. Service coders - note this and tread with
511 * ircd/m_stats.c: added Gte-'s stats doc patch.
513 * ircd/m_version.c: /version now returns the 005 numeric as well.
514 as requested by Liandrin.
517 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
519 * ircd/m_clearmode.c: add include for support.h for write_log()
521 * configure: move ircd/crypt/* to tools/*
523 2000-04-06 Thomas Helvey <tomh@inxpress.net>
524 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
525 set client host to server alias if connection from localhost
527 2000-04-06 Perry Lorier <isomer@coders.net>
528 * ircd/ircd.c: Fix core during pinging (oops)
530 2000-04-06 Perry Lorier <isomer@coders.net>
531 * ircd/send.c: fixed wrong ident being sent to channels bug.
532 * include/numerics.h: Updated some of the numerics from other
533 networks. Flagged some as 'unused' by undernet.
535 2000-03-30 Perry Lorier <isomer@coders.net>
536 * ircd/ircd.c: Lets see if this helps the ping problem at all.
537 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
538 time for local clients. (as requested), extended who now returns all
539 the flags (@+!) so you can tell the complete state of a client.
541 2000-03-30 Thomas Helvey <tomh@inxpress.net>
542 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
544 2000-03-30 Perry Lorier <isomer@coders.net>
545 * ircd/parse.c: oops, missed opers.
547 2000-03-30 Perry Lorier <isomer@coders.net>
548 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
549 for so long. Remember: m_ping MUST be in the parse array. :)
551 2000-03-30 Perry Lorier <isomer@coders.net>
552 * ircd/ircd.c: test in check_pings was wrong. I move that we
553 disallow cvs commit after 10pm localtime....
555 2000-03-30 Perry Lorier <isomer@coders.net>
556 * ircd/m_pong.c: Fix it for servers too.
558 2000-03-30 Perry Lorier <isomer@coders.net>
559 * ircd/m_pong.c: Fix ping timeout bugs
561 2000-03-30 Perry Lorier <isomer@coders.net>
562 * ircd/channel.c: Bans had CurrentTime in their when field instead
565 2000-03-31 Thomas Helvey <tomh@ixpress.net>
566 * ircd/numnicks.c (SetXYYCapacity): fix for extended
569 2000-03-30 Perry Lorier <isomer@coders.net>
570 * ircd/m_nick.c: send kills both ways so when we add nick change
571 on collision we don't desync the network.
573 * ircd/map.c: Fixup the map a bit more.
575 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
577 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
579 * ircd/m_opmode.c: Log the mode changes to OPATH
581 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
584 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
587 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
589 * config/config-sh.in: added OPATH for opmode log file
591 * ircd/m_clearmode.c (do_clearmode): updated uses of
592 modebuf_mode_string() for the new usage
594 * ircd/channel.c: added flag MODE_FREE and an int argument to
595 modebuf_mode_string() to indicate that the string must be free'd;
596 updated calls to modebuf_mode_string() for the new usage; called
597 collapse(pretty_mask()) on the ban string and use allocated memory
598 for it; added ban list length accounting; fixed a number of small
599 bugs in ban processing
601 * include/channel.h: added flag MODE_FREE and an int argument to
602 modebuf_mode_string() to indicate that the string must be free'd
604 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
605 keys and limits that are set
607 2000-03-30 Perry Lorier <isomer@coders.net>
608 * ircd/ircd.c: rewrote check_pings() for maintainability
609 and speed. Also changed quit msg's so they don't have
610 redundant nick[host] info in them.
612 * ircd/send.c: Changed write errors to report what error
613 occured (if possible).
615 * ircd/gline.c: added gline comment to the quit.
617 * ircd/m_server.c: Added suggestions to server quits mentioning
618 what went wrong so the admin can fix it earlier instead of asking
621 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
622 servers that aren't fully burst yet. And show '(--s)' for servers
625 * doc/example.conf: Fixed wrapped U:
627 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
629 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
630 mode_parse() (version selectable at compile time)
632 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
634 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
636 * config/config-sh.in: add new config option to enable new m_mode
639 * doc/Configure.help: add documentation for new config option
642 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
643 MODE -v : Not enough parameters
645 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
646 +k and +l even if they weren't set...
648 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
650 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
651 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
652 for; test the 0-th member, not the i-th member, of the client
655 * ircd/m_clearmode.c (do_clearmode): use the new
656 mode_invite_clear() function
658 * ircd/channel.c: cleared up all the compile-time warnings and
661 * include/channel.h: added declarations for mode_ban_invalidate()
662 and mode_invite_clear()
664 * ircd/channel.c: finished mode_parse(), then broke it up into a
665 dozen or so helper functions to make the code easier to read
667 2000-03-29 Thomas Helvey <tomh@inxpress.net>
668 * ircd/ircd.c: refactor server initialization a bit, use
669 getopt for parsing command line, refactor init_sys, main,
672 * ircd/s_bsd.c: add functions for initialization to clean
673 up logic a bit and remove duplicated code.
675 * include/ircd.h: add struct for server process related
678 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
680 * ircd/channel.c: initial definition of mode_parse(); flags to
681 prevent doing the same thing multiple times; helper method
682 send_notoper() to send a "Not oper"/"Not on channel" notice
684 * include/channel.h: declare mode_parse() and helper flags
686 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
687 sending to match the current action of set_mode() closely enough
688 that hopefully there won't be major conflicts
690 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
691 building logic, reversed the order of the arguments to mode
692 commands to have '-' preceed '+'
694 2000-03-29 Thomas Helvey <tomh@inxpress.net>
695 * ircd/s_bsd.c (add_connection): don't disable socket options
696 let OS tune itself and allow important performance tweaks to
699 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
701 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
702 confused by set_mode, which is doing some really weird logic;
703 guess what I'm going to rewrite next? ;)
705 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
707 * include/channel.h: added MODE_SAVE for the bounds checking stuff
710 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
711 make it do bounds checking on the buffer; all modes are sent only
712 if the all parameter is 1; modebuf_flush is the exported wrapper
714 * include/channel.h: add BOUNCE, renumber flags to get a little
717 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
718 BOUNCE; send DESYNCH message
720 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
722 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
723 channel actually has in effect for deletion
725 * ircd/channel.c: added explanatory comments to all added
726 functions; made flushing take place at the correct place even if
727 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
728 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
729 is empty, fixed the apparent source, removed some bogus string
730 termination code, properly terminate the mode strings, add support
731 for HACK2 and HACK3, made limit strings not be sent if the limit
732 is being removed, changed where '+' and '-' come from in sent
733 strings, added support for DEOP flag, set up bouncing code for
736 * ircd/Makefile.in: ran make depend
738 * include/channel.h: added new defines for future functionality,
739 made modebuf_flush() return int so I can use tail recursion
741 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
742 to make it all compile
744 * ircd/m_opmode.c: add msg.h to includes...
746 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
748 * ircd/channel.c (modebuf_flush): realized I forgot to
749 nul-terminate addbuf/rembuf properly...
751 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
753 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
754 sendto_serv_butone--blah^2
756 * ircd/send.c (sendto_serv_butone): stupid comments confused me
758 * ircd/channel.c (modebuf_flush): if there are no mode changes to
759 propagate, we're done...
761 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
762 not sendto_all_butone
764 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
766 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
768 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
771 * ircd/parse.c: added messages for opmode and clearmode
773 * include/handlers.h: added declarations for mo_opmode(),
774 ms_opmode(), mo_clearmode(), and ms_clearmode()
776 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
779 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
780 MODEBUF_DEST_OPMODE flag
782 * ircd/channel.c (modebuf_flush): added new flag,
783 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
784 to originate from source's server (or source itself, if
785 IsServer(source)); also causes a server-level MODE to be sent as
788 * include/channel.h: defined MODEBUF_DEST_SERVER,
791 * ircd/channel.c: Add another argument to build_string() to handle
792 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
793 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
796 2000-03-27 Perry Lorier <isomer@coders.net>
798 * ircd/s_bsd.c: fixed missing 'u' typo.
800 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
802 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
803 _mode_string(), _mode_client(), _flush(); also implemented a
804 simple build_string()
806 * include/channel.h: added definition of ModeBuf, modebuf_*
807 manipulation functions, and a couple of helper macros
809 2000-03-24 Thomas Helvey <tomh@inxpress.net>
810 * numicks.c: convert extended numerics to use original mask version
813 2000-03-23 Thomas Helvey <tomh@inxpress.net>
814 * Merge in changes from production
815 2000-03-22 Thomas Helvey <tomh@inxpress.net>
816 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
817 * rfc1459.unet: Add Maniac's documentation for /names 0
818 * Fix misc. jupe bugs that somehow made it into the tree
819 * Escape /names 0 to mean /names --Maniac
820 * Don't core when server asks for info --Maniac
821 * Add Kev's jupe patch --Bleep
822 * Add Maniacs squit patch --Bleep
823 * Merge in u2_10_10_beta07 changes --Bleep
824 * Merge in u2_10_10_beta06 changes --Bleep
825 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
826 #-----------------------------------------------------------------------------
828 # ChangeLog for ircu2.10.11
830 # $Id: ChangeLog,v 1.106 2000-04-27 20:24:11 kev Exp $
832 # Insert new changes at beginning of the change list.