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