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