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