2c9e0132af24d32e1f47a2fa2c8860c453a6f467
[ircu2.10.12-pk.git] / ChangeLog
1 2000-04-28  Kevin L. Mitchell  <klmitch@mit.edu>
2
3         * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
4
5         * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
6         RPL_EXPLICIT
7
8         * ircd/m_userhost.c (m_userhost): add a dead code comment
9
10         * ircd/m_desynch.c: forgot one...
11
12         * ircd/m_rehash.c (mo_rehash): er, duplicates :)
13
14         * ircd/m_proto.c (proto_send_supported): just change a comment so
15         it doesn't show up in my scans
16
17         * ircd/ircd_reply.c (send_reply): fix a slight bug...
18
19         * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
20         kinda hackish...
21
22         * ircd/parse.c (parse_server): argument wrangling to make
23         processing in do_numeric a little easier to deal with
24
25         * ircd/s_serv.c (server_estab): SERVER should come from
26         acptr->serv->up, not &me
27
28         * ircd/m_lusers.c: accidentally left out sptr for a %C
29
30         * ircd/send.c: hack to support doing wallchops...
31
32         * ircd/m_whowas.c: convert to new send functions
33
34         * ircd/m_whois.c: convert to new send functions
35
36         * ircd/m_who.c: convert to new send functions
37
38         * ircd/m_wallops.c: convert to new send functions
39
40         * ircd/m_wallchops.c: convert to new send functions
41
42         * ircd/m_version.c: convert to new send functions
43
44         * ircd/m_userip.c: convert to new send functions
45
46         * ircd/m_userhost.c: convert to new send functions
47
48         * ircd/m_uping.c: convert to new send functions
49
50         * ircd/m_trace.c: convert to new send functions
51
52         * ircd/m_topic.c: convert to new send functions
53
54         * ircd/m_time.c: convert to new send functions
55
56         * ircd/m_squit.c: convert to new send functions
57
58         * ircd/m_silence.c: convert to new send functions
59
60         * ircd/m_settime.c: convert to new send functions
61
62         * ircd/m_restart.c: convert to new send functions
63
64         * ircd/m_rehash.c: convert to new send functions
65
66         * ircd/m_privmsg.c: convert to new send functions
67
68         * ircd/m_pong.c: convert to new send functions
69
70         * ircd/m_ping.c: convert to new send functions
71
72         * ircd/m_pass.c: convert to new send functions
73
74         * ircd/m_opmode.c: convert to new send functions
75
76         * ircd/m_oper.c: convert to new send functions
77
78         * ircd/m_notice.c: convert to new send functions
79
80         * ircd/m_nick.c: convert to new send functions
81
82         * ircd/m_names.c: convert to new send functions
83
84         * ircd/m_motd.c: convert to new send functions
85
86         * ircd/m_mode.c: convert to new send functions
87
88         * ircd/m_map.c: convert to new send functions
89
90         * ircd/m_lusers.c: convert to new send functions
91
92         * ircd/m_list.c: convert to new send functions
93
94         * ircd/m_links.c: convert to new send functions
95
96         * ircd/m_kill.c: convert to new send functions
97
98         * ircd/m_jupe.c: convert to new send functions
99
100         * ircd/m_invite.c: convert to new send functions
101
102         * ircd/m_info.c: convert to new send functions
103
104         * ircd/m_help.c: convert to new send functions
105
106         * ircd/m_gline.c: convert to new send functions
107
108         * ircd/m_error.c: convert to new send functions
109
110         * ircd/m_endburst.c: convert to new send functions
111
112         * ircd/m_die.c: convert to new send functions
113
114         * ircd/m_destruct.c: convert to new send functions
115
116         * ircd/m_defaults.c: convert to new send functions
117
118         * ircd/m_connect.c: convert to new send functions
119
120 2000-04-28  Perry Lorier <isomer@coders.net>
121         * RELEASE.NOTES: Describe a few more undocumented features.
122         * config/config-sh.in: change the default paths for logging
123         and the recommended number of channels.
124         * include/supported.h: Rearrange slightly, added CHANTYPE's
125
126 2000-04-27  Kevin L. Mitchell  <klmitch@mit.edu>
127
128         * ircd/m_close.c: convert to send_reply
129
130         * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
131
132         * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
133
134         * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
135
136         * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
137         that takes cmd and tok arguments, etc.  NOTE: THIS IMPLEMENTATION
138         HAS A MAJOR HACK!!!  The whole hunt_server architecture should be
139         carefully rethought...
140
141         * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
142
143         * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
144
145         * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
146         numeric nick; therefore, we have to use the server name
147
148         * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
149
150         * ircd/send.c: fix minor bugs
151
152         * ircd/s_user.c (check_target_limit): mark dead code so I filter
153         it when I grep
154
155         * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
156         when I grep
157
158         * ircd/parse.c: mark dead code so I filter it when I grep
159
160         * ircd/map.c: mark dead code so I filter it when I grep
161
162         * ircd/ircd.c: mark dead code so I filter it when I grep
163
164         * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
165         functions
166
167         * ircd/channel.c: mark dead code so I filter it when I grep
168
169         * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
170         hope I'm not stepping on toes...
171
172         * ircd/s_conf.c: more sendto_opmask_butone / send_reply
173         conversions; use ircd_snprintf in a couple of cases to negate the
174         possibility of buffer overflow
175
176 2000-04-26  Kevin L. Mitchell  <klmitch@mit.edu>
177
178         * ircd/channel.c: convert as much as possible to new send
179         semantics
180
181         * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
182         test member->user->from->fd, not from->fd
183
184         * ircd/gline.c (gline_add): go ahead and add badchans; we just
185         won't look for them in m_gline; this way, they always work...
186
187         * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
188
189         * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
190         ircd_vsnprintf conversion specifiers
191
192         * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
193         I have my conversion specifiers
194
195         * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
196
197         * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
198         local users
199
200         * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
201         little less brain-dead
202
203         * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
204
205         * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
206         RPL_STATSDEBUG
207
208         * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
209         RPL_STATSDEBUG
210
211         * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
212         for RPL_STATSDEBUG
213
214         * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
215
216         * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
217
218         * ircd/s_user.c (register_user): use RPL_EXPLICIT for
219         ERR_INVALIDUSERNAME
220
221         * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
222
223         * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
224         a numeric as needing to use an explicit pattern, which will be the
225         first argument in the variable argument list
226
227         * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
228         non-prefixed nospoof PING
229
230         * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
231         non-prefixed SERVER login
232
233         * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
234         a numeric usage further up)
235
236         * include/send.h: declare sendrawto_one
237
238         * ircd/send.c (sendrawto_one): new function to use ONLY for
239         non-prefixed commands, like PING to client, or PASS/SERVER on
240         server registration
241
242 2000-04-25  Kevin L. Mitchell  <klmitch@mit.edu>
243
244         * ircd/ircd_snprintf.c (doprintf): implement %H for possible
245         future expansion (channel numerics?)
246
247         * include/ircd_snprintf.h: added documentation to # to explain use
248         with %C; added documentation for : to explain use with %C; added
249         documentation for %H for channels
250
251         * ircd/whocmds.c: use send_reply
252
253         * ircd/userload.c: use sendcmdto_one
254
255         * ircd/uping.c: use sendcmdto_one
256
257         * ircd/send.c: use new flags to %C format string; ':' prefixes
258         client name with a colon for local connects, '#' uses
259         nick!user@host form for local connects
260
261         * ircd/s_user.c: use send_reply, sendto_opmask_butone,
262         sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
263
264         * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
265
266         * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
267         sendcmdto_one
268
269         * ircd/s_auth.c: use sendto_opmask_butone
270
271         * ircd/res.c: use sendcmdto_one
272
273         * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
274         debugging assertions
275
276 2000-04-24  Kevin L. Mitchell  <klmitch@mit.edu>
277
278         * ircd/support.c: dumpcore is no longer used, so get rid of it
279
280         * ircd/parse.c: use send_reply, sendcmdto_one
281
282         * ircd/map.c: use send_reply
283
284         * ircd/listener.c: use send_reply
285
286         * ircd/jupe.c: use sendto_opmask_butone, send_reply
287
288         * ircd/ircd_reply.c: use send_reply
289
290         * ircd/ircd.c: use sendto_opmask_butone
291
292         * ircd/gline.c: use sendto_opmask_butone, send_reply
293
294         * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
295         registered clients; make FLAG_ALT print nick!user@host; make
296         FLAG_COLON print :blah
297
298         * ircd/class.c (report_classes): use send_reply instead of
299         sendto_one
300
301         * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
302
303         * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
304         sendto_one with sendcmdto_one
305
306 2000-04-21  Kevin L. Mitchell  <klmitch@mit.edu>
307
308         * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
309         MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
310         sendcmdto_match_butone
311
312         * include/send.h: declare sendcmdto_match_butone
313
314 2000-04-20  Kevin L. Mitchell  <klmitch@mit.edu>
315
316         * ircd/jupe.c: update to use send_reply()
317
318         * ircd/gline.c: update to use send_reply()
319
320         * include/ircd_reply.h: declare send_reply
321
322         * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
323         replies; uses ircd_snprintf
324
325         * ircd/send.c: added comments to redirect searchers to appropriate
326         sendcmdto_* function; moved new functions to end of file; added
327         explanatory comments; reordered arguments; defined new functions
328         mentioned below
329
330         * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
331
332         * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
333
334         * ircd/jupe.c: reorder arguments to sendcmdto_* functions
335
336         * ircd/gline.c: reorder arguments to sendcmdto_* functions
337
338         * include/send.h: reorder arguments, add explanatory comments,
339         declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
340         and vsendto_opmask_butone
341
342 2000-04-19  Kevin L. Mitchell  <klmitch@mit.edu>
343
344         * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
345         vsendto_op_mask that uses '*' instead of the receiving client
346         nickname
347
348         * include/send.h: declare sendcmdto_channel_butone; takes a skip
349         argument that allows you to skip (or not to skip) deaf users,
350         users behind bursting servers, and non channel operators
351
352 2000-04-17  Kevin L. Mitchell  <klmitch@mit.edu>
353
354         * ircd/send.c: new sendcmdto_channel_butserv -- note that old
355         sendto_channel_butserv has a subtle bug; also wrote
356         sendcmdto_common_channels.
357
358         * include/send.h: declare new sendcmdto_* functions
359
360         * ircd/jupe.c: support local deactivations of jupes
361
362         * ircd/gline.c: support local deactivations of glines
363
364         * include/jupe.h: JUPE_LDEACT allows jupes to be locally
365         deactivated; if they aren't locally deactivated, then it slaves to
366         the net-wide activation status; JupeIsRemActive() tests only
367         whether the jupe is active everywhere else
368
369         * include/gline.h: GLINE_LDEACT allows glines to be locally
370         deactivated; if they aren't locally deactivated, then it slaves to
371         the net-wide activation status; GlineIsRemActive() tests only
372         whether the gline is active everywhere else
373
374         * ircd/gline.c: detect overlapping G-lines; if an existing, wider
375         gline expires after the new one will, we drop the new one,
376         otherwise we add the G-line after that one (so the wide one will
377         apply first); if the new one contains an existing G-line and if it
378         will expire after the existing one, we drop the existing one to
379         save memory
380
381         * ircd/m_gline.c (mo_gline): opers could issue remote local
382         glines when CONFIG_OPERCMDS was off; fixed
383
384 2000-04-16  Kevin L. Mitchell  <klmitch@mit.edu>
385
386         * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
387         this is a local JUPE
388
389         * ircd/gline.c: add flags argument to gline_activate and
390         gline_deactivate for future expansion
391
392         * ircd/m_gline.c: pass flags to gline_activate and
393         gline_deactivate
394
395         * include/gline.h: add flags argument to gline_activate and
396         gline_deactivate
397
398         * ircd/jupe.c: add flags argument to jupe_activate and
399         jupe_deactivate for future expansion
400
401         * include/jupe.h: add flags argument to jupe_activate and
402         jupe_deactivate
403
404         * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
405         local, active; pass flags to jupe_activate and jupe_deactivate
406
407         * include/gline.h: remove dead code
408
409         * ircd/gline.c: make gline expire times relative to CurrentTime,
410         since that should be monotonically increasing, instead of
411         TStime(), which can be set backwards, and which can therefore
412         cause an expire time to increase; make local glines be removed
413         instead of just deactivated; don't let gline_find() look for
414         user@host glines if the mask being looked up is a channel mask
415
416         * ircd/send.c (vsendcmdto_one): forgot to account for the case
417         where origin is a server and destination is a user
418
419         * ircd/jupe.c: make jupe expire times relative to CurrentTime,
420         since that should be monotonically increasing, instead of
421         TStime(), which can be set backwards, and which can therefore
422         cause an expire time to increase; make local jupes be removed
423         instead of just deactivated
424
425         * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
426         limit is fine.  any other warnings I should know about?
427
428 2000-04-15  Thomas Helvey <tomh@inxpress.net>
429
430         * ircd/*.c: const correctness and type safety cleanups to
431         get code to compile with C++ compiler. Still has
432         signed/unsigned comparison warnings.
433
434 2000-04-15  Greg Sikorski <gte@atomicrevs.demon.co.uk>
435
436         * ircd/userload.c: change <sys/time.h> include to <time.h> for
437           portability.
438
439 2000-04-14  Kevin L. Mitchell  <klmitch@mit.edu>
440
441         * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
442         and convert acptr...
443
444         * ircd/s_user.c: move gline_lookup function call into
445         register_user, where it'll have a username to lookup!
446
447         * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
448         functions; also stuff send_error_to_client into return clauses
449
450         * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
451         functions; also use send_error_to_client where that makes sense
452
453         * ircd/jupe.c: modify to utilize new sendcmdto_* series of
454         functions; also use send_error_to_client where that makes sense
455
456         * ircd/gline.c: modify to utilize new sendcmdto_* series of
457         functions; also fix gline_lookup() to deal properly with remote
458         clients--boy, do struct Client and struct User need to be cleaned
459         up!
460
461         * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
462         too...
463
464         * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
465         sendcmdto_serv_butone(), all utilizing the %v conversion of
466         ircd_snprintf()
467
468         * include/send.h: define IRC_BUFSIZE, max size of a message;
469         declare sendcmdto_one(), vsendcmdto_one(), and
470         sendcmdto_serv_butone()
471
472         * include/msg.h: define all the CMD_* constants needed to utilize
473         the new sendcmdto_* series of functions
474
475         * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
476
477         * ircd/gline.c: remove old, dead code.
478
479         * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
480         unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
481         (don't advertise proxies); remove dead code
482
483         * ircd/parse.c: oper handler for JUPE only lists jupes unless
484         CONFIG_OPERCMDS is enabled
485
486         * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
487         CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
488
489         * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
490         always return ERR_DISABLED
491
492         * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
493         enabled, always return ERR_DISABLED
494
495         * ircd/s_err.c: add error message to indicate disabled commands
496
497         * include/numeric.h (ERR_DISABLED): to indicate disabled commands
498
499         * doc/Configure.help: add documentation for CONFIG_OPERCMDS
500
501         * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
502         CONFIG_NEW_MODE to 'y' for now
503
504         * ircd/gline.c (gline_list): fix a minor formatting bogon
505
506         * BUGS: since I fixed that bug, might as well mark it fixed.
507
508         * ircd/m_join.c: look up badchans with GLINE_EXACT
509
510         * ircd/m_gline.c: fix parc count problems; look up existing
511         G-lines with GLINE_EXACT; only set new lastmod when
512         activating/deactivating existing glines if old lastmod was not 0
513
514         * ircd/gline.c: forgot to copy the gline reason over; don't
515         propagate a gline with 0 lastmod if origin is user; add
516         GLINE_EXACT to force exact matching of gline mask
517
518         * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
519         flag properly
520
521         * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
522         but gline_lookup() actually takes a client--d'oh.
523
524 2000-04-13  Thomas Helvey <tomh@inxpress.net>
525         * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
526
527 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
528
529         * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
530           "/who * x"
531           "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
532           (Found by Plexus).
533
534         * ircd/whocmds.c: Change idle time calc from socket idle to user
535           idle.
536
537 2000-04-13  Kevin L. Mitchell  <klmitch@mit.edu>
538
539         * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
540         too, for ircd_snprintf.c
541
542         * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
543         comments; mostly descended from the Linux manpage for printf, but
544         also documenting the extensions.
545
546         * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
547         client; make 'q' be the same as 'L'; remove __inline__; only
548         define EXTENSION if HAVE_LONG_LONG is defined
549
550         * include/handlers.h: declare m_gline()
551
552         * ircd/parse.c: gline can be called by users, but it only lists
553         the glines.
554
555         * ircd/s_user.c (set_nick_name): resend gline if a remote server
556         introduces a glined client
557
558         * ircd/s_serv.c (server_estab): burst glines, too
559
560         * ircd/gline.c: fix up all the expire times to be offsets;
561         simplify gline_resend()
562
563         * ircd/m_gline.c: begin coding replacements for ms_gline(),
564         mo_gline(), and m_gline()
565
566         * ircd/gline.c (gline_add): allow *@#channel to work correctly;
567         also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
568
569 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
570
571         * tools/Bouncer/*: Add comments/documentation/tags.
572         * tools/Bouncer/*: Add debug defines, make task fork().
573
574 2000-04-12  Thomas Helvey <tomh@inxpress.net>
575         * ircd/s_err.c: Cleanup s_err.c make one table so we
576         don't have to do anything tricky to get an error string.
577
578 2000-04-12  Greg Sikorski <gte@atomicrevs.demon.co.uk>
579         * Add port bouncer for http (x/w)
580
581 2000-04-12  Kevin L. Mitchell  <klmitch@mit.edu>
582
583         * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
584         call to gline_find(); also used GlineReason() instead of direct
585         reference to structure member
586
587         * ircd/m_join.c (m_join): replace bad_channel() calls with calls
588         to gline_find(name, GLINE_BADCHAN), and also check to see if gline
589         is active
590
591         * ircd/channel.c: nothing seems to be called anywhere...
592
593         * ircd/s_err.c: update a couple of replies to dovetail with new
594         semantics
595
596         * ircd/gline.c: begin complete re-implementation of gline.c along
597         the lines of the final design of jupe.c
598
599         * include/gline.h: begin complete re-implementation of gline.c
600         along the lines of the final design of jupe.c
601
602         * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
603         %s by %s" message...
604
605         * ircd/ircd_snprintf.c: my new snprintf()-like functions
606
607         * include/ircd_snprintf.h: my new snprintf()-like functions
608
609 2000-04-11  Thomas Helvey <tomh@inxpress.net>
610         * ircd/IPcheck.c: removed old dead code
611         * ircd/s_user.c (send_user_info): removed non-standard
612           user not found message for userhost/userip
613
614 2000-04-11  Greg Sikorski <gte@atomicrevs.demon.co.uk>
615
616         * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
617         * doc/p10.html: Work on chapter 4.
618
619 2000-04-10  Kevin L. Mitchell  <klmitch@mit.edu>
620
621         * ircd/channel.c (mode_parse_client): fix coredump on /mode
622         #foobar +o nosuchnick
623
624 2000-04-10  Perry Lorier  <Isomer@coders.net>
625         * BUGS: Added bug.
626
627 2000-04-09  Thomas Helvey <tomh@inxpress.net>
628         * include/IPcheck.h: fix prototype
629         * ircd/s_user.c: fix usage of IPcheck_remote_connect
630         * ircd/IPcheck.c: removed unused args
631
632 2000-04-09  Thomas Helvey <tomh@inxpress.net>
633         * include/IPcheck.h: add proto for IPcheck_expire
634
635         * ircd/IPcheck.c: Rewrote
636
637         * ircd/ircd.c: Add IPcheck_expire to main message loop
638
639         * ircd/s_user.c: Redo target hashing, refactor target code
640
641         * include/numeric.h: Cleaned up numerics, added which ones are
642         in use by other networks and what they are in use for.
643
644         * ircd/channel.c: cleaned can_join(), allow anyone through anything
645         if /invited, simplified the function.  Opers overusing OPEROVERRIDE
646         will get a message explaining to them not to cheat.
647
648         * ircd/m_join.c: cleaned up the various join functions, should be
649         a lot more efficient.  Still needs work.  Now assumes that s<->s
650         won't send it a JOIN 0.  Service coders - note this and tread with
651         care.
652
653         * ircd/m_stats.c: added Gte-'s stats doc patch.
654
655         * ircd/m_version.c: /version now returns the 005 numeric as well.
656         as requested by Liandrin.
657
658
659 2000-04-07  Kevin L. Mitchell  <klmitch@mit.edu>
660
661         * ircd/m_clearmode.c: add include for support.h for write_log()
662
663         * configure: move ircd/crypt/* to tools/*
664
665 2000-04-06  Thomas Helvey <tomh@inxpress.net>
666         * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
667           set client host to server alias if connection from localhost
668
669 2000-04-06  Perry Lorier <isomer@coders.net>
670         * ircd/ircd.c: Fix core during pinging (oops)
671         
672 2000-04-06  Perry Lorier <isomer@coders.net>
673         * ircd/send.c: fixed wrong ident being sent to channels bug.
674         * include/numerics.h: Updated some of the numerics from other
675         networks.  Flagged some as 'unused' by undernet.
676
677 2000-03-30  Perry Lorier <isomer@coders.net>
678         * ircd/ircd.c: Lets see if this helps the ping problem at all.
679         * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
680         time for local clients. (as requested), extended who now returns all
681         the flags (@+!) so you can tell the complete state of a client.
682
683 2000-03-30  Thomas Helvey <tomh@inxpress.net>
684         * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
685
686 2000-03-30  Perry Lorier <isomer@coders.net>
687         * ircd/parse.c: oops, missed opers.
688
689 2000-03-30  Perry Lorier <isomer@coders.net>
690         * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
691         for so long.  Remember: m_ping MUST be in the parse array. :)
692
693 2000-03-30  Perry Lorier <isomer@coders.net>
694         * ircd/ircd.c: test in check_pings was wrong.  I move that we
695         disallow cvs commit after 10pm localtime....
696
697 2000-03-30  Perry Lorier <isomer@coders.net>
698         * ircd/m_pong.c: Fix it for servers too.
699
700 2000-03-30  Perry Lorier <isomer@coders.net>
701         * ircd/m_pong.c: Fix ping timeout bugs
702
703 2000-03-30  Perry Lorier <isomer@coders.net>
704         * ircd/channel.c: Bans had CurrentTime in their when field instead
705         of TStime()
706
707 2000-03-31  Thomas Helvey <tomh@ixpress.net>
708         * ircd/numnicks.c (SetXYYCapacity): fix for extended
709         numerics.
710
711 2000-03-30  Perry Lorier <isomer@coders.net>
712         * ircd/m_nick.c: send kills both ways so when we add nick change
713         on collision we don't desync the network.
714
715         * ircd/map.c: Fixup the map a bit more.
716
717 2000-03-31  Kevin L. Mitchell  <klmitch@mit.edu>
718
719         * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
720
721         * ircd/m_opmode.c: Log the mode changes to OPATH
722
723         * ircd/channel.c (modebuf_flush_int): Log the mode changes to
724         OPATH
725
726         * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
727         OPATH
728
729         * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
730
731         * config/config-sh.in: added OPATH for opmode log file
732
733         * ircd/m_clearmode.c (do_clearmode): updated uses of
734         modebuf_mode_string() for the new usage
735
736         * ircd/channel.c: added flag MODE_FREE and an int argument to
737         modebuf_mode_string() to indicate that the string must be free'd;
738         updated calls to modebuf_mode_string() for the new usage; called
739         collapse(pretty_mask()) on the ban string and use allocated memory
740         for it; added ban list length accounting; fixed a number of small
741         bugs in ban processing
742
743         * include/channel.h: added flag MODE_FREE and an int argument to
744         modebuf_mode_string() to indicate that the string must be free'd
745
746         * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
747         keys and limits that are set
748
749 2000-03-30  Perry Lorier <isomer@coders.net>
750         * ircd/ircd.c: rewrote check_pings() for maintainability
751         and speed.  Also changed quit msg's so they don't have
752         redundant nick[host] info in them.
753
754         * ircd/send.c: Changed write errors to report what error
755         occured (if possible).
756
757         * ircd/gline.c: added gline comment to the quit.
758
759         * ircd/m_server.c: Added suggestions to server quits mentioning
760         what went wrong so the admin can fix it earlier instead of asking
761         questions...
762
763         * ircd/map.c: Changed m_map() to hide numerics, show a * beside
764         servers that aren't fully burst yet.  And show '(--s)' for servers
765         where its not sure.
766
767         * doc/example.conf: Fixed wrapped U:
768
769 2000-03-30  Kevin L. Mitchell  <klmitch@mit.edu>
770
771         * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
772         mode_parse() (version selectable at compile time)
773
774         * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
775
776         * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
777
778         * config/config-sh.in: add new config option to enable new m_mode
779         implementation
780
781         * doc/Configure.help: add documentation for new config option
782         CONFIG_NEW_MODE
783
784         * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
785         MODE -v : Not enough parameters
786
787         * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
788         +k and +l even if they weren't set...
789
790         * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
791
792         * ircd/channel.c: make mode_process_clients() clear the DEOPPED
793         flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
794         for; test the 0-th member, not the i-th member, of the client
795         change state stuff
796
797         * ircd/m_clearmode.c (do_clearmode): use the new
798         mode_invite_clear() function
799
800         * ircd/channel.c: cleared up all the compile-time warnings and
801         errors
802
803         * include/channel.h: added declarations for mode_ban_invalidate()
804         and mode_invite_clear()
805
806         * ircd/channel.c: finished mode_parse(), then broke it up into a
807         dozen or so helper functions to make the code easier to read
808
809 2000-03-29  Thomas Helvey <tomh@inxpress.net>
810         * ircd/ircd.c: refactor server initialization a bit, use
811         getopt for parsing command line, refactor init_sys, main,
812         and other bits.
813
814         * ircd/s_bsd.c: add functions for initialization to clean
815         up logic a bit and remove duplicated code.
816
817         * include/ircd.h: add struct for server process related
818         variables.
819
820 2000-03-29  Kevin L. Mitchell  <klmitch@mit.edu>
821
822         * ircd/channel.c: initial definition of mode_parse(); flags to
823         prevent doing the same thing multiple times; helper method
824         send_notoper() to send a "Not oper"/"Not on channel" notice
825
826         * include/channel.h: declare mode_parse() and helper flags
827
828         * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
829         sending to match the current action of set_mode() closely enough
830         that hopefully there won't be major conflicts
831
832         * ircd/channel.c (modebuf_flush_int): consolidated the mode string
833         building logic, reversed the order of the arguments to mode
834         commands to have '-' preceed '+'
835
836 2000-03-29  Thomas Helvey <tomh@inxpress.net>
837         * ircd/s_bsd.c (add_connection): don't disable socket options
838         let OS tune itself and allow important performance tweaks to 
839         work.
840
841 2000-03-28  Kevin L. Mitchell  <klmitch@mit.edu>
842
843         * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
844         confused by set_mode, which is doing some really weird logic;
845         guess what I'm going to rewrite next?  ;)
846
847 2000-03-28  Kevin L. Mitchell  <klmitch@emc.com>
848
849         * include/channel.h: added MODE_SAVE for the bounds checking stuff
850         in modebuf_flush
851
852         * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
853         make it do bounds checking on the buffer; all modes are sent only
854         if the all parameter is 1; modebuf_flush is the exported wrapper
855
856         * include/channel.h: add BOUNCE, renumber flags to get a little
857         more space
858
859         * ircd/channel.c (modebuf_flush): don't overload HACK2, add
860         BOUNCE; send DESYNCH message
861
862 2000-03-27  Kevin L. Mitchell  <klmitch@emc.com>
863
864         * ircd/m_clearmode.c (do_clearmode): only mark the modes the
865         channel actually has in effect for deletion
866
867         * ircd/channel.c: added explanatory comments to all added
868         functions; made flushing take place at the correct place even if
869         the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
870         to bash some stupid bugs; made modebuf_flush() return if ModeBuf
871         is empty, fixed the apparent source, removed some bogus string
872         termination code, properly terminate the mode strings, add support
873         for HACK2 and HACK3, made limit strings not be sent if the limit
874         is being removed, changed where '+' and '-' come from in sent
875         strings, added support for DEOP flag, set up bouncing code for
876         HACK2
877
878         * ircd/Makefile.in: ran make depend
879
880         * include/channel.h: added new defines for future functionality,
881         made modebuf_flush() return int so I can use tail recursion
882
883         * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
884         to make it all compile
885
886         * ircd/m_opmode.c: add msg.h to includes...
887
888         * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
889
890         * ircd/channel.c (modebuf_flush): realized I forgot to
891         nul-terminate addbuf/rembuf properly...
892
893         * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
894
895         * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
896         sendto_serv_butone--blah^2
897
898         * ircd/send.c (sendto_serv_butone): stupid comments confused me
899
900         * ircd/channel.c (modebuf_flush): if there are no mode changes to
901         propagate, we're done...
902
903         * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
904         not sendto_all_butone
905
906         * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
907
908         * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
909
910         * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
911         the list
912
913         * ircd/parse.c: added messages for opmode and clearmode
914
915         * include/handlers.h: added declarations for mo_opmode(),
916         ms_opmode(), mo_clearmode(), and ms_clearmode()
917
918         * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
919         TOK_CLEARMODE
920
921         * include/channel.h (MODEBUF_DEST_OPMODE): Define the
922         MODEBUF_DEST_OPMODE flag
923
924         * ircd/channel.c (modebuf_flush): added new flag,
925         MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
926         to originate from source's server (or source itself, if
927         IsServer(source)); also causes a server-level MODE to be sent as
928         OPMODE instead
929
930         * include/channel.h: defined MODEBUF_DEST_SERVER,
931         MODEBUF_DEST_HACK4
932
933         * ircd/channel.c: Add another argument to build_string() to handle
934         numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
935         servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
936         to be sent out
937
938 2000-03-27  Perry Lorier <isomer@coders.net>
939
940         * ircd/s_bsd.c: fixed missing 'u' typo.
941
942 2000-03-26  Kevin L. Mitchell  <klmitch@emc.com>
943
944         * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
945         _mode_string(), _mode_client(), _flush(); also implemented a
946         simple build_string()
947
948         * include/channel.h: added definition of ModeBuf, modebuf_*
949         manipulation functions, and a couple of helper macros
950
951 2000-03-24 Thomas Helvey <tomh@inxpress.net>
952   * numicks.c: convert extended numerics to use original mask version
953   * numnicks.h: ""
954   * s_user.c:
955 2000-03-23 Thomas Helvey <tomh@inxpress.net>
956   * Merge in changes from production
957 2000-03-22 Thomas Helvey <tomh@inxpress.net>
958   * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
959   * rfc1459.unet: Add Maniac's documentation for /names 0
960 * Fix misc. jupe bugs that somehow made it into the tree
961 * Escape /names 0 to mean /names --Maniac
962 * Don't core when server asks for info --Maniac 
963 * Add Kev's jupe patch --Bleep
964 * Add Maniacs squit patch --Bleep
965 * Merge in u2_10_10_beta07 changes --Bleep
966 * Merge in u2_10_10_beta06 changes --Bleep
967 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
968 #-----------------------------------------------------------------------------
969 #
970 # ChangeLog for ircu2.10.11
971 #
972 # $Id: ChangeLog,v 1.112 2000-04-28 17:34:44 kev Exp $
973 #
974 # Insert new changes at beginning of the change list.
975 #