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