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