1 2000-07-09 Perry Lorier <Isomer@coders.net>
2 * doc/ircd.8: Applied grammitical changes by Liandrin, applied
3 changes suggested by various other people.
4 * ircd/IPcheck.c: More bug fixes. Current problem appears to be
5 that it gets a corrupt entry somehow.
6 2000-07-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
7 * ircd/m_oper.c: Clean up compiler warning.
9 2000-07-08 Perry Lorier <Isomer@coders.net>
10 * doc/ircd.8: Updated the documentation, it was slightly out of date
11 being updated around 1989.
12 * ircd/m_whois.c: Rewrote for clarity, and probably a bit more speed.
13 fixed a few minor glitches.
14 * doc/rfc1459.unet: Updated.
15 * ircd/IPcheck.c: Fixed more bugs.
16 * ircd/s_bsd.c: We now keep track of servers we've conected.
18 2000-07-02 Perry Lorier <Isomer@coders.net>
19 * ircd/s_misc.c: Fixed remote IPcheck bug. Ok, I'm a moron, so sue
20 me. Thanks to Hektik, thanks thanks thanks thanks
21 thanks thanks thanks thanks thank thanks thank thanks
23 2000-07-01 Perry Lorier <Isomer@coders.net>
24 * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s.
25 * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings.
27 2000-06-22 Perry Lorier <Isomer@coders.net>
28 * ircd/IPcheck.c: Large chunks redone.
29 * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported,
30 single AND double digit limits are allowed now.
31 * misc other: Changes to IPcheck.
33 2000-06-30 Perry Lorier <Isomer@coders.net>
34 * ircd/ircd.c: Fix command line parameter bugs.
36 2000-06-30 Perry Lorier <Isomer@coders.net>
37 * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY
38 * ircd/m_nick.c: Tidied things up.
40 2000-06-12 Joseph Bongaarts <foxxe@trms.com>
41 * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v
43 2000-05-29 Perry Lorier <Isomer@coders.net>
44 * ircd/m_stats.c: add /stats v to do only the last part of the /trace
45 * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do
46 you think it'll get bored and fix itself?
48 2000-06-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
50 * ircd/m_names.c: Clean up compiler warnings.
52 2000-06-09 Kevin L. Mitchell <klmitch@mit.edu>
54 * ircd/channel.c (mode_parse_client): don't send warning if
55 there's not enough arguments for a +/-o/v; means the habit of
56 doing "/mode #channel +oooooo bob" doesn't result in a bunch of
59 2000-06-04 Greg Sikorski <gte@atomicrevs.demon.co.uk>
61 * ircd/m_names.c: Re-factor code to remove unneccessary
62 GlobalChannelList iteration every time someone joins a channel.
64 2000-06-02 Kevin L. Mitchell <klmitch@mit.edu>
66 * ircd/s_user.c: add struct Gline * argument to register_user;
67 look up global glines and repropagate them if necessary; send
68 acknowledgement of gline to remote servers when registering users
70 * ircd/s_serv.c (server_estab): don't send acknowledgement of
71 local glines to remote servers; do send gline acknowledgement of
74 * ircd/m_user.c (m_user): pass new struct Gline * argument to
77 * ircd/m_pong.c: pass new struct Gline * argument to register_user
79 * ircd/m_nick.c (ms_nick): document protocol change
81 * ircd/gline.c: support GLINE_LASTMOD
83 * include/s_user.h: add struct Gline * argument to register_user
85 * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods
87 * ircd/s_conf.c (find_kill): add unsigned int argument to
90 * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global
91 glines; add unsigned int argument to gline_lookup()
93 * include/gline.h: add GLINE_GLOBAL flag; add unsigned int
94 argument to gline_lookup()
96 * ircd/m_server.c: Resend jupe only when there is no %<lastmod>
97 parameter, or when it falls out of bounds: see comments prior to
98 call to jupe_resend(); call server_estab with struct Jupe
99 parameter, so that we place the appropriate %<lastmod> in the
102 * ircd/s_serv.c (server_estab): send %<lastmod> for introduced
103 server, as well as for servers when we're sending the BURST
105 * include/s_serv.h: add a struct Jupe * to the arguments for
106 server_estab() so that we can send the appropriate lastmod
109 * ircd/m_gline.c (ms_gline): actually, this should be the
110 slightest bit more efficient...
112 * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest
113 bit more efficient...
115 * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends
118 * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during
121 * ircd/channel.c (joinbuf_join): really remove user from local
124 2000-05-29 Perry Lorier <Isomer@coders.net>
125 * ircd/m_names.c: Removed redundant space.
126 * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line.
128 2000-05-18 Kevin L. Mitchell <klmitch@mit.edu>
130 * ircd/m_burst.c (ms_burst): er...that should have been a ",", not
133 2000-05-04 Kevin L. Mitchell <klmitch@mit.edu>
135 * ircd/channel.c: replace bogus assertions with returns, which is
136 logically correct; only wipe out limit/key if they were originally
137 set in the first place; remove user from channel when doing a
138 PARTALL; only send MODE +o for user CREATEing channel if user is
139 not MyUser--CREATE will only be used if the channel did not
140 originally exist, therefore we can assume no one local is on the
141 channel anyway, and we don't exactly need for the user to see an
142 explicit +o for themselves
144 * doc/readme.gline: describe the syntax of the GLINE command
146 * doc/readme.jupe: update to reflect a couple of changes to JUPE
148 * ircd/gline.c: don't propagate local changes
150 * ircd/jupe.c: don't propagate local changes
152 * ircd/m_gline.c (mo_gline): force local flag when deactivating
153 glines with 0 lastmod
155 * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
156 are now removed instead of being deactivated
158 * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
161 * ircd/channel.c (send_channel_modes): deal with one of the last
164 * ircd/m_burst.c (ms_burst): debugged ban processing; removed
167 * ircd/channel.c (modebuf_extract): remove debugging
168 sendto_opmask_butone calls
170 2000-05-03 Kevin L. Mitchell <klmitch@mit.edu>
172 * ircd/channel.c: support a couple of new flags to support using
173 mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
174 of modebuf_extract to extract added flags for use by ms_burst
176 * include/channel.h: a couple of new flags to support using
177 mode_parse inside ms_burst
179 * ircd/m_burst.c (ms_burst): brand new implementation of BURST
181 * ircd/m_endburst.c: add loop to processing of end_of_burst to
182 free empty channels after the BURST is over.
184 * ircd/m_server.c: convert to use new send.c functions--I wanted
185 to rewrite it from scratch, but the logic's pretty complex; I may
186 still rewrite it, though...
188 2000-05-02 Thomas Helvey <tomh@inxpress.net>
190 * ircd/ircd.c: fix broken header include ordering
192 2000-05-02 Thomas Helvey <tomh@inxpress.net>
194 * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
195 review emailed privately
197 * include/IPcheck.h: removed unneeded include
199 2000-05-02 Kevin L. Mitchell <klmitch@mit.edu>
201 * ircd/s_user.c (hunt_server): throw in a comment so I know what
202 the sendto_one is for
204 * include/querycmds.h (Count_unknownbecomesclient): convert to
207 * ircd/send.c: start removing dead code
209 * include/send.h: start removing dead code
211 * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
214 * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
216 2000-05-01 Kevin L. Mitchell <klmitch@mit.edu>
218 * ircd/m_stats.c: convert to sendcmdto_one / send_reply
220 * ircd/m_kick.c: Completely reimplement m_kick
222 * ircd/channel.c: send_user_joins removed; it was dead code,
225 2000-05-01 Perry Lorier <isomer@coders.net>
226 * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
227 * ircd/channels.c: My fix for the part problem. Untested, probably
228 won't work. Can't be much worse than the current problem.
229 it'll either work or core, take your pick.
232 2000-04-30 Perry Lorier <isomer@coders.net>
233 * config/config-sh.in: Fix for CONNEXIT
234 * ircd/s_{user,misc}.c: Fix for CONNEXIT
235 * ircd/m_invite.c: Fix for incorrectly numnickified invite.
236 (Kev: Want to come talk to me about this?)
238 2000-04-30 Steven M. Doyle <steven@doyle.net>
240 - general cleanups and readability enhancements
241 - rewrite of setuid/chroot code.
242 - server will no longer run as root
243 - -DPROFIL compile option removed
244 - Fixed IPcheck API calls
246 * config/config-sh.in
247 - Fixed up chroot compile options
248 - Added options for debug and profile compiles
250 * config/gen.ircd.Makefile
251 - Support for new debug/profile options
254 - Support for new debug/profile options
260 - Removed old API prototypes, added new ones
263 - Readability cleanups (well, I -think-...)
264 - Changed IPRegistryEntry.last_connect to a time_t. The previously
265 used unsigned short was probably causing interesting things after
266 a client had been connected longer than about 65,535 seconds...
267 - Removed old API functions.
270 - Removed IPcheck.h include
272 * Additionally modified IPcheck API calls in:
282 2000-04-30 Perry Lorier <isomer@coders.net>
283 * ircd/s_bsd.c: Sigh. :)
284 * ircd/m_mode.c: fix for modeless channels by poptix.
286 2000-04-29 Kevin L. Mitchell <klmitch@mit.edu>
288 * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
290 * ircd/channel.c (clean_channelname): make clean_channelname also
291 truncate long channel names
293 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
295 * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
297 * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
300 * include/channel.h: definitions and declarations for the struct
303 2000-04-29 Perry Lorier <isomer@coders.net>
304 * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
306 2000-04-29 Perry Lorier <isomer@coders.net>
307 * ircd/s_bsd.c: Add debugging code to IPcheck
309 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
311 * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
313 * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
316 * ircd/m_userhost.c (m_userhost): add a dead code comment
318 * ircd/m_desynch.c: forgot one...
320 * ircd/m_rehash.c (mo_rehash): er, duplicates :)
322 * ircd/m_proto.c (proto_send_supported): just change a comment so
323 it doesn't show up in my scans
325 * ircd/ircd_reply.c (send_reply): fix a slight bug...
327 * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
330 * ircd/parse.c (parse_server): argument wrangling to make
331 processing in do_numeric a little easier to deal with
333 * ircd/s_serv.c (server_estab): SERVER should come from
334 acptr->serv->up, not &me
336 * ircd/m_lusers.c: accidentally left out sptr for a %C
338 * ircd/send.c: hack to support doing wallchops...
340 * ircd/m_whowas.c: convert to new send functions
342 * ircd/m_whois.c: convert to new send functions
344 * ircd/m_who.c: convert to new send functions
346 * ircd/m_wallops.c: convert to new send functions
348 * ircd/m_wallchops.c: convert to new send functions
350 * ircd/m_version.c: convert to new send functions
352 * ircd/m_userip.c: convert to new send functions
354 * ircd/m_userhost.c: convert to new send functions
356 * ircd/m_uping.c: convert to new send functions
358 * ircd/m_trace.c: convert to new send functions
360 * ircd/m_topic.c: convert to new send functions
362 * ircd/m_time.c: convert to new send functions
364 * ircd/m_squit.c: convert to new send functions
366 * ircd/m_silence.c: convert to new send functions
368 * ircd/m_settime.c: convert to new send functions
370 * ircd/m_restart.c: convert to new send functions
372 * ircd/m_rehash.c: convert to new send functions
374 * ircd/m_privmsg.c: convert to new send functions
376 * ircd/m_pong.c: convert to new send functions
378 * ircd/m_ping.c: convert to new send functions
380 * ircd/m_pass.c: convert to new send functions
382 * ircd/m_opmode.c: convert to new send functions
384 * ircd/m_oper.c: convert to new send functions
386 * ircd/m_notice.c: convert to new send functions
388 * ircd/m_nick.c: convert to new send functions
390 * ircd/m_names.c: convert to new send functions
392 * ircd/m_motd.c: convert to new send functions
394 * ircd/m_mode.c: convert to new send functions
396 * ircd/m_map.c: convert to new send functions
398 * ircd/m_lusers.c: convert to new send functions
400 * ircd/m_list.c: convert to new send functions
402 * ircd/m_links.c: convert to new send functions
404 * ircd/m_kill.c: convert to new send functions
406 * ircd/m_jupe.c: convert to new send functions
408 * ircd/m_invite.c: convert to new send functions
410 * ircd/m_info.c: convert to new send functions
412 * ircd/m_help.c: convert to new send functions
414 * ircd/m_gline.c: convert to new send functions
416 * ircd/m_error.c: convert to new send functions
418 * ircd/m_endburst.c: convert to new send functions
420 * ircd/m_die.c: convert to new send functions
422 * ircd/m_destruct.c: convert to new send functions
424 * ircd/m_defaults.c: convert to new send functions
426 * ircd/m_connect.c: convert to new send functions
428 2000-04-28 Perry Lorier <isomer@coders.net>
429 * RELEASE.NOTES: Describe a few more undocumented features.
430 * config/config-sh.in: change the default paths for logging
431 and the recommended number of channels.
432 * include/supported.h: Rearrange slightly, added CHANTYPE's
434 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu>
436 * ircd/m_close.c: convert to send_reply
438 * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
440 * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
442 * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
444 * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
445 that takes cmd and tok arguments, etc. NOTE: THIS IMPLEMENTATION
446 HAS A MAJOR HACK!!! The whole hunt_server architecture should be
447 carefully rethought...
449 * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
451 * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
453 * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
454 numeric nick; therefore, we have to use the server name
456 * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
458 * ircd/send.c: fix minor bugs
460 * ircd/s_user.c (check_target_limit): mark dead code so I filter
463 * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
466 * ircd/parse.c: mark dead code so I filter it when I grep
468 * ircd/map.c: mark dead code so I filter it when I grep
470 * ircd/ircd.c: mark dead code so I filter it when I grep
472 * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
475 * ircd/channel.c: mark dead code so I filter it when I grep
477 * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
478 hope I'm not stepping on toes...
480 * ircd/s_conf.c: more sendto_opmask_butone / send_reply
481 conversions; use ircd_snprintf in a couple of cases to negate the
482 possibility of buffer overflow
484 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu>
486 * ircd/channel.c: convert as much as possible to new send
489 * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
490 test member->user->from->fd, not from->fd
492 * ircd/gline.c (gline_add): go ahead and add badchans; we just
493 won't look for them in m_gline; this way, they always work...
495 * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
497 * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
498 ircd_vsnprintf conversion specifiers
500 * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
501 I have my conversion specifiers
503 * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
505 * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
508 * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
509 little less brain-dead
511 * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
513 * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
516 * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
519 * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
522 * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
524 * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
526 * ircd/s_user.c (register_user): use RPL_EXPLICIT for
529 * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
531 * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
532 a numeric as needing to use an explicit pattern, which will be the
533 first argument in the variable argument list
535 * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
536 non-prefixed nospoof PING
538 * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
539 non-prefixed SERVER login
541 * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
542 a numeric usage further up)
544 * include/send.h: declare sendrawto_one
546 * ircd/send.c (sendrawto_one): new function to use ONLY for
547 non-prefixed commands, like PING to client, or PASS/SERVER on
550 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu>
552 * ircd/ircd_snprintf.c (doprintf): implement %H for possible
553 future expansion (channel numerics?)
555 * include/ircd_snprintf.h: added documentation to # to explain use
556 with %C; added documentation for : to explain use with %C; added
557 documentation for %H for channels
559 * ircd/whocmds.c: use send_reply
561 * ircd/userload.c: use sendcmdto_one
563 * ircd/uping.c: use sendcmdto_one
565 * ircd/send.c: use new flags to %C format string; ':' prefixes
566 client name with a colon for local connects, '#' uses
567 nick!user@host form for local connects
569 * ircd/s_user.c: use send_reply, sendto_opmask_butone,
570 sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
572 * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
574 * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
577 * ircd/s_auth.c: use sendto_opmask_butone
579 * ircd/res.c: use sendcmdto_one
581 * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
584 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu>
586 * ircd/support.c: dumpcore is no longer used, so get rid of it
588 * ircd/parse.c: use send_reply, sendcmdto_one
590 * ircd/map.c: use send_reply
592 * ircd/listener.c: use send_reply
594 * ircd/jupe.c: use sendto_opmask_butone, send_reply
596 * ircd/ircd_reply.c: use send_reply
598 * ircd/ircd.c: use sendto_opmask_butone
600 * ircd/gline.c: use sendto_opmask_butone, send_reply
602 * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
603 registered clients; make FLAG_ALT print nick!user@host; make
604 FLAG_COLON print :blah
606 * ircd/class.c (report_classes): use send_reply instead of
609 * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
611 * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
612 sendto_one with sendcmdto_one
614 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu>
616 * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
617 MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
618 sendcmdto_match_butone
620 * include/send.h: declare sendcmdto_match_butone
622 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu>
624 * ircd/jupe.c: update to use send_reply()
626 * ircd/gline.c: update to use send_reply()
628 * include/ircd_reply.h: declare send_reply
630 * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
631 replies; uses ircd_snprintf
633 * ircd/send.c: added comments to redirect searchers to appropriate
634 sendcmdto_* function; moved new functions to end of file; added
635 explanatory comments; reordered arguments; defined new functions
638 * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
640 * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
642 * ircd/jupe.c: reorder arguments to sendcmdto_* functions
644 * ircd/gline.c: reorder arguments to sendcmdto_* functions
646 * include/send.h: reorder arguments, add explanatory comments,
647 declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
648 and vsendto_opmask_butone
650 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu>
652 * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
653 vsendto_op_mask that uses '*' instead of the receiving client
656 * include/send.h: declare sendcmdto_channel_butone; takes a skip
657 argument that allows you to skip (or not to skip) deaf users,
658 users behind bursting servers, and non channel operators
660 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu>
662 * ircd/send.c: new sendcmdto_channel_butserv -- note that old
663 sendto_channel_butserv has a subtle bug; also wrote
664 sendcmdto_common_channels.
666 * include/send.h: declare new sendcmdto_* functions
668 * ircd/jupe.c: support local deactivations of jupes
670 * ircd/gline.c: support local deactivations of glines
672 * include/jupe.h: JUPE_LDEACT allows jupes to be locally
673 deactivated; if they aren't locally deactivated, then it slaves to
674 the net-wide activation status; JupeIsRemActive() tests only
675 whether the jupe is active everywhere else
677 * include/gline.h: GLINE_LDEACT allows glines to be locally
678 deactivated; if they aren't locally deactivated, then it slaves to
679 the net-wide activation status; GlineIsRemActive() tests only
680 whether the gline is active everywhere else
682 * ircd/gline.c: detect overlapping G-lines; if an existing, wider
683 gline expires after the new one will, we drop the new one,
684 otherwise we add the G-line after that one (so the wide one will
685 apply first); if the new one contains an existing G-line and if it
686 will expire after the existing one, we drop the existing one to
689 * ircd/m_gline.c (mo_gline): opers could issue remote local
690 glines when CONFIG_OPERCMDS was off; fixed
692 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
694 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
697 * ircd/gline.c: add flags argument to gline_activate and
698 gline_deactivate for future expansion
700 * ircd/m_gline.c: pass flags to gline_activate and
703 * include/gline.h: add flags argument to gline_activate and
706 * ircd/jupe.c: add flags argument to jupe_activate and
707 jupe_deactivate for future expansion
709 * include/jupe.h: add flags argument to jupe_activate and
712 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
713 local, active; pass flags to jupe_activate and jupe_deactivate
715 * include/gline.h: remove dead code
717 * ircd/gline.c: make gline expire times relative to CurrentTime,
718 since that should be monotonically increasing, instead of
719 TStime(), which can be set backwards, and which can therefore
720 cause an expire time to increase; make local glines be removed
721 instead of just deactivated; don't let gline_find() look for
722 user@host glines if the mask being looked up is a channel mask
724 * ircd/send.c (vsendcmdto_one): forgot to account for the case
725 where origin is a server and destination is a user
727 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
728 since that should be monotonically increasing, instead of
729 TStime(), which can be set backwards, and which can therefore
730 cause an expire time to increase; make local jupes be removed
731 instead of just deactivated
733 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
734 limit is fine. any other warnings I should know about?
736 2000-04-15 Thomas Helvey <tomh@inxpress.net>
738 * ircd/*.c: const correctness and type safety cleanups to
739 get code to compile with C++ compiler. Still has
740 signed/unsigned comparison warnings.
742 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
744 * ircd/userload.c: change <sys/time.h> include to <time.h> for
747 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
749 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
752 * ircd/s_user.c: move gline_lookup function call into
753 register_user, where it'll have a username to lookup!
755 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
756 functions; also stuff send_error_to_client into return clauses
758 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
759 functions; also use send_error_to_client where that makes sense
761 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
762 functions; also use send_error_to_client where that makes sense
764 * ircd/gline.c: modify to utilize new sendcmdto_* series of
765 functions; also fix gline_lookup() to deal properly with remote
766 clients--boy, do struct Client and struct User need to be cleaned
769 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
772 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
773 sendcmdto_serv_butone(), all utilizing the %v conversion of
776 * include/send.h: define IRC_BUFSIZE, max size of a message;
777 declare sendcmdto_one(), vsendcmdto_one(), and
778 sendcmdto_serv_butone()
780 * include/msg.h: define all the CMD_* constants needed to utilize
781 the new sendcmdto_* series of functions
783 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
785 * ircd/gline.c: remove old, dead code.
787 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
788 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
789 (don't advertise proxies); remove dead code
791 * ircd/parse.c: oper handler for JUPE only lists jupes unless
792 CONFIG_OPERCMDS is enabled
794 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
795 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
797 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
798 always return ERR_DISABLED
800 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
801 enabled, always return ERR_DISABLED
803 * ircd/s_err.c: add error message to indicate disabled commands
805 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
807 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
809 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
810 CONFIG_NEW_MODE to 'y' for now
812 * ircd/gline.c (gline_list): fix a minor formatting bogon
814 * BUGS: since I fixed that bug, might as well mark it fixed.
816 * ircd/m_join.c: look up badchans with GLINE_EXACT
818 * ircd/m_gline.c: fix parc count problems; look up existing
819 G-lines with GLINE_EXACT; only set new lastmod when
820 activating/deactivating existing glines if old lastmod was not 0
822 * ircd/gline.c: forgot to copy the gline reason over; don't
823 propagate a gline with 0 lastmod if origin is user; add
824 GLINE_EXACT to force exact matching of gline mask
826 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
829 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
830 but gline_lookup() actually takes a client--d'oh.
832 2000-04-13 Thomas Helvey <tomh@inxpress.net>
833 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
835 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
837 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
839 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
842 * ircd/whocmds.c: Change idle time calc from socket idle to user
845 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
847 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
848 too, for ircd_snprintf.c
850 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
851 comments; mostly descended from the Linux manpage for printf, but
852 also documenting the extensions.
854 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
855 client; make 'q' be the same as 'L'; remove __inline__; only
856 define EXTENSION if HAVE_LONG_LONG is defined
858 * include/handlers.h: declare m_gline()
860 * ircd/parse.c: gline can be called by users, but it only lists
863 * ircd/s_user.c (set_nick_name): resend gline if a remote server
864 introduces a glined client
866 * ircd/s_serv.c (server_estab): burst glines, too
868 * ircd/gline.c: fix up all the expire times to be offsets;
869 simplify gline_resend()
871 * ircd/m_gline.c: begin coding replacements for ms_gline(),
872 mo_gline(), and m_gline()
874 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
875 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
877 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
879 * tools/Bouncer/*: Add comments/documentation/tags.
880 * tools/Bouncer/*: Add debug defines, make task fork().
882 2000-04-12 Thomas Helvey <tomh@inxpress.net>
883 * ircd/s_err.c: Cleanup s_err.c make one table so we
884 don't have to do anything tricky to get an error string.
886 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
887 * Add port bouncer for http (x/w)
889 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
891 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
892 call to gline_find(); also used GlineReason() instead of direct
893 reference to structure member
895 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
896 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
899 * ircd/channel.c: nothing seems to be called anywhere...
901 * ircd/s_err.c: update a couple of replies to dovetail with new
904 * ircd/gline.c: begin complete re-implementation of gline.c along
905 the lines of the final design of jupe.c
907 * include/gline.h: begin complete re-implementation of gline.c
908 along the lines of the final design of jupe.c
910 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
913 * ircd/ircd_snprintf.c: my new snprintf()-like functions
915 * include/ircd_snprintf.h: my new snprintf()-like functions
917 2000-04-11 Thomas Helvey <tomh@inxpress.net>
918 * ircd/IPcheck.c: removed old dead code
919 * ircd/s_user.c (send_user_info): removed non-standard
920 user not found message for userhost/userip
922 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
924 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
925 * doc/p10.html: Work on chapter 4.
927 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
929 * ircd/channel.c (mode_parse_client): fix coredump on /mode
930 #foobar +o nosuchnick
932 2000-04-10 Perry Lorier <Isomer@coders.net>
935 2000-04-09 Thomas Helvey <tomh@inxpress.net>
936 * include/IPcheck.h: fix prototype
937 * ircd/s_user.c: fix usage of IPcheck_remote_connect
938 * ircd/IPcheck.c: removed unused args
940 2000-04-09 Thomas Helvey <tomh@inxpress.net>
941 * include/IPcheck.h: add proto for IPcheck_expire
943 * ircd/IPcheck.c: Rewrote
945 * ircd/ircd.c: Add IPcheck_expire to main message loop
947 * ircd/s_user.c: Redo target hashing, refactor target code
949 * include/numeric.h: Cleaned up numerics, added which ones are
950 in use by other networks and what they are in use for.
952 * ircd/channel.c: cleaned can_join(), allow anyone through anything
953 if /invited, simplified the function. Opers overusing OPEROVERRIDE
954 will get a message explaining to them not to cheat.
956 * ircd/m_join.c: cleaned up the various join functions, should be
957 a lot more efficient. Still needs work. Now assumes that s<->s
958 won't send it a JOIN 0. Service coders - note this and tread with
961 * ircd/m_stats.c: added Gte-'s stats doc patch.
963 * ircd/m_version.c: /version now returns the 005 numeric as well.
964 as requested by Liandrin.
967 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
969 * ircd/m_clearmode.c: add include for support.h for write_log()
971 * configure: move ircd/crypt/* to tools/*
973 2000-04-06 Thomas Helvey <tomh@inxpress.net>
974 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
975 set client host to server alias if connection from localhost
977 2000-04-06 Perry Lorier <isomer@coders.net>
978 * ircd/ircd.c: Fix core during pinging (oops)
980 2000-04-06 Perry Lorier <isomer@coders.net>
981 * ircd/send.c: fixed wrong ident being sent to channels bug.
982 * include/numerics.h: Updated some of the numerics from other
983 networks. Flagged some as 'unused' by undernet.
985 2000-03-30 Perry Lorier <isomer@coders.net>
986 * ircd/ircd.c: Lets see if this helps the ping problem at all.
987 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
988 time for local clients. (as requested), extended who now returns all
989 the flags (@+!) so you can tell the complete state of a client.
991 2000-03-30 Thomas Helvey <tomh@inxpress.net>
992 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
994 2000-03-30 Perry Lorier <isomer@coders.net>
995 * ircd/parse.c: oops, missed opers.
997 2000-03-30 Perry Lorier <isomer@coders.net>
998 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
999 for so long. Remember: m_ping MUST be in the parse array. :)
1001 2000-03-30 Perry Lorier <isomer@coders.net>
1002 * ircd/ircd.c: test in check_pings was wrong. I move that we
1003 disallow cvs commit after 10pm localtime....
1005 2000-03-30 Perry Lorier <isomer@coders.net>
1006 * ircd/m_pong.c: Fix it for servers too.
1008 2000-03-30 Perry Lorier <isomer@coders.net>
1009 * ircd/m_pong.c: Fix ping timeout bugs
1011 2000-03-30 Perry Lorier <isomer@coders.net>
1012 * ircd/channel.c: Bans had CurrentTime in their when field instead
1015 2000-03-31 Thomas Helvey <tomh@ixpress.net>
1016 * ircd/numnicks.c (SetXYYCapacity): fix for extended
1019 2000-03-30 Perry Lorier <isomer@coders.net>
1020 * ircd/m_nick.c: send kills both ways so when we add nick change
1021 on collision we don't desync the network.
1023 * ircd/map.c: Fixup the map a bit more.
1025 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
1027 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
1029 * ircd/m_opmode.c: Log the mode changes to OPATH
1031 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
1034 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
1037 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
1039 * config/config-sh.in: added OPATH for opmode log file
1041 * ircd/m_clearmode.c (do_clearmode): updated uses of
1042 modebuf_mode_string() for the new usage
1044 * ircd/channel.c: added flag MODE_FREE and an int argument to
1045 modebuf_mode_string() to indicate that the string must be free'd;
1046 updated calls to modebuf_mode_string() for the new usage; called
1047 collapse(pretty_mask()) on the ban string and use allocated memory
1048 for it; added ban list length accounting; fixed a number of small
1049 bugs in ban processing
1051 * include/channel.h: added flag MODE_FREE and an int argument to
1052 modebuf_mode_string() to indicate that the string must be free'd
1054 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
1055 keys and limits that are set
1057 2000-03-30 Perry Lorier <isomer@coders.net>
1058 * ircd/ircd.c: rewrote check_pings() for maintainability
1059 and speed. Also changed quit msg's so they don't have
1060 redundant nick[host] info in them.
1062 * ircd/send.c: Changed write errors to report what error
1063 occured (if possible).
1065 * ircd/gline.c: added gline comment to the quit.
1067 * ircd/m_server.c: Added suggestions to server quits mentioning
1068 what went wrong so the admin can fix it earlier instead of asking
1071 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
1072 servers that aren't fully burst yet. And show '(--s)' for servers
1075 * doc/example.conf: Fixed wrapped U:
1077 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
1079 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
1080 mode_parse() (version selectable at compile time)
1082 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
1084 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
1086 * config/config-sh.in: add new config option to enable new m_mode
1089 * doc/Configure.help: add documentation for new config option
1092 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
1093 MODE -v : Not enough parameters
1095 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
1096 +k and +l even if they weren't set...
1098 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
1100 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
1101 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
1102 for; test the 0-th member, not the i-th member, of the client
1105 * ircd/m_clearmode.c (do_clearmode): use the new
1106 mode_invite_clear() function
1108 * ircd/channel.c: cleared up all the compile-time warnings and
1111 * include/channel.h: added declarations for mode_ban_invalidate()
1112 and mode_invite_clear()
1114 * ircd/channel.c: finished mode_parse(), then broke it up into a
1115 dozen or so helper functions to make the code easier to read
1117 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1118 * ircd/ircd.c: refactor server initialization a bit, use
1119 getopt for parsing command line, refactor init_sys, main,
1122 * ircd/s_bsd.c: add functions for initialization to clean
1123 up logic a bit and remove duplicated code.
1125 * include/ircd.h: add struct for server process related
1128 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
1130 * ircd/channel.c: initial definition of mode_parse(); flags to
1131 prevent doing the same thing multiple times; helper method
1132 send_notoper() to send a "Not oper"/"Not on channel" notice
1134 * include/channel.h: declare mode_parse() and helper flags
1136 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
1137 sending to match the current action of set_mode() closely enough
1138 that hopefully there won't be major conflicts
1140 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
1141 building logic, reversed the order of the arguments to mode
1142 commands to have '-' preceed '+'
1144 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1145 * ircd/s_bsd.c (add_connection): don't disable socket options
1146 let OS tune itself and allow important performance tweaks to
1149 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
1151 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
1152 confused by set_mode, which is doing some really weird logic;
1153 guess what I'm going to rewrite next? ;)
1155 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
1157 * include/channel.h: added MODE_SAVE for the bounds checking stuff
1160 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
1161 make it do bounds checking on the buffer; all modes are sent only
1162 if the all parameter is 1; modebuf_flush is the exported wrapper
1164 * include/channel.h: add BOUNCE, renumber flags to get a little
1167 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
1168 BOUNCE; send DESYNCH message
1170 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
1172 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
1173 channel actually has in effect for deletion
1175 * ircd/channel.c: added explanatory comments to all added
1176 functions; made flushing take place at the correct place even if
1177 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
1178 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
1179 is empty, fixed the apparent source, removed some bogus string
1180 termination code, properly terminate the mode strings, add support
1181 for HACK2 and HACK3, made limit strings not be sent if the limit
1182 is being removed, changed where '+' and '-' come from in sent
1183 strings, added support for DEOP flag, set up bouncing code for
1186 * ircd/Makefile.in: ran make depend
1188 * include/channel.h: added new defines for future functionality,
1189 made modebuf_flush() return int so I can use tail recursion
1191 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
1192 to make it all compile
1194 * ircd/m_opmode.c: add msg.h to includes...
1196 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
1198 * ircd/channel.c (modebuf_flush): realized I forgot to
1199 nul-terminate addbuf/rembuf properly...
1201 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
1203 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
1204 sendto_serv_butone--blah^2
1206 * ircd/send.c (sendto_serv_butone): stupid comments confused me
1208 * ircd/channel.c (modebuf_flush): if there are no mode changes to
1209 propagate, we're done...
1211 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
1212 not sendto_all_butone
1214 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
1216 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
1218 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
1221 * ircd/parse.c: added messages for opmode and clearmode
1223 * include/handlers.h: added declarations for mo_opmode(),
1224 ms_opmode(), mo_clearmode(), and ms_clearmode()
1226 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
1229 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
1230 MODEBUF_DEST_OPMODE flag
1232 * ircd/channel.c (modebuf_flush): added new flag,
1233 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
1234 to originate from source's server (or source itself, if
1235 IsServer(source)); also causes a server-level MODE to be sent as
1238 * include/channel.h: defined MODEBUF_DEST_SERVER,
1241 * ircd/channel.c: Add another argument to build_string() to handle
1242 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
1243 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
1246 2000-03-27 Perry Lorier <isomer@coders.net>
1248 * ircd/s_bsd.c: fixed missing 'u' typo.
1250 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
1252 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
1253 _mode_string(), _mode_client(), _flush(); also implemented a
1254 simple build_string()
1256 * include/channel.h: added definition of ModeBuf, modebuf_*
1257 manipulation functions, and a couple of helper macros
1259 2000-03-24 Thomas Helvey <tomh@inxpress.net>
1260 * numicks.c: convert extended numerics to use original mask version
1263 2000-03-23 Thomas Helvey <tomh@inxpress.net>
1264 * Merge in changes from production
1265 2000-03-22 Thomas Helvey <tomh@inxpress.net>
1266 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
1267 * rfc1459.unet: Add Maniac's documentation for /names 0
1268 * Fix misc. jupe bugs that somehow made it into the tree
1269 * Escape /names 0 to mean /names --Maniac
1270 * Don't core when server asks for info --Maniac
1271 * Add Kev's jupe patch --Bleep
1272 * Add Maniacs squit patch --Bleep
1273 * Merge in u2_10_10_beta07 changes --Bleep
1274 * Merge in u2_10_10_beta06 changes --Bleep
1275 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
1276 #-----------------------------------------------------------------------------
1278 # ChangeLog for ircu2.10.11
1280 # $Id: ChangeLog,v 1.156 2000-07-15 01:31:23 isomer Exp $
1282 # Insert new changes at beginning of the change list.