1 2000-07-15 Perry Lorier <Isomer@coders.net>
2 * various: Fixed warnings after compiling on an alpha.
3 2000-07-09 Perry Lorier <Isomer@coders.net>
4 * doc/ircd.8: Applied grammitical changes by Liandrin, applied
5 changes suggested by various other people.
6 * ircd/IPcheck.c: More bug fixes. Current problem appears to be
7 that it gets a corrupt entry somehow.
8 2000-07-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
9 * ircd/m_oper.c: Clean up compiler warning.
11 2000-07-08 Perry Lorier <Isomer@coders.net>
12 * doc/ircd.8: Updated the documentation, it was slightly out of date
13 being updated around 1989.
14 * ircd/m_whois.c: Rewrote for clarity, and probably a bit more speed.
15 fixed a few minor glitches.
16 * doc/rfc1459.unet: Updated.
17 * ircd/IPcheck.c: Fixed more bugs.
18 * ircd/s_bsd.c: We now keep track of servers we've conected.
20 2000-07-02 Perry Lorier <Isomer@coders.net>
21 * ircd/s_misc.c: Fixed remote IPcheck bug. Ok, I'm a moron, so sue
22 me. Thanks to Hektik, thanks thanks thanks thanks
23 thanks thanks thanks thanks thank thanks thank thanks
25 2000-07-01 Perry Lorier <Isomer@coders.net>
26 * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s.
27 * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings.
29 2000-06-22 Perry Lorier <Isomer@coders.net>
30 * ircd/IPcheck.c: Large chunks redone.
31 * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported,
32 single AND double digit limits are allowed now.
33 * misc other: Changes to IPcheck.
35 2000-06-30 Perry Lorier <Isomer@coders.net>
36 * ircd/ircd.c: Fix command line parameter bugs.
38 2000-06-30 Perry Lorier <Isomer@coders.net>
39 * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY
40 * ircd/m_nick.c: Tidied things up.
42 2000-06-12 Joseph Bongaarts <foxxe@trms.com>
43 * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v
45 2000-05-29 Perry Lorier <Isomer@coders.net>
46 * ircd/m_stats.c: add /stats v to do only the last part of the /trace
47 * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do
48 you think it'll get bored and fix itself?
50 2000-06-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
52 * ircd/m_names.c: Clean up compiler warnings.
54 2000-06-09 Kevin L. Mitchell <klmitch@mit.edu>
56 * ircd/channel.c (mode_parse_client): don't send warning if
57 there's not enough arguments for a +/-o/v; means the habit of
58 doing "/mode #channel +oooooo bob" doesn't result in a bunch of
61 2000-06-04 Greg Sikorski <gte@atomicrevs.demon.co.uk>
63 * ircd/m_names.c: Re-factor code to remove unneccessary
64 GlobalChannelList iteration every time someone joins a channel.
66 2000-06-02 Kevin L. Mitchell <klmitch@mit.edu>
68 * ircd/s_user.c: add struct Gline * argument to register_user;
69 look up global glines and repropagate them if necessary; send
70 acknowledgement of gline to remote servers when registering users
72 * ircd/s_serv.c (server_estab): don't send acknowledgement of
73 local glines to remote servers; do send gline acknowledgement of
76 * ircd/m_user.c (m_user): pass new struct Gline * argument to
79 * ircd/m_pong.c: pass new struct Gline * argument to register_user
81 * ircd/m_nick.c (ms_nick): document protocol change
83 * ircd/gline.c: support GLINE_LASTMOD
85 * include/s_user.h: add struct Gline * argument to register_user
87 * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods
89 * ircd/s_conf.c (find_kill): add unsigned int argument to
92 * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global
93 glines; add unsigned int argument to gline_lookup()
95 * include/gline.h: add GLINE_GLOBAL flag; add unsigned int
96 argument to gline_lookup()
98 * ircd/m_server.c: Resend jupe only when there is no %<lastmod>
99 parameter, or when it falls out of bounds: see comments prior to
100 call to jupe_resend(); call server_estab with struct Jupe
101 parameter, so that we place the appropriate %<lastmod> in the
104 * ircd/s_serv.c (server_estab): send %<lastmod> for introduced
105 server, as well as for servers when we're sending the BURST
107 * include/s_serv.h: add a struct Jupe * to the arguments for
108 server_estab() so that we can send the appropriate lastmod
111 * ircd/m_gline.c (ms_gline): actually, this should be the
112 slightest bit more efficient...
114 * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest
115 bit more efficient...
117 * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends
120 * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during
123 * ircd/channel.c (joinbuf_join): really remove user from local
126 2000-05-29 Perry Lorier <Isomer@coders.net>
127 * ircd/m_names.c: Removed redundant space.
128 * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line.
130 2000-05-18 Kevin L. Mitchell <klmitch@mit.edu>
132 * ircd/m_burst.c (ms_burst): er...that should have been a ",", not
135 2000-05-04 Kevin L. Mitchell <klmitch@mit.edu>
137 * ircd/channel.c: replace bogus assertions with returns, which is
138 logically correct; only wipe out limit/key if they were originally
139 set in the first place; remove user from channel when doing a
140 PARTALL; only send MODE +o for user CREATEing channel if user is
141 not MyUser--CREATE will only be used if the channel did not
142 originally exist, therefore we can assume no one local is on the
143 channel anyway, and we don't exactly need for the user to see an
144 explicit +o for themselves
146 * doc/readme.gline: describe the syntax of the GLINE command
148 * doc/readme.jupe: update to reflect a couple of changes to JUPE
150 * ircd/gline.c: don't propagate local changes
152 * ircd/jupe.c: don't propagate local changes
154 * ircd/m_gline.c (mo_gline): force local flag when deactivating
155 glines with 0 lastmod
157 * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
158 are now removed instead of being deactivated
160 * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
163 * ircd/channel.c (send_channel_modes): deal with one of the last
166 * ircd/m_burst.c (ms_burst): debugged ban processing; removed
169 * ircd/channel.c (modebuf_extract): remove debugging
170 sendto_opmask_butone calls
172 2000-05-03 Kevin L. Mitchell <klmitch@mit.edu>
174 * ircd/channel.c: support a couple of new flags to support using
175 mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
176 of modebuf_extract to extract added flags for use by ms_burst
178 * include/channel.h: a couple of new flags to support using
179 mode_parse inside ms_burst
181 * ircd/m_burst.c (ms_burst): brand new implementation of BURST
183 * ircd/m_endburst.c: add loop to processing of end_of_burst to
184 free empty channels after the BURST is over.
186 * ircd/m_server.c: convert to use new send.c functions--I wanted
187 to rewrite it from scratch, but the logic's pretty complex; I may
188 still rewrite it, though...
190 2000-05-02 Thomas Helvey <tomh@inxpress.net>
192 * ircd/ircd.c: fix broken header include ordering
194 2000-05-02 Thomas Helvey <tomh@inxpress.net>
196 * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
197 review emailed privately
199 * include/IPcheck.h: removed unneeded include
201 2000-05-02 Kevin L. Mitchell <klmitch@mit.edu>
203 * ircd/s_user.c (hunt_server): throw in a comment so I know what
204 the sendto_one is for
206 * include/querycmds.h (Count_unknownbecomesclient): convert to
209 * ircd/send.c: start removing dead code
211 * include/send.h: start removing dead code
213 * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
216 * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
218 2000-05-01 Kevin L. Mitchell <klmitch@mit.edu>
220 * ircd/m_stats.c: convert to sendcmdto_one / send_reply
222 * ircd/m_kick.c: Completely reimplement m_kick
224 * ircd/channel.c: send_user_joins removed; it was dead code,
227 2000-05-01 Perry Lorier <isomer@coders.net>
228 * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
229 * ircd/channels.c: My fix for the part problem. Untested, probably
230 won't work. Can't be much worse than the current problem.
231 it'll either work or core, take your pick.
234 2000-04-30 Perry Lorier <isomer@coders.net>
235 * config/config-sh.in: Fix for CONNEXIT
236 * ircd/s_{user,misc}.c: Fix for CONNEXIT
237 * ircd/m_invite.c: Fix for incorrectly numnickified invite.
238 (Kev: Want to come talk to me about this?)
240 2000-04-30 Steven M. Doyle <steven@doyle.net>
242 - general cleanups and readability enhancements
243 - rewrite of setuid/chroot code.
244 - server will no longer run as root
245 - -DPROFIL compile option removed
246 - Fixed IPcheck API calls
248 * config/config-sh.in
249 - Fixed up chroot compile options
250 - Added options for debug and profile compiles
252 * config/gen.ircd.Makefile
253 - Support for new debug/profile options
256 - Support for new debug/profile options
262 - Removed old API prototypes, added new ones
265 - Readability cleanups (well, I -think-...)
266 - Changed IPRegistryEntry.last_connect to a time_t. The previously
267 used unsigned short was probably causing interesting things after
268 a client had been connected longer than about 65,535 seconds...
269 - Removed old API functions.
272 - Removed IPcheck.h include
274 * Additionally modified IPcheck API calls in:
284 2000-04-30 Perry Lorier <isomer@coders.net>
285 * ircd/s_bsd.c: Sigh. :)
286 * ircd/m_mode.c: fix for modeless channels by poptix.
288 2000-04-29 Kevin L. Mitchell <klmitch@mit.edu>
290 * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
292 * ircd/channel.c (clean_channelname): make clean_channelname also
293 truncate long channel names
295 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
297 * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
299 * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
302 * include/channel.h: definitions and declarations for the struct
305 2000-04-29 Perry Lorier <isomer@coders.net>
306 * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
308 2000-04-29 Perry Lorier <isomer@coders.net>
309 * ircd/s_bsd.c: Add debugging code to IPcheck
311 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
313 * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
315 * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
318 * ircd/m_userhost.c (m_userhost): add a dead code comment
320 * ircd/m_desynch.c: forgot one...
322 * ircd/m_rehash.c (mo_rehash): er, duplicates :)
324 * ircd/m_proto.c (proto_send_supported): just change a comment so
325 it doesn't show up in my scans
327 * ircd/ircd_reply.c (send_reply): fix a slight bug...
329 * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
332 * ircd/parse.c (parse_server): argument wrangling to make
333 processing in do_numeric a little easier to deal with
335 * ircd/s_serv.c (server_estab): SERVER should come from
336 acptr->serv->up, not &me
338 * ircd/m_lusers.c: accidentally left out sptr for a %C
340 * ircd/send.c: hack to support doing wallchops...
342 * ircd/m_whowas.c: convert to new send functions
344 * ircd/m_whois.c: convert to new send functions
346 * ircd/m_who.c: convert to new send functions
348 * ircd/m_wallops.c: convert to new send functions
350 * ircd/m_wallchops.c: convert to new send functions
352 * ircd/m_version.c: convert to new send functions
354 * ircd/m_userip.c: convert to new send functions
356 * ircd/m_userhost.c: convert to new send functions
358 * ircd/m_uping.c: convert to new send functions
360 * ircd/m_trace.c: convert to new send functions
362 * ircd/m_topic.c: convert to new send functions
364 * ircd/m_time.c: convert to new send functions
366 * ircd/m_squit.c: convert to new send functions
368 * ircd/m_silence.c: convert to new send functions
370 * ircd/m_settime.c: convert to new send functions
372 * ircd/m_restart.c: convert to new send functions
374 * ircd/m_rehash.c: convert to new send functions
376 * ircd/m_privmsg.c: convert to new send functions
378 * ircd/m_pong.c: convert to new send functions
380 * ircd/m_ping.c: convert to new send functions
382 * ircd/m_pass.c: convert to new send functions
384 * ircd/m_opmode.c: convert to new send functions
386 * ircd/m_oper.c: convert to new send functions
388 * ircd/m_notice.c: convert to new send functions
390 * ircd/m_nick.c: convert to new send functions
392 * ircd/m_names.c: convert to new send functions
394 * ircd/m_motd.c: convert to new send functions
396 * ircd/m_mode.c: convert to new send functions
398 * ircd/m_map.c: convert to new send functions
400 * ircd/m_lusers.c: convert to new send functions
402 * ircd/m_list.c: convert to new send functions
404 * ircd/m_links.c: convert to new send functions
406 * ircd/m_kill.c: convert to new send functions
408 * ircd/m_jupe.c: convert to new send functions
410 * ircd/m_invite.c: convert to new send functions
412 * ircd/m_info.c: convert to new send functions
414 * ircd/m_help.c: convert to new send functions
416 * ircd/m_gline.c: convert to new send functions
418 * ircd/m_error.c: convert to new send functions
420 * ircd/m_endburst.c: convert to new send functions
422 * ircd/m_die.c: convert to new send functions
424 * ircd/m_destruct.c: convert to new send functions
426 * ircd/m_defaults.c: convert to new send functions
428 * ircd/m_connect.c: convert to new send functions
430 2000-04-28 Perry Lorier <isomer@coders.net>
431 * RELEASE.NOTES: Describe a few more undocumented features.
432 * config/config-sh.in: change the default paths for logging
433 and the recommended number of channels.
434 * include/supported.h: Rearrange slightly, added CHANTYPE's
436 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu>
438 * ircd/m_close.c: convert to send_reply
440 * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
442 * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
444 * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
446 * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
447 that takes cmd and tok arguments, etc. NOTE: THIS IMPLEMENTATION
448 HAS A MAJOR HACK!!! The whole hunt_server architecture should be
449 carefully rethought...
451 * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
453 * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
455 * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
456 numeric nick; therefore, we have to use the server name
458 * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
460 * ircd/send.c: fix minor bugs
462 * ircd/s_user.c (check_target_limit): mark dead code so I filter
465 * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
468 * ircd/parse.c: mark dead code so I filter it when I grep
470 * ircd/map.c: mark dead code so I filter it when I grep
472 * ircd/ircd.c: mark dead code so I filter it when I grep
474 * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
477 * ircd/channel.c: mark dead code so I filter it when I grep
479 * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
480 hope I'm not stepping on toes...
482 * ircd/s_conf.c: more sendto_opmask_butone / send_reply
483 conversions; use ircd_snprintf in a couple of cases to negate the
484 possibility of buffer overflow
486 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu>
488 * ircd/channel.c: convert as much as possible to new send
491 * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
492 test member->user->from->fd, not from->fd
494 * ircd/gline.c (gline_add): go ahead and add badchans; we just
495 won't look for them in m_gline; this way, they always work...
497 * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
499 * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
500 ircd_vsnprintf conversion specifiers
502 * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
503 I have my conversion specifiers
505 * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
507 * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
510 * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
511 little less brain-dead
513 * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
515 * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
518 * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
521 * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
524 * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
526 * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
528 * ircd/s_user.c (register_user): use RPL_EXPLICIT for
531 * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
533 * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
534 a numeric as needing to use an explicit pattern, which will be the
535 first argument in the variable argument list
537 * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
538 non-prefixed nospoof PING
540 * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
541 non-prefixed SERVER login
543 * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
544 a numeric usage further up)
546 * include/send.h: declare sendrawto_one
548 * ircd/send.c (sendrawto_one): new function to use ONLY for
549 non-prefixed commands, like PING to client, or PASS/SERVER on
552 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu>
554 * ircd/ircd_snprintf.c (doprintf): implement %H for possible
555 future expansion (channel numerics?)
557 * include/ircd_snprintf.h: added documentation to # to explain use
558 with %C; added documentation for : to explain use with %C; added
559 documentation for %H for channels
561 * ircd/whocmds.c: use send_reply
563 * ircd/userload.c: use sendcmdto_one
565 * ircd/uping.c: use sendcmdto_one
567 * ircd/send.c: use new flags to %C format string; ':' prefixes
568 client name with a colon for local connects, '#' uses
569 nick!user@host form for local connects
571 * ircd/s_user.c: use send_reply, sendto_opmask_butone,
572 sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
574 * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
576 * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
579 * ircd/s_auth.c: use sendto_opmask_butone
581 * ircd/res.c: use sendcmdto_one
583 * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
586 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu>
588 * ircd/support.c: dumpcore is no longer used, so get rid of it
590 * ircd/parse.c: use send_reply, sendcmdto_one
592 * ircd/map.c: use send_reply
594 * ircd/listener.c: use send_reply
596 * ircd/jupe.c: use sendto_opmask_butone, send_reply
598 * ircd/ircd_reply.c: use send_reply
600 * ircd/ircd.c: use sendto_opmask_butone
602 * ircd/gline.c: use sendto_opmask_butone, send_reply
604 * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
605 registered clients; make FLAG_ALT print nick!user@host; make
606 FLAG_COLON print :blah
608 * ircd/class.c (report_classes): use send_reply instead of
611 * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
613 * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
614 sendto_one with sendcmdto_one
616 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu>
618 * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
619 MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
620 sendcmdto_match_butone
622 * include/send.h: declare sendcmdto_match_butone
624 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu>
626 * ircd/jupe.c: update to use send_reply()
628 * ircd/gline.c: update to use send_reply()
630 * include/ircd_reply.h: declare send_reply
632 * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
633 replies; uses ircd_snprintf
635 * ircd/send.c: added comments to redirect searchers to appropriate
636 sendcmdto_* function; moved new functions to end of file; added
637 explanatory comments; reordered arguments; defined new functions
640 * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
642 * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
644 * ircd/jupe.c: reorder arguments to sendcmdto_* functions
646 * ircd/gline.c: reorder arguments to sendcmdto_* functions
648 * include/send.h: reorder arguments, add explanatory comments,
649 declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
650 and vsendto_opmask_butone
652 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu>
654 * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
655 vsendto_op_mask that uses '*' instead of the receiving client
658 * include/send.h: declare sendcmdto_channel_butone; takes a skip
659 argument that allows you to skip (or not to skip) deaf users,
660 users behind bursting servers, and non channel operators
662 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu>
664 * ircd/send.c: new sendcmdto_channel_butserv -- note that old
665 sendto_channel_butserv has a subtle bug; also wrote
666 sendcmdto_common_channels.
668 * include/send.h: declare new sendcmdto_* functions
670 * ircd/jupe.c: support local deactivations of jupes
672 * ircd/gline.c: support local deactivations of glines
674 * include/jupe.h: JUPE_LDEACT allows jupes to be locally
675 deactivated; if they aren't locally deactivated, then it slaves to
676 the net-wide activation status; JupeIsRemActive() tests only
677 whether the jupe is active everywhere else
679 * include/gline.h: GLINE_LDEACT allows glines to be locally
680 deactivated; if they aren't locally deactivated, then it slaves to
681 the net-wide activation status; GlineIsRemActive() tests only
682 whether the gline is active everywhere else
684 * ircd/gline.c: detect overlapping G-lines; if an existing, wider
685 gline expires after the new one will, we drop the new one,
686 otherwise we add the G-line after that one (so the wide one will
687 apply first); if the new one contains an existing G-line and if it
688 will expire after the existing one, we drop the existing one to
691 * ircd/m_gline.c (mo_gline): opers could issue remote local
692 glines when CONFIG_OPERCMDS was off; fixed
694 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
696 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
699 * ircd/gline.c: add flags argument to gline_activate and
700 gline_deactivate for future expansion
702 * ircd/m_gline.c: pass flags to gline_activate and
705 * include/gline.h: add flags argument to gline_activate and
708 * ircd/jupe.c: add flags argument to jupe_activate and
709 jupe_deactivate for future expansion
711 * include/jupe.h: add flags argument to jupe_activate and
714 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
715 local, active; pass flags to jupe_activate and jupe_deactivate
717 * include/gline.h: remove dead code
719 * ircd/gline.c: make gline expire times relative to CurrentTime,
720 since that should be monotonically increasing, instead of
721 TStime(), which can be set backwards, and which can therefore
722 cause an expire time to increase; make local glines be removed
723 instead of just deactivated; don't let gline_find() look for
724 user@host glines if the mask being looked up is a channel mask
726 * ircd/send.c (vsendcmdto_one): forgot to account for the case
727 where origin is a server and destination is a user
729 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
730 since that should be monotonically increasing, instead of
731 TStime(), which can be set backwards, and which can therefore
732 cause an expire time to increase; make local jupes be removed
733 instead of just deactivated
735 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
736 limit is fine. any other warnings I should know about?
738 2000-04-15 Thomas Helvey <tomh@inxpress.net>
740 * ircd/*.c: const correctness and type safety cleanups to
741 get code to compile with C++ compiler. Still has
742 signed/unsigned comparison warnings.
744 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
746 * ircd/userload.c: change <sys/time.h> include to <time.h> for
749 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
751 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
754 * ircd/s_user.c: move gline_lookup function call into
755 register_user, where it'll have a username to lookup!
757 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
758 functions; also stuff send_error_to_client into return clauses
760 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
761 functions; also use send_error_to_client where that makes sense
763 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
764 functions; also use send_error_to_client where that makes sense
766 * ircd/gline.c: modify to utilize new sendcmdto_* series of
767 functions; also fix gline_lookup() to deal properly with remote
768 clients--boy, do struct Client and struct User need to be cleaned
771 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
774 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
775 sendcmdto_serv_butone(), all utilizing the %v conversion of
778 * include/send.h: define IRC_BUFSIZE, max size of a message;
779 declare sendcmdto_one(), vsendcmdto_one(), and
780 sendcmdto_serv_butone()
782 * include/msg.h: define all the CMD_* constants needed to utilize
783 the new sendcmdto_* series of functions
785 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
787 * ircd/gline.c: remove old, dead code.
789 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
790 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
791 (don't advertise proxies); remove dead code
793 * ircd/parse.c: oper handler for JUPE only lists jupes unless
794 CONFIG_OPERCMDS is enabled
796 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
797 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
799 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
800 always return ERR_DISABLED
802 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
803 enabled, always return ERR_DISABLED
805 * ircd/s_err.c: add error message to indicate disabled commands
807 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
809 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
811 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
812 CONFIG_NEW_MODE to 'y' for now
814 * ircd/gline.c (gline_list): fix a minor formatting bogon
816 * BUGS: since I fixed that bug, might as well mark it fixed.
818 * ircd/m_join.c: look up badchans with GLINE_EXACT
820 * ircd/m_gline.c: fix parc count problems; look up existing
821 G-lines with GLINE_EXACT; only set new lastmod when
822 activating/deactivating existing glines if old lastmod was not 0
824 * ircd/gline.c: forgot to copy the gline reason over; don't
825 propagate a gline with 0 lastmod if origin is user; add
826 GLINE_EXACT to force exact matching of gline mask
828 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
831 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
832 but gline_lookup() actually takes a client--d'oh.
834 2000-04-13 Thomas Helvey <tomh@inxpress.net>
835 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
837 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
839 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
841 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
844 * ircd/whocmds.c: Change idle time calc from socket idle to user
847 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
849 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
850 too, for ircd_snprintf.c
852 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
853 comments; mostly descended from the Linux manpage for printf, but
854 also documenting the extensions.
856 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
857 client; make 'q' be the same as 'L'; remove __inline__; only
858 define EXTENSION if HAVE_LONG_LONG is defined
860 * include/handlers.h: declare m_gline()
862 * ircd/parse.c: gline can be called by users, but it only lists
865 * ircd/s_user.c (set_nick_name): resend gline if a remote server
866 introduces a glined client
868 * ircd/s_serv.c (server_estab): burst glines, too
870 * ircd/gline.c: fix up all the expire times to be offsets;
871 simplify gline_resend()
873 * ircd/m_gline.c: begin coding replacements for ms_gline(),
874 mo_gline(), and m_gline()
876 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
877 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
879 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
881 * tools/Bouncer/*: Add comments/documentation/tags.
882 * tools/Bouncer/*: Add debug defines, make task fork().
884 2000-04-12 Thomas Helvey <tomh@inxpress.net>
885 * ircd/s_err.c: Cleanup s_err.c make one table so we
886 don't have to do anything tricky to get an error string.
888 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
889 * Add port bouncer for http (x/w)
891 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
893 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
894 call to gline_find(); also used GlineReason() instead of direct
895 reference to structure member
897 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
898 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
901 * ircd/channel.c: nothing seems to be called anywhere...
903 * ircd/s_err.c: update a couple of replies to dovetail with new
906 * ircd/gline.c: begin complete re-implementation of gline.c along
907 the lines of the final design of jupe.c
909 * include/gline.h: begin complete re-implementation of gline.c
910 along the lines of the final design of jupe.c
912 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
915 * ircd/ircd_snprintf.c: my new snprintf()-like functions
917 * include/ircd_snprintf.h: my new snprintf()-like functions
919 2000-04-11 Thomas Helvey <tomh@inxpress.net>
920 * ircd/IPcheck.c: removed old dead code
921 * ircd/s_user.c (send_user_info): removed non-standard
922 user not found message for userhost/userip
924 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
926 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
927 * doc/p10.html: Work on chapter 4.
929 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
931 * ircd/channel.c (mode_parse_client): fix coredump on /mode
932 #foobar +o nosuchnick
934 2000-04-10 Perry Lorier <Isomer@coders.net>
937 2000-04-09 Thomas Helvey <tomh@inxpress.net>
938 * include/IPcheck.h: fix prototype
939 * ircd/s_user.c: fix usage of IPcheck_remote_connect
940 * ircd/IPcheck.c: removed unused args
942 2000-04-09 Thomas Helvey <tomh@inxpress.net>
943 * include/IPcheck.h: add proto for IPcheck_expire
945 * ircd/IPcheck.c: Rewrote
947 * ircd/ircd.c: Add IPcheck_expire to main message loop
949 * ircd/s_user.c: Redo target hashing, refactor target code
951 * include/numeric.h: Cleaned up numerics, added which ones are
952 in use by other networks and what they are in use for.
954 * ircd/channel.c: cleaned can_join(), allow anyone through anything
955 if /invited, simplified the function. Opers overusing OPEROVERRIDE
956 will get a message explaining to them not to cheat.
958 * ircd/m_join.c: cleaned up the various join functions, should be
959 a lot more efficient. Still needs work. Now assumes that s<->s
960 won't send it a JOIN 0. Service coders - note this and tread with
963 * ircd/m_stats.c: added Gte-'s stats doc patch.
965 * ircd/m_version.c: /version now returns the 005 numeric as well.
966 as requested by Liandrin.
969 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
971 * ircd/m_clearmode.c: add include for support.h for write_log()
973 * configure: move ircd/crypt/* to tools/*
975 2000-04-06 Thomas Helvey <tomh@inxpress.net>
976 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
977 set client host to server alias if connection from localhost
979 2000-04-06 Perry Lorier <isomer@coders.net>
980 * ircd/ircd.c: Fix core during pinging (oops)
982 2000-04-06 Perry Lorier <isomer@coders.net>
983 * ircd/send.c: fixed wrong ident being sent to channels bug.
984 * include/numerics.h: Updated some of the numerics from other
985 networks. Flagged some as 'unused' by undernet.
987 2000-03-30 Perry Lorier <isomer@coders.net>
988 * ircd/ircd.c: Lets see if this helps the ping problem at all.
989 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
990 time for local clients. (as requested), extended who now returns all
991 the flags (@+!) so you can tell the complete state of a client.
993 2000-03-30 Thomas Helvey <tomh@inxpress.net>
994 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
996 2000-03-30 Perry Lorier <isomer@coders.net>
997 * ircd/parse.c: oops, missed opers.
999 2000-03-30 Perry Lorier <isomer@coders.net>
1000 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
1001 for so long. Remember: m_ping MUST be in the parse array. :)
1003 2000-03-30 Perry Lorier <isomer@coders.net>
1004 * ircd/ircd.c: test in check_pings was wrong. I move that we
1005 disallow cvs commit after 10pm localtime....
1007 2000-03-30 Perry Lorier <isomer@coders.net>
1008 * ircd/m_pong.c: Fix it for servers too.
1010 2000-03-30 Perry Lorier <isomer@coders.net>
1011 * ircd/m_pong.c: Fix ping timeout bugs
1013 2000-03-30 Perry Lorier <isomer@coders.net>
1014 * ircd/channel.c: Bans had CurrentTime in their when field instead
1017 2000-03-31 Thomas Helvey <tomh@ixpress.net>
1018 * ircd/numnicks.c (SetXYYCapacity): fix for extended
1021 2000-03-30 Perry Lorier <isomer@coders.net>
1022 * ircd/m_nick.c: send kills both ways so when we add nick change
1023 on collision we don't desync the network.
1025 * ircd/map.c: Fixup the map a bit more.
1027 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
1029 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
1031 * ircd/m_opmode.c: Log the mode changes to OPATH
1033 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
1036 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
1039 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
1041 * config/config-sh.in: added OPATH for opmode log file
1043 * ircd/m_clearmode.c (do_clearmode): updated uses of
1044 modebuf_mode_string() for the new usage
1046 * ircd/channel.c: added flag MODE_FREE and an int argument to
1047 modebuf_mode_string() to indicate that the string must be free'd;
1048 updated calls to modebuf_mode_string() for the new usage; called
1049 collapse(pretty_mask()) on the ban string and use allocated memory
1050 for it; added ban list length accounting; fixed a number of small
1051 bugs in ban processing
1053 * include/channel.h: added flag MODE_FREE and an int argument to
1054 modebuf_mode_string() to indicate that the string must be free'd
1056 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
1057 keys and limits that are set
1059 2000-03-30 Perry Lorier <isomer@coders.net>
1060 * ircd/ircd.c: rewrote check_pings() for maintainability
1061 and speed. Also changed quit msg's so they don't have
1062 redundant nick[host] info in them.
1064 * ircd/send.c: Changed write errors to report what error
1065 occured (if possible).
1067 * ircd/gline.c: added gline comment to the quit.
1069 * ircd/m_server.c: Added suggestions to server quits mentioning
1070 what went wrong so the admin can fix it earlier instead of asking
1073 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
1074 servers that aren't fully burst yet. And show '(--s)' for servers
1077 * doc/example.conf: Fixed wrapped U:
1079 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
1081 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
1082 mode_parse() (version selectable at compile time)
1084 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
1086 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
1088 * config/config-sh.in: add new config option to enable new m_mode
1091 * doc/Configure.help: add documentation for new config option
1094 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
1095 MODE -v : Not enough parameters
1097 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
1098 +k and +l even if they weren't set...
1100 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
1102 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
1103 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
1104 for; test the 0-th member, not the i-th member, of the client
1107 * ircd/m_clearmode.c (do_clearmode): use the new
1108 mode_invite_clear() function
1110 * ircd/channel.c: cleared up all the compile-time warnings and
1113 * include/channel.h: added declarations for mode_ban_invalidate()
1114 and mode_invite_clear()
1116 * ircd/channel.c: finished mode_parse(), then broke it up into a
1117 dozen or so helper functions to make the code easier to read
1119 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1120 * ircd/ircd.c: refactor server initialization a bit, use
1121 getopt for parsing command line, refactor init_sys, main,
1124 * ircd/s_bsd.c: add functions for initialization to clean
1125 up logic a bit and remove duplicated code.
1127 * include/ircd.h: add struct for server process related
1130 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
1132 * ircd/channel.c: initial definition of mode_parse(); flags to
1133 prevent doing the same thing multiple times; helper method
1134 send_notoper() to send a "Not oper"/"Not on channel" notice
1136 * include/channel.h: declare mode_parse() and helper flags
1138 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
1139 sending to match the current action of set_mode() closely enough
1140 that hopefully there won't be major conflicts
1142 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
1143 building logic, reversed the order of the arguments to mode
1144 commands to have '-' preceed '+'
1146 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1147 * ircd/s_bsd.c (add_connection): don't disable socket options
1148 let OS tune itself and allow important performance tweaks to
1151 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
1153 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
1154 confused by set_mode, which is doing some really weird logic;
1155 guess what I'm going to rewrite next? ;)
1157 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
1159 * include/channel.h: added MODE_SAVE for the bounds checking stuff
1162 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
1163 make it do bounds checking on the buffer; all modes are sent only
1164 if the all parameter is 1; modebuf_flush is the exported wrapper
1166 * include/channel.h: add BOUNCE, renumber flags to get a little
1169 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
1170 BOUNCE; send DESYNCH message
1172 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
1174 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
1175 channel actually has in effect for deletion
1177 * ircd/channel.c: added explanatory comments to all added
1178 functions; made flushing take place at the correct place even if
1179 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
1180 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
1181 is empty, fixed the apparent source, removed some bogus string
1182 termination code, properly terminate the mode strings, add support
1183 for HACK2 and HACK3, made limit strings not be sent if the limit
1184 is being removed, changed where '+' and '-' come from in sent
1185 strings, added support for DEOP flag, set up bouncing code for
1188 * ircd/Makefile.in: ran make depend
1190 * include/channel.h: added new defines for future functionality,
1191 made modebuf_flush() return int so I can use tail recursion
1193 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
1194 to make it all compile
1196 * ircd/m_opmode.c: add msg.h to includes...
1198 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
1200 * ircd/channel.c (modebuf_flush): realized I forgot to
1201 nul-terminate addbuf/rembuf properly...
1203 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
1205 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
1206 sendto_serv_butone--blah^2
1208 * ircd/send.c (sendto_serv_butone): stupid comments confused me
1210 * ircd/channel.c (modebuf_flush): if there are no mode changes to
1211 propagate, we're done...
1213 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
1214 not sendto_all_butone
1216 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
1218 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
1220 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
1223 * ircd/parse.c: added messages for opmode and clearmode
1225 * include/handlers.h: added declarations for mo_opmode(),
1226 ms_opmode(), mo_clearmode(), and ms_clearmode()
1228 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
1231 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
1232 MODEBUF_DEST_OPMODE flag
1234 * ircd/channel.c (modebuf_flush): added new flag,
1235 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
1236 to originate from source's server (or source itself, if
1237 IsServer(source)); also causes a server-level MODE to be sent as
1240 * include/channel.h: defined MODEBUF_DEST_SERVER,
1243 * ircd/channel.c: Add another argument to build_string() to handle
1244 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
1245 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
1248 2000-03-27 Perry Lorier <isomer@coders.net>
1250 * ircd/s_bsd.c: fixed missing 'u' typo.
1252 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
1254 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
1255 _mode_string(), _mode_client(), _flush(); also implemented a
1256 simple build_string()
1258 * include/channel.h: added definition of ModeBuf, modebuf_*
1259 manipulation functions, and a couple of helper macros
1261 2000-03-24 Thomas Helvey <tomh@inxpress.net>
1262 * numicks.c: convert extended numerics to use original mask version
1265 2000-03-23 Thomas Helvey <tomh@inxpress.net>
1266 * Merge in changes from production
1267 2000-03-22 Thomas Helvey <tomh@inxpress.net>
1268 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
1269 * rfc1459.unet: Add Maniac's documentation for /names 0
1270 * Fix misc. jupe bugs that somehow made it into the tree
1271 * Escape /names 0 to mean /names --Maniac
1272 * Don't core when server asks for info --Maniac
1273 * Add Kev's jupe patch --Bleep
1274 * Add Maniacs squit patch --Bleep
1275 * Merge in u2_10_10_beta07 changes --Bleep
1276 * Merge in u2_10_10_beta06 changes --Bleep
1277 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
1278 #-----------------------------------------------------------------------------
1280 # ChangeLog for ircu2.10.11
1282 # $Id: ChangeLog,v 1.157 2000-07-15 12:29:15 isomer Exp $
1284 # Insert new changes at beginning of the change list.