1 2000-05-29 Perry Lorier <Isomer@coders.net>
2 * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY
3 * ircd/m_nick.c: Tidied things up.
5 2000-06-12 Joseph Bongaarts <foxxe@trms.com>
6 * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v
8 2000-05-29 Perry Lorier <Isomer@coders.net>
9 * ircd/m_stats.c: add /stats v to do only the last part of the /trace
10 * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do
11 you think it'll get bored and fix itself?
13 2000-06-09 Greg Sikorski <gte@atomicrevs.demon.co.uk>
15 * ircd/m_names.c: Clean up compiler warnings.
17 2000-06-09 Kevin L. Mitchell <klmitch@mit.edu>
19 * ircd/channel.c (mode_parse_client): don't send warning if
20 there's not enough arguments for a +/-o/v; means the habit of
21 doing "/mode #channel +oooooo bob" doesn't result in a bunch of
24 2000-06-04 Greg Sikorski <gte@atomicrevs.demon.co.uk>
26 * ircd/m_names.c: Re-factor code to remove unneccessary
27 GlobalChannelList iteration every time someone joins a channel.
29 2000-06-02 Kevin L. Mitchell <klmitch@mit.edu>
31 * ircd/s_user.c: add struct Gline * argument to register_user;
32 look up global glines and repropagate them if necessary; send
33 acknowledgement of gline to remote servers when registering users
35 * ircd/s_serv.c (server_estab): don't send acknowledgement of
36 local glines to remote servers; do send gline acknowledgement of
39 * ircd/m_user.c (m_user): pass new struct Gline * argument to
42 * ircd/m_pong.c: pass new struct Gline * argument to register_user
44 * ircd/m_nick.c (ms_nick): document protocol change
46 * ircd/gline.c: support GLINE_LASTMOD
48 * include/s_user.h: add struct Gline * argument to register_user
50 * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods
52 * ircd/s_conf.c (find_kill): add unsigned int argument to
55 * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global
56 glines; add unsigned int argument to gline_lookup()
58 * include/gline.h: add GLINE_GLOBAL flag; add unsigned int
59 argument to gline_lookup()
61 * ircd/m_server.c: Resend jupe only when there is no %<lastmod>
62 parameter, or when it falls out of bounds: see comments prior to
63 call to jupe_resend(); call server_estab with struct Jupe
64 parameter, so that we place the appropriate %<lastmod> in the
67 * ircd/s_serv.c (server_estab): send %<lastmod> for introduced
68 server, as well as for servers when we're sending the BURST
70 * include/s_serv.h: add a struct Jupe * to the arguments for
71 server_estab() so that we can send the appropriate lastmod
74 * ircd/m_gline.c (ms_gline): actually, this should be the
75 slightest bit more efficient...
77 * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest
80 * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends
83 * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during
86 * ircd/channel.c (joinbuf_join): really remove user from local
89 2000-05-29 Perry Lorier <Isomer@coders.net>
90 * ircd/m_names.c: Removed redundant space.
91 * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line.
93 2000-05-18 Kevin L. Mitchell <klmitch@mit.edu>
95 * ircd/m_burst.c (ms_burst): er...that should have been a ",", not
98 2000-05-04 Kevin L. Mitchell <klmitch@mit.edu>
100 * ircd/channel.c: replace bogus assertions with returns, which is
101 logically correct; only wipe out limit/key if they were originally
102 set in the first place; remove user from channel when doing a
103 PARTALL; only send MODE +o for user CREATEing channel if user is
104 not MyUser--CREATE will only be used if the channel did not
105 originally exist, therefore we can assume no one local is on the
106 channel anyway, and we don't exactly need for the user to see an
107 explicit +o for themselves
109 * doc/readme.gline: describe the syntax of the GLINE command
111 * doc/readme.jupe: update to reflect a couple of changes to JUPE
113 * ircd/gline.c: don't propagate local changes
115 * ircd/jupe.c: don't propagate local changes
117 * ircd/m_gline.c (mo_gline): force local flag when deactivating
118 glines with 0 lastmod
120 * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
121 are now removed instead of being deactivated
123 * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
126 * ircd/channel.c (send_channel_modes): deal with one of the last
129 * ircd/m_burst.c (ms_burst): debugged ban processing; removed
132 * ircd/channel.c (modebuf_extract): remove debugging
133 sendto_opmask_butone calls
135 2000-05-03 Kevin L. Mitchell <klmitch@mit.edu>
137 * ircd/channel.c: support a couple of new flags to support using
138 mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
139 of modebuf_extract to extract added flags for use by ms_burst
141 * include/channel.h: a couple of new flags to support using
142 mode_parse inside ms_burst
144 * ircd/m_burst.c (ms_burst): brand new implementation of BURST
146 * ircd/m_endburst.c: add loop to processing of end_of_burst to
147 free empty channels after the BURST is over.
149 * ircd/m_server.c: convert to use new send.c functions--I wanted
150 to rewrite it from scratch, but the logic's pretty complex; I may
151 still rewrite it, though...
153 2000-05-02 Thomas Helvey <tomh@inxpress.net>
155 * ircd/ircd.c: fix broken header include ordering
157 2000-05-02 Thomas Helvey <tomh@inxpress.net>
159 * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
160 review emailed privately
162 * include/IPcheck.h: removed unneeded include
164 2000-05-02 Kevin L. Mitchell <klmitch@mit.edu>
166 * ircd/s_user.c (hunt_server): throw in a comment so I know what
167 the sendto_one is for
169 * include/querycmds.h (Count_unknownbecomesclient): convert to
172 * ircd/send.c: start removing dead code
174 * include/send.h: start removing dead code
176 * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
179 * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
181 2000-05-01 Kevin L. Mitchell <klmitch@mit.edu>
183 * ircd/m_stats.c: convert to sendcmdto_one / send_reply
185 * ircd/m_kick.c: Completely reimplement m_kick
187 * ircd/channel.c: send_user_joins removed; it was dead code,
190 2000-05-01 Perry Lorier <isomer@coders.net>
191 * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
192 * ircd/channels.c: My fix for the part problem. Untested, probably
193 won't work. Can't be much worse than the current problem.
194 it'll either work or core, take your pick.
197 2000-04-30 Perry Lorier <isomer@coders.net>
198 * config/config-sh.in: Fix for CONNEXIT
199 * ircd/s_{user,misc}.c: Fix for CONNEXIT
200 * ircd/m_invite.c: Fix for incorrectly numnickified invite.
201 (Kev: Want to come talk to me about this?)
203 2000-04-30 Steven M. Doyle <steven@doyle.net>
205 - general cleanups and readability enhancements
206 - rewrite of setuid/chroot code.
207 - server will no longer run as root
208 - -DPROFIL compile option removed
209 - Fixed IPcheck API calls
211 * config/config-sh.in
212 - Fixed up chroot compile options
213 - Added options for debug and profile compiles
215 * config/gen.ircd.Makefile
216 - Support for new debug/profile options
219 - Support for new debug/profile options
225 - Removed old API prototypes, added new ones
228 - Readability cleanups (well, I -think-...)
229 - Changed IPRegistryEntry.last_connect to a time_t. The previously
230 used unsigned short was probably causing interesting things after
231 a client had been connected longer than about 65,535 seconds...
232 - Removed old API functions.
235 - Removed IPcheck.h include
237 * Additionally modified IPcheck API calls in:
247 2000-04-30 Perry Lorier <isomer@coders.net>
248 * ircd/s_bsd.c: Sigh. :)
249 * ircd/m_mode.c: fix for modeless channels by poptix.
251 2000-04-29 Kevin L. Mitchell <klmitch@mit.edu>
253 * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
255 * ircd/channel.c (clean_channelname): make clean_channelname also
256 truncate long channel names
258 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
260 * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
262 * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
265 * include/channel.h: definitions and declarations for the struct
268 2000-04-29 Perry Lorier <isomer@coders.net>
269 * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
271 2000-04-29 Perry Lorier <isomer@coders.net>
272 * ircd/s_bsd.c: Add debugging code to IPcheck
274 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu>
276 * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
278 * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
281 * ircd/m_userhost.c (m_userhost): add a dead code comment
283 * ircd/m_desynch.c: forgot one...
285 * ircd/m_rehash.c (mo_rehash): er, duplicates :)
287 * ircd/m_proto.c (proto_send_supported): just change a comment so
288 it doesn't show up in my scans
290 * ircd/ircd_reply.c (send_reply): fix a slight bug...
292 * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
295 * ircd/parse.c (parse_server): argument wrangling to make
296 processing in do_numeric a little easier to deal with
298 * ircd/s_serv.c (server_estab): SERVER should come from
299 acptr->serv->up, not &me
301 * ircd/m_lusers.c: accidentally left out sptr for a %C
303 * ircd/send.c: hack to support doing wallchops...
305 * ircd/m_whowas.c: convert to new send functions
307 * ircd/m_whois.c: convert to new send functions
309 * ircd/m_who.c: convert to new send functions
311 * ircd/m_wallops.c: convert to new send functions
313 * ircd/m_wallchops.c: convert to new send functions
315 * ircd/m_version.c: convert to new send functions
317 * ircd/m_userip.c: convert to new send functions
319 * ircd/m_userhost.c: convert to new send functions
321 * ircd/m_uping.c: convert to new send functions
323 * ircd/m_trace.c: convert to new send functions
325 * ircd/m_topic.c: convert to new send functions
327 * ircd/m_time.c: convert to new send functions
329 * ircd/m_squit.c: convert to new send functions
331 * ircd/m_silence.c: convert to new send functions
333 * ircd/m_settime.c: convert to new send functions
335 * ircd/m_restart.c: convert to new send functions
337 * ircd/m_rehash.c: convert to new send functions
339 * ircd/m_privmsg.c: convert to new send functions
341 * ircd/m_pong.c: convert to new send functions
343 * ircd/m_ping.c: convert to new send functions
345 * ircd/m_pass.c: convert to new send functions
347 * ircd/m_opmode.c: convert to new send functions
349 * ircd/m_oper.c: convert to new send functions
351 * ircd/m_notice.c: convert to new send functions
353 * ircd/m_nick.c: convert to new send functions
355 * ircd/m_names.c: convert to new send functions
357 * ircd/m_motd.c: convert to new send functions
359 * ircd/m_mode.c: convert to new send functions
361 * ircd/m_map.c: convert to new send functions
363 * ircd/m_lusers.c: convert to new send functions
365 * ircd/m_list.c: convert to new send functions
367 * ircd/m_links.c: convert to new send functions
369 * ircd/m_kill.c: convert to new send functions
371 * ircd/m_jupe.c: convert to new send functions
373 * ircd/m_invite.c: convert to new send functions
375 * ircd/m_info.c: convert to new send functions
377 * ircd/m_help.c: convert to new send functions
379 * ircd/m_gline.c: convert to new send functions
381 * ircd/m_error.c: convert to new send functions
383 * ircd/m_endburst.c: convert to new send functions
385 * ircd/m_die.c: convert to new send functions
387 * ircd/m_destruct.c: convert to new send functions
389 * ircd/m_defaults.c: convert to new send functions
391 * ircd/m_connect.c: convert to new send functions
393 2000-04-28 Perry Lorier <isomer@coders.net>
394 * RELEASE.NOTES: Describe a few more undocumented features.
395 * config/config-sh.in: change the default paths for logging
396 and the recommended number of channels.
397 * include/supported.h: Rearrange slightly, added CHANTYPE's
399 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu>
401 * ircd/m_close.c: convert to send_reply
403 * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
405 * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
407 * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
409 * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
410 that takes cmd and tok arguments, etc. NOTE: THIS IMPLEMENTATION
411 HAS A MAJOR HACK!!! The whole hunt_server architecture should be
412 carefully rethought...
414 * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
416 * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
418 * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
419 numeric nick; therefore, we have to use the server name
421 * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
423 * ircd/send.c: fix minor bugs
425 * ircd/s_user.c (check_target_limit): mark dead code so I filter
428 * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
431 * ircd/parse.c: mark dead code so I filter it when I grep
433 * ircd/map.c: mark dead code so I filter it when I grep
435 * ircd/ircd.c: mark dead code so I filter it when I grep
437 * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
440 * ircd/channel.c: mark dead code so I filter it when I grep
442 * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
443 hope I'm not stepping on toes...
445 * ircd/s_conf.c: more sendto_opmask_butone / send_reply
446 conversions; use ircd_snprintf in a couple of cases to negate the
447 possibility of buffer overflow
449 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu>
451 * ircd/channel.c: convert as much as possible to new send
454 * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
455 test member->user->from->fd, not from->fd
457 * ircd/gline.c (gline_add): go ahead and add badchans; we just
458 won't look for them in m_gline; this way, they always work...
460 * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
462 * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
463 ircd_vsnprintf conversion specifiers
465 * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
466 I have my conversion specifiers
468 * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
470 * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
473 * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
474 little less brain-dead
476 * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
478 * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
481 * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
484 * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
487 * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
489 * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
491 * ircd/s_user.c (register_user): use RPL_EXPLICIT for
494 * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
496 * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
497 a numeric as needing to use an explicit pattern, which will be the
498 first argument in the variable argument list
500 * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
501 non-prefixed nospoof PING
503 * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
504 non-prefixed SERVER login
506 * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
507 a numeric usage further up)
509 * include/send.h: declare sendrawto_one
511 * ircd/send.c (sendrawto_one): new function to use ONLY for
512 non-prefixed commands, like PING to client, or PASS/SERVER on
515 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu>
517 * ircd/ircd_snprintf.c (doprintf): implement %H for possible
518 future expansion (channel numerics?)
520 * include/ircd_snprintf.h: added documentation to # to explain use
521 with %C; added documentation for : to explain use with %C; added
522 documentation for %H for channels
524 * ircd/whocmds.c: use send_reply
526 * ircd/userload.c: use sendcmdto_one
528 * ircd/uping.c: use sendcmdto_one
530 * ircd/send.c: use new flags to %C format string; ':' prefixes
531 client name with a colon for local connects, '#' uses
532 nick!user@host form for local connects
534 * ircd/s_user.c: use send_reply, sendto_opmask_butone,
535 sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
537 * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
539 * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
542 * ircd/s_auth.c: use sendto_opmask_butone
544 * ircd/res.c: use sendcmdto_one
546 * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
549 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu>
551 * ircd/support.c: dumpcore is no longer used, so get rid of it
553 * ircd/parse.c: use send_reply, sendcmdto_one
555 * ircd/map.c: use send_reply
557 * ircd/listener.c: use send_reply
559 * ircd/jupe.c: use sendto_opmask_butone, send_reply
561 * ircd/ircd_reply.c: use send_reply
563 * ircd/ircd.c: use sendto_opmask_butone
565 * ircd/gline.c: use sendto_opmask_butone, send_reply
567 * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
568 registered clients; make FLAG_ALT print nick!user@host; make
569 FLAG_COLON print :blah
571 * ircd/class.c (report_classes): use send_reply instead of
574 * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
576 * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
577 sendto_one with sendcmdto_one
579 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu>
581 * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
582 MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
583 sendcmdto_match_butone
585 * include/send.h: declare sendcmdto_match_butone
587 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu>
589 * ircd/jupe.c: update to use send_reply()
591 * ircd/gline.c: update to use send_reply()
593 * include/ircd_reply.h: declare send_reply
595 * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
596 replies; uses ircd_snprintf
598 * ircd/send.c: added comments to redirect searchers to appropriate
599 sendcmdto_* function; moved new functions to end of file; added
600 explanatory comments; reordered arguments; defined new functions
603 * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
605 * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
607 * ircd/jupe.c: reorder arguments to sendcmdto_* functions
609 * ircd/gline.c: reorder arguments to sendcmdto_* functions
611 * include/send.h: reorder arguments, add explanatory comments,
612 declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
613 and vsendto_opmask_butone
615 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu>
617 * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
618 vsendto_op_mask that uses '*' instead of the receiving client
621 * include/send.h: declare sendcmdto_channel_butone; takes a skip
622 argument that allows you to skip (or not to skip) deaf users,
623 users behind bursting servers, and non channel operators
625 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu>
627 * ircd/send.c: new sendcmdto_channel_butserv -- note that old
628 sendto_channel_butserv has a subtle bug; also wrote
629 sendcmdto_common_channels.
631 * include/send.h: declare new sendcmdto_* functions
633 * ircd/jupe.c: support local deactivations of jupes
635 * ircd/gline.c: support local deactivations of glines
637 * include/jupe.h: JUPE_LDEACT allows jupes to be locally
638 deactivated; if they aren't locally deactivated, then it slaves to
639 the net-wide activation status; JupeIsRemActive() tests only
640 whether the jupe is active everywhere else
642 * include/gline.h: GLINE_LDEACT allows glines to be locally
643 deactivated; if they aren't locally deactivated, then it slaves to
644 the net-wide activation status; GlineIsRemActive() tests only
645 whether the gline is active everywhere else
647 * ircd/gline.c: detect overlapping G-lines; if an existing, wider
648 gline expires after the new one will, we drop the new one,
649 otherwise we add the G-line after that one (so the wide one will
650 apply first); if the new one contains an existing G-line and if it
651 will expire after the existing one, we drop the existing one to
654 * ircd/m_gline.c (mo_gline): opers could issue remote local
655 glines when CONFIG_OPERCMDS was off; fixed
657 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu>
659 * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
662 * ircd/gline.c: add flags argument to gline_activate and
663 gline_deactivate for future expansion
665 * ircd/m_gline.c: pass flags to gline_activate and
668 * include/gline.h: add flags argument to gline_activate and
671 * ircd/jupe.c: add flags argument to jupe_activate and
672 jupe_deactivate for future expansion
674 * include/jupe.h: add flags argument to jupe_activate and
677 * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
678 local, active; pass flags to jupe_activate and jupe_deactivate
680 * include/gline.h: remove dead code
682 * ircd/gline.c: make gline expire times relative to CurrentTime,
683 since that should be monotonically increasing, instead of
684 TStime(), which can be set backwards, and which can therefore
685 cause an expire time to increase; make local glines be removed
686 instead of just deactivated; don't let gline_find() look for
687 user@host glines if the mask being looked up is a channel mask
689 * ircd/send.c (vsendcmdto_one): forgot to account for the case
690 where origin is a server and destination is a user
692 * ircd/jupe.c: make jupe expire times relative to CurrentTime,
693 since that should be monotonically increasing, instead of
694 TStime(), which can be set backwards, and which can therefore
695 cause an expire time to increase; make local jupes be removed
696 instead of just deactivated
698 * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
699 limit is fine. any other warnings I should know about?
701 2000-04-15 Thomas Helvey <tomh@inxpress.net>
703 * ircd/*.c: const correctness and type safety cleanups to
704 get code to compile with C++ compiler. Still has
705 signed/unsigned comparison warnings.
707 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk>
709 * ircd/userload.c: change <sys/time.h> include to <time.h> for
712 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu>
714 * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
717 * ircd/s_user.c: move gline_lookup function call into
718 register_user, where it'll have a username to lookup!
720 * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
721 functions; also stuff send_error_to_client into return clauses
723 * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
724 functions; also use send_error_to_client where that makes sense
726 * ircd/jupe.c: modify to utilize new sendcmdto_* series of
727 functions; also use send_error_to_client where that makes sense
729 * ircd/gline.c: modify to utilize new sendcmdto_* series of
730 functions; also fix gline_lookup() to deal properly with remote
731 clients--boy, do struct Client and struct User need to be cleaned
734 * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
737 * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
738 sendcmdto_serv_butone(), all utilizing the %v conversion of
741 * include/send.h: define IRC_BUFSIZE, max size of a message;
742 declare sendcmdto_one(), vsendcmdto_one(), and
743 sendcmdto_serv_butone()
745 * include/msg.h: define all the CMD_* constants needed to utilize
746 the new sendcmdto_* series of functions
748 * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
750 * ircd/gline.c: remove old, dead code.
752 * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
753 unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
754 (don't advertise proxies); remove dead code
756 * ircd/parse.c: oper handler for JUPE only lists jupes unless
757 CONFIG_OPERCMDS is enabled
759 * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
760 CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
762 * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
763 always return ERR_DISABLED
765 * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
766 enabled, always return ERR_DISABLED
768 * ircd/s_err.c: add error message to indicate disabled commands
770 * include/numeric.h (ERR_DISABLED): to indicate disabled commands
772 * doc/Configure.help: add documentation for CONFIG_OPERCMDS
774 * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
775 CONFIG_NEW_MODE to 'y' for now
777 * ircd/gline.c (gline_list): fix a minor formatting bogon
779 * BUGS: since I fixed that bug, might as well mark it fixed.
781 * ircd/m_join.c: look up badchans with GLINE_EXACT
783 * ircd/m_gline.c: fix parc count problems; look up existing
784 G-lines with GLINE_EXACT; only set new lastmod when
785 activating/deactivating existing glines if old lastmod was not 0
787 * ircd/gline.c: forgot to copy the gline reason over; don't
788 propagate a gline with 0 lastmod if origin is user; add
789 GLINE_EXACT to force exact matching of gline mask
791 * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
794 * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
795 but gline_lookup() actually takes a client--d'oh.
797 2000-04-13 Thomas Helvey <tomh@inxpress.net>
798 * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
800 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
802 * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
804 "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
807 * ircd/whocmds.c: Change idle time calc from socket idle to user
810 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu>
812 * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
813 too, for ircd_snprintf.c
815 * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
816 comments; mostly descended from the Linux manpage for printf, but
817 also documenting the extensions.
819 * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
820 client; make 'q' be the same as 'L'; remove __inline__; only
821 define EXTENSION if HAVE_LONG_LONG is defined
823 * include/handlers.h: declare m_gline()
825 * ircd/parse.c: gline can be called by users, but it only lists
828 * ircd/s_user.c (set_nick_name): resend gline if a remote server
829 introduces a glined client
831 * ircd/s_serv.c (server_estab): burst glines, too
833 * ircd/gline.c: fix up all the expire times to be offsets;
834 simplify gline_resend()
836 * ircd/m_gline.c: begin coding replacements for ms_gline(),
837 mo_gline(), and m_gline()
839 * ircd/gline.c (gline_add): allow *@#channel to work correctly;
840 also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
842 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk>
844 * tools/Bouncer/*: Add comments/documentation/tags.
845 * tools/Bouncer/*: Add debug defines, make task fork().
847 2000-04-12 Thomas Helvey <tomh@inxpress.net>
848 * ircd/s_err.c: Cleanup s_err.c make one table so we
849 don't have to do anything tricky to get an error string.
851 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk>
852 * Add port bouncer for http (x/w)
854 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu>
856 * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
857 call to gline_find(); also used GlineReason() instead of direct
858 reference to structure member
860 * ircd/m_join.c (m_join): replace bad_channel() calls with calls
861 to gline_find(name, GLINE_BADCHAN), and also check to see if gline
864 * ircd/channel.c: nothing seems to be called anywhere...
866 * ircd/s_err.c: update a couple of replies to dovetail with new
869 * ircd/gline.c: begin complete re-implementation of gline.c along
870 the lines of the final design of jupe.c
872 * include/gline.h: begin complete re-implementation of gline.c
873 along the lines of the final design of jupe.c
875 * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
878 * ircd/ircd_snprintf.c: my new snprintf()-like functions
880 * include/ircd_snprintf.h: my new snprintf()-like functions
882 2000-04-11 Thomas Helvey <tomh@inxpress.net>
883 * ircd/IPcheck.c: removed old dead code
884 * ircd/s_user.c (send_user_info): removed non-standard
885 user not found message for userhost/userip
887 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk>
889 * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
890 * doc/p10.html: Work on chapter 4.
892 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu>
894 * ircd/channel.c (mode_parse_client): fix coredump on /mode
895 #foobar +o nosuchnick
897 2000-04-10 Perry Lorier <Isomer@coders.net>
900 2000-04-09 Thomas Helvey <tomh@inxpress.net>
901 * include/IPcheck.h: fix prototype
902 * ircd/s_user.c: fix usage of IPcheck_remote_connect
903 * ircd/IPcheck.c: removed unused args
905 2000-04-09 Thomas Helvey <tomh@inxpress.net>
906 * include/IPcheck.h: add proto for IPcheck_expire
908 * ircd/IPcheck.c: Rewrote
910 * ircd/ircd.c: Add IPcheck_expire to main message loop
912 * ircd/s_user.c: Redo target hashing, refactor target code
914 * include/numeric.h: Cleaned up numerics, added which ones are
915 in use by other networks and what they are in use for.
917 * ircd/channel.c: cleaned can_join(), allow anyone through anything
918 if /invited, simplified the function. Opers overusing OPEROVERRIDE
919 will get a message explaining to them not to cheat.
921 * ircd/m_join.c: cleaned up the various join functions, should be
922 a lot more efficient. Still needs work. Now assumes that s<->s
923 won't send it a JOIN 0. Service coders - note this and tread with
926 * ircd/m_stats.c: added Gte-'s stats doc patch.
928 * ircd/m_version.c: /version now returns the 005 numeric as well.
929 as requested by Liandrin.
932 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu>
934 * ircd/m_clearmode.c: add include for support.h for write_log()
936 * configure: move ircd/crypt/* to tools/*
938 2000-04-06 Thomas Helvey <tomh@inxpress.net>
939 * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
940 set client host to server alias if connection from localhost
942 2000-04-06 Perry Lorier <isomer@coders.net>
943 * ircd/ircd.c: Fix core during pinging (oops)
945 2000-04-06 Perry Lorier <isomer@coders.net>
946 * ircd/send.c: fixed wrong ident being sent to channels bug.
947 * include/numerics.h: Updated some of the numerics from other
948 networks. Flagged some as 'unused' by undernet.
950 2000-03-30 Perry Lorier <isomer@coders.net>
951 * ircd/ircd.c: Lets see if this helps the ping problem at all.
952 * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
953 time for local clients. (as requested), extended who now returns all
954 the flags (@+!) so you can tell the complete state of a client.
956 2000-03-30 Thomas Helvey <tomh@inxpress.net>
957 * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
959 2000-03-30 Perry Lorier <isomer@coders.net>
960 * ircd/parse.c: oops, missed opers.
962 2000-03-30 Perry Lorier <isomer@coders.net>
963 * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
964 for so long. Remember: m_ping MUST be in the parse array. :)
966 2000-03-30 Perry Lorier <isomer@coders.net>
967 * ircd/ircd.c: test in check_pings was wrong. I move that we
968 disallow cvs commit after 10pm localtime....
970 2000-03-30 Perry Lorier <isomer@coders.net>
971 * ircd/m_pong.c: Fix it for servers too.
973 2000-03-30 Perry Lorier <isomer@coders.net>
974 * ircd/m_pong.c: Fix ping timeout bugs
976 2000-03-30 Perry Lorier <isomer@coders.net>
977 * ircd/channel.c: Bans had CurrentTime in their when field instead
980 2000-03-31 Thomas Helvey <tomh@ixpress.net>
981 * ircd/numnicks.c (SetXYYCapacity): fix for extended
984 2000-03-30 Perry Lorier <isomer@coders.net>
985 * ircd/m_nick.c: send kills both ways so when we add nick change
986 on collision we don't desync the network.
988 * ircd/map.c: Fixup the map a bit more.
990 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu>
992 * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
994 * ircd/m_opmode.c: Log the mode changes to OPATH
996 * ircd/channel.c (modebuf_flush_int): Log the mode changes to
999 * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
1002 * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
1004 * config/config-sh.in: added OPATH for opmode log file
1006 * ircd/m_clearmode.c (do_clearmode): updated uses of
1007 modebuf_mode_string() for the new usage
1009 * ircd/channel.c: added flag MODE_FREE and an int argument to
1010 modebuf_mode_string() to indicate that the string must be free'd;
1011 updated calls to modebuf_mode_string() for the new usage; called
1012 collapse(pretty_mask()) on the ban string and use allocated memory
1013 for it; added ban list length accounting; fixed a number of small
1014 bugs in ban processing
1016 * include/channel.h: added flag MODE_FREE and an int argument to
1017 modebuf_mode_string() to indicate that the string must be free'd
1019 * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
1020 keys and limits that are set
1022 2000-03-30 Perry Lorier <isomer@coders.net>
1023 * ircd/ircd.c: rewrote check_pings() for maintainability
1024 and speed. Also changed quit msg's so they don't have
1025 redundant nick[host] info in them.
1027 * ircd/send.c: Changed write errors to report what error
1028 occured (if possible).
1030 * ircd/gline.c: added gline comment to the quit.
1032 * ircd/m_server.c: Added suggestions to server quits mentioning
1033 what went wrong so the admin can fix it earlier instead of asking
1036 * ircd/map.c: Changed m_map() to hide numerics, show a * beside
1037 servers that aren't fully burst yet. And show '(--s)' for servers
1040 * doc/example.conf: Fixed wrapped U:
1042 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu>
1044 * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
1045 mode_parse() (version selectable at compile time)
1047 * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
1049 * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
1051 * config/config-sh.in: add new config option to enable new m_mode
1054 * doc/Configure.help: add documentation for new config option
1057 * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
1058 MODE -v : Not enough parameters
1060 * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
1061 +k and +l even if they weren't set...
1063 * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
1065 * ircd/channel.c: make mode_process_clients() clear the DEOPPED
1066 flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
1067 for; test the 0-th member, not the i-th member, of the client
1070 * ircd/m_clearmode.c (do_clearmode): use the new
1071 mode_invite_clear() function
1073 * ircd/channel.c: cleared up all the compile-time warnings and
1076 * include/channel.h: added declarations for mode_ban_invalidate()
1077 and mode_invite_clear()
1079 * ircd/channel.c: finished mode_parse(), then broke it up into a
1080 dozen or so helper functions to make the code easier to read
1082 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1083 * ircd/ircd.c: refactor server initialization a bit, use
1084 getopt for parsing command line, refactor init_sys, main,
1087 * ircd/s_bsd.c: add functions for initialization to clean
1088 up logic a bit and remove duplicated code.
1090 * include/ircd.h: add struct for server process related
1093 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu>
1095 * ircd/channel.c: initial definition of mode_parse(); flags to
1096 prevent doing the same thing multiple times; helper method
1097 send_notoper() to send a "Not oper"/"Not on channel" notice
1099 * include/channel.h: declare mode_parse() and helper flags
1101 * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
1102 sending to match the current action of set_mode() closely enough
1103 that hopefully there won't be major conflicts
1105 * ircd/channel.c (modebuf_flush_int): consolidated the mode string
1106 building logic, reversed the order of the arguments to mode
1107 commands to have '-' preceed '+'
1109 2000-03-29 Thomas Helvey <tomh@inxpress.net>
1110 * ircd/s_bsd.c (add_connection): don't disable socket options
1111 let OS tune itself and allow important performance tweaks to
1114 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu>
1116 * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
1117 confused by set_mode, which is doing some really weird logic;
1118 guess what I'm going to rewrite next? ;)
1120 2000-03-28 Kevin L. Mitchell <klmitch@emc.com>
1122 * include/channel.h: added MODE_SAVE for the bounds checking stuff
1125 * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
1126 make it do bounds checking on the buffer; all modes are sent only
1127 if the all parameter is 1; modebuf_flush is the exported wrapper
1129 * include/channel.h: add BOUNCE, renumber flags to get a little
1132 * ircd/channel.c (modebuf_flush): don't overload HACK2, add
1133 BOUNCE; send DESYNCH message
1135 2000-03-27 Kevin L. Mitchell <klmitch@emc.com>
1137 * ircd/m_clearmode.c (do_clearmode): only mark the modes the
1138 channel actually has in effect for deletion
1140 * ircd/channel.c: added explanatory comments to all added
1141 functions; made flushing take place at the correct place even if
1142 the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
1143 to bash some stupid bugs; made modebuf_flush() return if ModeBuf
1144 is empty, fixed the apparent source, removed some bogus string
1145 termination code, properly terminate the mode strings, add support
1146 for HACK2 and HACK3, made limit strings not be sent if the limit
1147 is being removed, changed where '+' and '-' come from in sent
1148 strings, added support for DEOP flag, set up bouncing code for
1151 * ircd/Makefile.in: ran make depend
1153 * include/channel.h: added new defines for future functionality,
1154 made modebuf_flush() return int so I can use tail recursion
1156 * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
1157 to make it all compile
1159 * ircd/m_opmode.c: add msg.h to includes...
1161 * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
1163 * ircd/channel.c (modebuf_flush): realized I forgot to
1164 nul-terminate addbuf/rembuf properly...
1166 * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
1168 * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
1169 sendto_serv_butone--blah^2
1171 * ircd/send.c (sendto_serv_butone): stupid comments confused me
1173 * ircd/channel.c (modebuf_flush): if there are no mode changes to
1174 propagate, we're done...
1176 * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
1177 not sendto_all_butone
1179 * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
1181 * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
1183 * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
1186 * ircd/parse.c: added messages for opmode and clearmode
1188 * include/handlers.h: added declarations for mo_opmode(),
1189 ms_opmode(), mo_clearmode(), and ms_clearmode()
1191 * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
1194 * include/channel.h (MODEBUF_DEST_OPMODE): Define the
1195 MODEBUF_DEST_OPMODE flag
1197 * ircd/channel.c (modebuf_flush): added new flag,
1198 MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
1199 to originate from source's server (or source itself, if
1200 IsServer(source)); also causes a server-level MODE to be sent as
1203 * include/channel.h: defined MODEBUF_DEST_SERVER,
1206 * ircd/channel.c: Add another argument to build_string() to handle
1207 numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
1208 servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
1211 2000-03-27 Perry Lorier <isomer@coders.net>
1213 * ircd/s_bsd.c: fixed missing 'u' typo.
1215 2000-03-26 Kevin L. Mitchell <klmitch@emc.com>
1217 * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
1218 _mode_string(), _mode_client(), _flush(); also implemented a
1219 simple build_string()
1221 * include/channel.h: added definition of ModeBuf, modebuf_*
1222 manipulation functions, and a couple of helper macros
1224 2000-03-24 Thomas Helvey <tomh@inxpress.net>
1225 * numicks.c: convert extended numerics to use original mask version
1228 2000-03-23 Thomas Helvey <tomh@inxpress.net>
1229 * Merge in changes from production
1230 2000-03-22 Thomas Helvey <tomh@inxpress.net>
1231 * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
1232 * rfc1459.unet: Add Maniac's documentation for /names 0
1233 * Fix misc. jupe bugs that somehow made it into the tree
1234 * Escape /names 0 to mean /names --Maniac
1235 * Don't core when server asks for info --Maniac
1236 * Add Kev's jupe patch --Bleep
1237 * Add Maniacs squit patch --Bleep
1238 * Merge in u2_10_10_beta07 changes --Bleep
1239 * Merge in u2_10_10_beta06 changes --Bleep
1240 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
1241 #-----------------------------------------------------------------------------
1243 # ChangeLog for ircu2.10.11
1245 # $Id: ChangeLog,v 1.149 2000-06-29 23:21:15 isomer Exp $
1247 # Insert new changes at beginning of the change list.