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