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