1 2000-05-04 Kevin L. Mitchell <klmitch@mit.edu>
3 * ircd/gline.c: don't propagate local changes
5 * ircd/jupe.c: don't propagate local changes
7 * ircd/m_gline.c (mo_gline): force local flag when deactivating
10 * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
11 are now removed instead of being deactivated
13 * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
16 * ircd/channel.c (send_channel_modes): deal with one of the last
19 * ircd/m_burst.c (ms_burst): debugged ban processing; removed
22 * ircd/channel.c (modebuf_extract): remove debugging
23 sendto_opmask_butone calls
25 2000-05-03 Kevin L. Mitchell <klmitch@mit.edu>
27 * ircd/channel.c: support a couple of new flags to support using
28 mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
29 of modebuf_extract to extract added flags for use by ms_burst
31 * include/channel.h: a couple of new flags to support using
32 mode_parse inside ms_burst
34 * ircd/m_burst.c (ms_burst): brand new implementation of BURST
36 * ircd/m_endburst.c: add loop to processing of end_of_burst to
37 free empty channels after the BURST is over.
39 * ircd/m_server.c: convert to use new send.c functions--I wanted
40 to rewrite it from scratch, but the logic's pretty complex; I may
41 still rewrite it, though...
43 2000-05-02 Thomas Helvey <tomh@inxpress.net>
45 * ircd/ircd.c: fix broken header include ordering
47 2000-05-02 Thomas Helvey <tomh@inxpress.net>
49 * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
50 review emailed privately
52 * include/IPcheck.h: removed unneeded include
54 2000-05-02 Kevin L. Mitchell <klmitch@mit.edu>
56 * ircd/s_user.c (hunt_server): throw in a comment so I know what
59 * include/querycmds.h (Count_unknownbecomesclient): convert to
62 * ircd/send.c: start removing dead code
64 * include/send.h: start removing dead code
66 * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
69 * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
71 2000-05-01 Kevin L. Mitchell <klmitch@mit.edu>
73 * ircd/m_stats.c: convert to sendcmdto_one / send_reply
75 * ircd/m_kick.c: Completely reimplement m_kick
77 * ircd/channel.c: send_user_joins removed; it was dead code,
80 2000-05-01 Perry Lorier <isomer@coders.net>
81 * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
82 * ircd/channels.c: My fix for the part problem. Untested, probably
83 won't work. Can't be much worse than the current problem.
84 it'll either work or core, take your pick.
87 2000-04-30 Perry Lorier <isomer@coders.net>
88 * config/config-sh.in: Fix for CONNEXIT
89 * ircd/s_{user,misc}.c: Fix for CONNEXIT
90 * ircd/m_invite.c: Fix for incorrectly numnickified invite.
91 (Kev: Want to come talk to me about this?)
93 2000-04-30 Steven M. Doyle <steven@doyle.net>
95 - general cleanups and readability enhancements
96 - rewrite of setuid/chroot code.
97 - server will no longer run as root
98 - -DPROFIL compile option removed
99 - Fixed IPcheck API calls
101 * config/config-sh.in
102 - Fixed up chroot compile options
103 - Added options for debug and profile compiles
105 * config/gen.ircd.Makefile
106 - Support for new debug/profile options
109 - Support for new debug/profile options
115 - Removed old API prototypes, added new ones
118 - Readability cleanups (well, I -think-...)
119 - Changed IPRegistryEntry.last_connect to a time_t. The previously
120 used unsigned short was probably causing interesting things after
121 a client had been connected longer than about 65,535 seconds...
122 - Removed old API functions.
125 - Removed IPcheck.h include
127 * Additionally modified IPcheck API calls in:
137 2000-04-30 Perry Lorier <isomer@coders.net>
138 * ircd/s_bsd.c: Sigh. :)
139 * ircd/m_mode.c: fix for modeless channels by poptix.
141 2000-04-29 Kevin L. Mitchell <klmitch@mit.edu>
143 * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
145 * ircd/channel.c (clean_channelname): make clean_channelname also
146 truncate long channel names
148 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
150 * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
152 * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
155 * include/channel.h: definitions and declarations for the struct
158 2000-04-29 Perry Lorier <isomer@coders.net>
159 * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
161 2000-04-29 Perry Lorier <isomer@coders.net>
162 * ircd/s_bsd.c: Add debugging code to IPcheck
164 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
166 * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
168 * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
171 * ircd/m_userhost.c (m_userhost): add a dead code comment
173 * ircd/m_desynch.c: forgot one...
175 * ircd/m_rehash.c (mo_rehash): er, duplicates :)
177 * ircd/m_proto.c (proto_send_supported): just change a comment so
178 it doesn't show up in my scans
180 * ircd/ircd_reply.c (send_reply): fix a slight bug...
182 * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
185 * ircd/parse.c (parse_server): argument wrangling to make
186 processing in do_numeric a little easier to deal with
188 * ircd/s_serv.c (server_estab): SERVER should come from
189 acptr->serv->up, not &me
191 * ircd/m_lusers.c: accidentally left out sptr for a %C
193 * ircd/send.c: hack to support doing wallchops...
195 * ircd/m_whowas.c: convert to new send functions
197 * ircd/m_whois.c: convert to new send functions
199 * ircd/m_who.c: convert to new send functions
201 * ircd/m_wallops.c: convert to new send functions
203 * ircd/m_wallchops.c: convert to new send functions
205 * ircd/m_version.c: convert to new send functions
207 * ircd/m_userip.c: convert to new send functions
209 * ircd/m_userhost.c: convert to new send functions
211 * ircd/m_uping.c: convert to new send functions
213 * ircd/m_trace.c: convert to new send functions
215 * ircd/m_topic.c: convert to new send functions
217 * ircd/m_time.c: convert to new send functions
219 * ircd/m_squit.c: convert to new send functions
221 * ircd/m_silence.c: convert to new send functions
223 * ircd/m_settime.c: convert to new send functions
225 * ircd/m_restart.c: convert to new send functions
227 * ircd/m_rehash.c: convert to new send functions
229 * ircd/m_privmsg.c: convert to new send functions
231 * ircd/m_pong.c: convert to new send functions
233 * ircd/m_ping.c: convert to new send functions
235 * ircd/m_pass.c: convert to new send functions
237 * ircd/m_opmode.c: convert to new send functions
239 * ircd/m_oper.c: convert to new send functions
241 * ircd/m_notice.c: convert to new send functions
243 * ircd/m_nick.c: convert to new send functions
245 * ircd/m_names.c: convert to new send functions
247 * ircd/m_motd.c: convert to new send functions
249 * ircd/m_mode.c: convert to new send functions
251 * ircd/m_map.c: convert to new send functions
253 * ircd/m_lusers.c: convert to new send functions
255 * ircd/m_list.c: convert to new send functions
257 * ircd/m_links.c: convert to new send functions
259 * ircd/m_kill.c: convert to new send functions
261 * ircd/m_jupe.c: convert to new send functions
263 * ircd/m_invite.c: convert to new send functions
265 * ircd/m_info.c: convert to new send functions
267 * ircd/m_help.c: convert to new send functions
269 * ircd/m_gline.c: convert to new send functions
271 * ircd/m_error.c: convert to new send functions
273 * ircd/m_endburst.c: convert to new send functions
275 * ircd/m_die.c: convert to new send functions
277 * ircd/m_destruct.c: convert to new send functions
279 * ircd/m_defaults.c: convert to new send functions
281 * ircd/m_connect.c: convert to new send functions
283 2000-04-28 Perry Lorier <isomer@coders.net>
284 * RELEASE.NOTES: Describe a few more undocumented features.
285 * config/config-sh.in: change the default paths for logging
286 and the recommended number of channels.
287 * include/supported.h: Rearrange slightly, added CHANTYPE's
289 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu>
291 * ircd/m_close.c: convert to send_reply
293 * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
295 * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
297 * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
299 * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
300 that takes cmd and tok arguments, etc. NOTE: THIS IMPLEMENTATION
301 HAS A MAJOR HACK!!! The whole hunt_server architecture should be
302 carefully rethought...
304 * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
306 * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
308 * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
309 numeric nick; therefore, we have to use the server name
311 * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
313 * ircd/send.c: fix minor bugs
315 * ircd/s_user.c (check_target_limit): mark dead code so I filter
318 * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
321 * ircd/parse.c: mark dead code so I filter it when I grep
323 * ircd/map.c: mark dead code so I filter it when I grep
325 * ircd/ircd.c: mark dead code so I filter it when I grep
327 * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
330 * ircd/channel.c: mark dead code so I filter it when I grep
332 * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
333 hope I'm not stepping on toes...
335 * ircd/s_conf.c: more sendto_opmask_butone / send_reply
336 conversions; use ircd_snprintf in a couple of cases to negate the
337 possibility of buffer overflow
339 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu>
341 * ircd/channel.c: convert as much as possible to new send
344 * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
345 test member->user->from->fd, not from->fd
347 * ircd/gline.c (gline_add): go ahead and add badchans; we just
348 won't look for them in m_gline; this way, they always work...
350 * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
352 * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
353 ircd_vsnprintf conversion specifiers
355 * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
356 I have my conversion specifiers
358 * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
360 * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
363 * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
364 little less brain-dead
366 * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
368 * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
371 * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
374 * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
377 * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
379 * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
381 * ircd/s_user.c (register_user): use RPL_EXPLICIT for
384 * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
386 * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
387 a numeric as needing to use an explicit pattern, which will be the
388 first argument in the variable argument list
390 * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
391 non-prefixed nospoof PING
393 * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
394 non-prefixed SERVER login
396 * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
397 a numeric usage further up)
399 * include/send.h: declare sendrawto_one
401 * ircd/send.c (sendrawto_one): new function to use ONLY for
402 non-prefixed commands, like PING to client, or PASS/SERVER on
405 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu>
407 * ircd/ircd_snprintf.c (doprintf): implement %H for possible
408 future expansion (channel numerics?)
410 * include/ircd_snprintf.h: added documentation to # to explain use
411 with %C; added documentation for : to explain use with %C; added
412 documentation for %H for channels
414 * ircd/whocmds.c: use send_reply
416 * ircd/userload.c: use sendcmdto_one
418 * ircd/uping.c: use sendcmdto_one
420 * ircd/send.c: use new flags to %C format string; ':' prefixes
421 client name with a colon for local connects, '#' uses
422 nick!user@host form for local connects
424 * ircd/s_user.c: use send_reply, sendto_opmask_butone,
425 sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
427 * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
429 * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
432 * ircd/s_auth.c: use sendto_opmask_butone
434 * ircd/res.c: use sendcmdto_one
436 * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
439 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu>
441 * ircd/support.c: dumpcore is no longer used, so get rid of it
443 * ircd/parse.c: use send_reply, sendcmdto_one
445 * ircd/map.c: use send_reply
447 * ircd/listener.c: use send_reply
449 * ircd/jupe.c: use sendto_opmask_butone, send_reply
451 * ircd/ircd_reply.c: use send_reply
453 * ircd/ircd.c: use sendto_opmask_butone
455 * ircd/gline.c: use sendto_opmask_butone, send_reply
457 * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
458 registered clients; make FLAG_ALT print nick!user@host; make
459 FLAG_COLON print :blah
461 * ircd/class.c (report_classes): use send_reply instead of
464 * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
466 * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
467 sendto_one with sendcmdto_one
469 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu>
471 * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
472 MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
473 sendcmdto_match_butone
475 * include/send.h: declare sendcmdto_match_butone
477 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu>
479 * ircd/jupe.c: update to use send_reply()
481 * ircd/gline.c: update to use send_reply()
483 * include/ircd_reply.h: declare send_reply
485 * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
486 replies; uses ircd_snprintf
488 * ircd/send.c: added comments to redirect searchers to appropriate
489 sendcmdto_* function; moved new functions to end of file; added
490 explanatory comments; reordered arguments; defined new functions
493 * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
495 * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
497 * ircd/jupe.c: reorder arguments to sendcmdto_* functions
499 * ircd/gline.c: reorder arguments to sendcmdto_* functions
501 * include/send.h: reorder arguments, add explanatory comments,
502 declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
503 and vsendto_opmask_butone
505 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu>
507 * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
508 vsendto_op_mask that uses '*' instead of the receiving client
511 * include/send.h: declare sendcmdto_channel_butone; takes a skip
512 argument that allows you to skip (or not to skip) deaf users,
513 users behind bursting servers, and non channel operators
515 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu>
517 * ircd/send.c: new sendcmdto_channel_butserv -- note that old
518 sendto_channel_butserv has a subtle bug; also wrote
519 sendcmdto_common_channels.
521 * include/send.h: declare new sendcmdto_* functions
523 * ircd/jupe.c: support local deactivations of jupes
525 * ircd/gline.c: support local deactivations of glines
527 * include/jupe.h: JUPE_LDEACT allows jupes to be locally
528 deactivated; if they aren't locally deactivated, then it slaves to
529 the net-wide activation status; JupeIsRemActive() tests only
530 whether the jupe is active everywhere else
532 * include/gline.h: GLINE_LDEACT allows glines to be locally
533 deactivated; if they aren't locally deactivated, then it slaves to
534 the net-wide activation status; GlineIsRemActive() tests only
535 whether the gline is active everywhere else
537 * ircd/gline.c: detect overlapping G-lines; if an existing, wider
538 gline expires after the new one will, we drop the new one,
539 otherwise we add the G-line after that one (so the wide one will
540 apply first); if the new one contains an existing G-line and if it
541 will expire after the existing one, we drop the existing one to
544 * ircd/m_gline.c (mo_gline): opers could issue remote local
545 glines when CONFIG_OPERCMDS was off; fixed
547 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
549 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
552 * ircd/gline.c: add flags argument to gline_activate and
553 gline_deactivate for future expansion
555 * ircd/m_gline.c: pass flags to gline_activate and
558 * include/gline.h: add flags argument to gline_activate and
561 * ircd/jupe.c: add flags argument to jupe_activate and
562 jupe_deactivate for future expansion
564 * include/jupe.h: add flags argument to jupe_activate and
567 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
568 local, active; pass flags to jupe_activate and jupe_deactivate
570 * include/gline.h: remove dead code
572 * ircd/gline.c: make gline expire times relative to CurrentTime,
573 since that should be monotonically increasing, instead of
574 TStime(), which can be set backwards, and which can therefore
575 cause an expire time to increase; make local glines be removed
576 instead of just deactivated; don't let gline_find() look for
577 user@host glines if the mask being looked up is a channel mask
579 * ircd/send.c (vsendcmdto_one): forgot to account for the case
580 where origin is a server and destination is a user
582 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
583 since that should be monotonically increasing, instead of
584 TStime(), which can be set backwards, and which can therefore
585 cause an expire time to increase; make local jupes be removed
586 instead of just deactivated
588 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
589 limit is fine. any other warnings I should know about?
591 2000-04-15 Thomas Helvey <tomh@inxpress.net>
593 * ircd/*.c: const correctness and type safety cleanups to
594 get code to compile with C++ compiler. Still has
595 signed/unsigned comparison warnings.
597 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
599 * ircd/userload.c: change <sys/time.h> include to <time.h> for
602 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
604 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
607 * ircd/s_user.c: move gline_lookup function call into
608 register_user, where it'll have a username to lookup!
610 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
611 functions; also stuff send_error_to_client into return clauses
613 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
614 functions; also use send_error_to_client where that makes sense
616 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
617 functions; also use send_error_to_client where that makes sense
619 * ircd/gline.c: modify to utilize new sendcmdto_* series of
620 functions; also fix gline_lookup() to deal properly with remote
621 clients--boy, do struct Client and struct User need to be cleaned
624 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
627 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
628 sendcmdto_serv_butone(), all utilizing the %v conversion of
631 * include/send.h: define IRC_BUFSIZE, max size of a message;
632 declare sendcmdto_one(), vsendcmdto_one(), and
633 sendcmdto_serv_butone()
635 * include/msg.h: define all the CMD_* constants needed to utilize
636 the new sendcmdto_* series of functions
638 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
640 * ircd/gline.c: remove old, dead code.
642 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
643 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
644 (don't advertise proxies); remove dead code
646 * ircd/parse.c: oper handler for JUPE only lists jupes unless
647 CONFIG_OPERCMDS is enabled
649 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
650 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
652 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
653 always return ERR_DISABLED
655 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
656 enabled, always return ERR_DISABLED
658 * ircd/s_err.c: add error message to indicate disabled commands
660 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
662 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
664 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
665 CONFIG_NEW_MODE to 'y' for now
667 * ircd/gline.c (gline_list): fix a minor formatting bogon
669 * BUGS: since I fixed that bug, might as well mark it fixed.
671 * ircd/m_join.c: look up badchans with GLINE_EXACT
673 * ircd/m_gline.c: fix parc count problems; look up existing
674 G-lines with GLINE_EXACT; only set new lastmod when
675 activating/deactivating existing glines if old lastmod was not 0
677 * ircd/gline.c: forgot to copy the gline reason over; don't
678 propagate a gline with 0 lastmod if origin is user; add
679 GLINE_EXACT to force exact matching of gline mask
681 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
684 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
685 but gline_lookup() actually takes a client--d'oh.
687 2000-04-13 Thomas Helvey <tomh@inxpress.net>
688 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
690 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
692 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
694 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
697 * ircd/whocmds.c: Change idle time calc from socket idle to user
700 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
702 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
703 too, for ircd_snprintf.c
705 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
706 comments; mostly descended from the Linux manpage for printf, but
707 also documenting the extensions.
709 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
710 client; make 'q' be the same as 'L'; remove __inline__; only
711 define EXTENSION if HAVE_LONG_LONG is defined
713 * include/handlers.h: declare m_gline()
715 * ircd/parse.c: gline can be called by users, but it only lists
718 * ircd/s_user.c (set_nick_name): resend gline if a remote server
719 introduces a glined client
721 * ircd/s_serv.c (server_estab): burst glines, too
723 * ircd/gline.c: fix up all the expire times to be offsets;
724 simplify gline_resend()
726 * ircd/m_gline.c: begin coding replacements for ms_gline(),
727 mo_gline(), and m_gline()
729 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
730 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
732 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
734 * tools/Bouncer/*: Add comments/documentation/tags.
735 * tools/Bouncer/*: Add debug defines, make task fork().
737 2000-04-12 Thomas Helvey <tomh@inxpress.net>
738 * ircd/s_err.c: Cleanup s_err.c make one table so we
739 don't have to do anything tricky to get an error string.
741 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
742 * Add port bouncer for http (x/w)
744 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
746 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
747 call to gline_find(); also used GlineReason() instead of direct
748 reference to structure member
750 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
751 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
754 * ircd/channel.c: nothing seems to be called anywhere...
756 * ircd/s_err.c: update a couple of replies to dovetail with new
759 * ircd/gline.c: begin complete re-implementation of gline.c along
760 the lines of the final design of jupe.c
762 * include/gline.h: begin complete re-implementation of gline.c
763 along the lines of the final design of jupe.c
765 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
768 * ircd/ircd_snprintf.c: my new snprintf()-like functions
770 * include/ircd_snprintf.h: my new snprintf()-like functions
772 2000-04-11 Thomas Helvey <tomh@inxpress.net>
773 * ircd/IPcheck.c: removed old dead code
774 * ircd/s_user.c (send_user_info): removed non-standard
775 user not found message for userhost/userip
777 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
779 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
780 * doc/p10.html: Work on chapter 4.
782 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
784 * ircd/channel.c (mode_parse_client): fix coredump on /mode
785 #foobar +o nosuchnick
787 2000-04-10 Perry Lorier <Isomer@coders.net>
790 2000-04-09 Thomas Helvey <tomh@inxpress.net>
791 * include/IPcheck.h: fix prototype
792 * ircd/s_user.c: fix usage of IPcheck_remote_connect
793 * ircd/IPcheck.c: removed unused args
795 2000-04-09 Thomas Helvey <tomh@inxpress.net>
796 * include/IPcheck.h: add proto for IPcheck_expire
798 * ircd/IPcheck.c: Rewrote
800 * ircd/ircd.c: Add IPcheck_expire to main message loop
802 * ircd/s_user.c: Redo target hashing, refactor target code
804 * include/numeric.h: Cleaned up numerics, added which ones are
805 in use by other networks and what they are in use for.
807 * ircd/channel.c: cleaned can_join(), allow anyone through anything
808 if /invited, simplified the function. Opers overusing OPEROVERRIDE
809 will get a message explaining to them not to cheat.
811 * ircd/m_join.c: cleaned up the various join functions, should be
812 a lot more efficient. Still needs work. Now assumes that s<->s
813 won't send it a JOIN 0. Service coders - note this and tread with
816 * ircd/m_stats.c: added Gte-'s stats doc patch.
818 * ircd/m_version.c: /version now returns the 005 numeric as well.
819 as requested by Liandrin.
822 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
824 * ircd/m_clearmode.c: add include for support.h for write_log()
826 * configure: move ircd/crypt/* to tools/*
828 2000-04-06 Thomas Helvey <tomh@inxpress.net>
829 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
830 set client host to server alias if connection from localhost
832 2000-04-06 Perry Lorier <isomer@coders.net>
833 * ircd/ircd.c: Fix core during pinging (oops)
835 2000-04-06 Perry Lorier <isomer@coders.net>
836 * ircd/send.c: fixed wrong ident being sent to channels bug.
837 * include/numerics.h: Updated some of the numerics from other
838 networks. Flagged some as 'unused' by undernet.
840 2000-03-30 Perry Lorier <isomer@coders.net>
841 * ircd/ircd.c: Lets see if this helps the ping problem at all.
842 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
843 time for local clients. (as requested), extended who now returns all
844 the flags (@+!) so you can tell the complete state of a client.
846 2000-03-30 Thomas Helvey <tomh@inxpress.net>
847 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
849 2000-03-30 Perry Lorier <isomer@coders.net>
850 * ircd/parse.c: oops, missed opers.
852 2000-03-30 Perry Lorier <isomer@coders.net>
853 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
854 for so long. Remember: m_ping MUST be in the parse array. :)
856 2000-03-30 Perry Lorier <isomer@coders.net>
857 * ircd/ircd.c: test in check_pings was wrong. I move that we
858 disallow cvs commit after 10pm localtime....
860 2000-03-30 Perry Lorier <isomer@coders.net>
861 * ircd/m_pong.c: Fix it for servers too.
863 2000-03-30 Perry Lorier <isomer@coders.net>
864 * ircd/m_pong.c: Fix ping timeout bugs
866 2000-03-30 Perry Lorier <isomer@coders.net>
867 * ircd/channel.c: Bans had CurrentTime in their when field instead
870 2000-03-31 Thomas Helvey <tomh@ixpress.net>
871 * ircd/numnicks.c (SetXYYCapacity): fix for extended
874 2000-03-30 Perry Lorier <isomer@coders.net>
875 * ircd/m_nick.c: send kills both ways so when we add nick change
876 on collision we don't desync the network.
878 * ircd/map.c: Fixup the map a bit more.
880 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
882 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
884 * ircd/m_opmode.c: Log the mode changes to OPATH
886 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
889 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
892 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
894 * config/config-sh.in: added OPATH for opmode log file
896 * ircd/m_clearmode.c (do_clearmode): updated uses of
897 modebuf_mode_string() for the new usage
899 * ircd/channel.c: added flag MODE_FREE and an int argument to
900 modebuf_mode_string() to indicate that the string must be free'd;
901 updated calls to modebuf_mode_string() for the new usage; called
902 collapse(pretty_mask()) on the ban string and use allocated memory
903 for it; added ban list length accounting; fixed a number of small
904 bugs in ban processing
906 * include/channel.h: added flag MODE_FREE and an int argument to
907 modebuf_mode_string() to indicate that the string must be free'd
909 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
910 keys and limits that are set
912 2000-03-30 Perry Lorier <isomer@coders.net>
913 * ircd/ircd.c: rewrote check_pings() for maintainability
914 and speed. Also changed quit msg's so they don't have
915 redundant nick[host] info in them.
917 * ircd/send.c: Changed write errors to report what error
918 occured (if possible).
920 * ircd/gline.c: added gline comment to the quit.
922 * ircd/m_server.c: Added suggestions to server quits mentioning
923 what went wrong so the admin can fix it earlier instead of asking
926 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
927 servers that aren't fully burst yet. And show '(--s)' for servers
930 * doc/example.conf: Fixed wrapped U:
932 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
934 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
935 mode_parse() (version selectable at compile time)
937 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
939 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
941 * config/config-sh.in: add new config option to enable new m_mode
944 * doc/Configure.help: add documentation for new config option
947 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
948 MODE -v : Not enough parameters
950 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
951 +k and +l even if they weren't set...
953 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
955 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
956 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
957 for; test the 0-th member, not the i-th member, of the client
960 * ircd/m_clearmode.c (do_clearmode): use the new
961 mode_invite_clear() function
963 * ircd/channel.c: cleared up all the compile-time warnings and
966 * include/channel.h: added declarations for mode_ban_invalidate()
967 and mode_invite_clear()
969 * ircd/channel.c: finished mode_parse(), then broke it up into a
970 dozen or so helper functions to make the code easier to read
972 2000-03-29 Thomas Helvey <tomh@inxpress.net>
973 * ircd/ircd.c: refactor server initialization a bit, use
974 getopt for parsing command line, refactor init_sys, main,
977 * ircd/s_bsd.c: add functions for initialization to clean
978 up logic a bit and remove duplicated code.
980 * include/ircd.h: add struct for server process related
983 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
985 * ircd/channel.c: initial definition of mode_parse(); flags to
986 prevent doing the same thing multiple times; helper method
987 send_notoper() to send a "Not oper"/"Not on channel" notice
989 * include/channel.h: declare mode_parse() and helper flags
991 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
992 sending to match the current action of set_mode() closely enough
993 that hopefully there won't be major conflicts
995 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
996 building logic, reversed the order of the arguments to mode
997 commands to have '-' preceed '+'
999 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1000 * ircd/s_bsd.c (add_connection): don't disable socket options
1001 let OS tune itself and allow important performance tweaks to
1004 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
1006 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
1007 confused by set_mode, which is doing some really weird logic;
1008 guess what I'm going to rewrite next? ;)
1010 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
1012 * include/channel.h: added MODE_SAVE for the bounds checking stuff
1015 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
1016 make it do bounds checking on the buffer; all modes are sent only
1017 if the all parameter is 1; modebuf_flush is the exported wrapper
1019 * include/channel.h: add BOUNCE, renumber flags to get a little
1022 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
1023 BOUNCE; send DESYNCH message
1025 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
1027 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
1028 channel actually has in effect for deletion
1030 * ircd/channel.c: added explanatory comments to all added
1031 functions; made flushing take place at the correct place even if
1032 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
1033 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
1034 is empty, fixed the apparent source, removed some bogus string
1035 termination code, properly terminate the mode strings, add support
1036 for HACK2 and HACK3, made limit strings not be sent if the limit
1037 is being removed, changed where '+' and '-' come from in sent
1038 strings, added support for DEOP flag, set up bouncing code for
1041 * ircd/Makefile.in: ran make depend
1043 * include/channel.h: added new defines for future functionality,
1044 made modebuf_flush() return int so I can use tail recursion
1046 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
1047 to make it all compile
1049 * ircd/m_opmode.c: add msg.h to includes...
1051 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
1053 * ircd/channel.c (modebuf_flush): realized I forgot to
1054 nul-terminate addbuf/rembuf properly...
1056 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
1058 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
1059 sendto_serv_butone--blah^2
1061 * ircd/send.c (sendto_serv_butone): stupid comments confused me
1063 * ircd/channel.c (modebuf_flush): if there are no mode changes to
1064 propagate, we're done...
1066 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
1067 not sendto_all_butone
1069 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
1071 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
1073 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
1076 * ircd/parse.c: added messages for opmode and clearmode
1078 * include/handlers.h: added declarations for mo_opmode(),
1079 ms_opmode(), mo_clearmode(), and ms_clearmode()
1081 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
1084 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
1085 MODEBUF_DEST_OPMODE flag
1087 * ircd/channel.c (modebuf_flush): added new flag,
1088 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
1089 to originate from source's server (or source itself, if
1090 IsServer(source)); also causes a server-level MODE to be sent as
1093 * include/channel.h: defined MODEBUF_DEST_SERVER,
1096 * ircd/channel.c: Add another argument to build_string() to handle
1097 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
1098 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
1101 2000-03-27 Perry Lorier <isomer@coders.net>
1103 * ircd/s_bsd.c: fixed missing 'u' typo.
1105 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
1107 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
1108 _mode_string(), _mode_client(), _flush(); also implemented a
1109 simple build_string()
1111 * include/channel.h: added definition of ModeBuf, modebuf_*
1112 manipulation functions, and a couple of helper macros
1114 2000-03-24 Thomas Helvey <tomh@inxpress.net>
1115 * numicks.c: convert extended numerics to use original mask version
1118 2000-03-23 Thomas Helvey <tomh@inxpress.net>
1119 * Merge in changes from production
1120 2000-03-22 Thomas Helvey <tomh@inxpress.net>
1121 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
1122 * rfc1459.unet: Add Maniac's documentation for /names 0
1123 * Fix misc. jupe bugs that somehow made it into the tree
1124 * Escape /names 0 to mean /names --Maniac
1125 * Don't core when server asks for info --Maniac
1126 * Add Kev's jupe patch --Bleep
1127 * Add Maniacs squit patch --Bleep
1128 * Merge in u2_10_10_beta07 changes --Bleep
1129 * Merge in u2_10_10_beta06 changes --Bleep
1130 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
1131 #-----------------------------------------------------------------------------
1133 # ChangeLog for ircu2.10.11
1135 # $Id: ChangeLog,v 1.134 2000-05-04 18:09:46 kev Exp $
1137 # Insert new changes at beginning of the change list.