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