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