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