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