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