01ffa79cdae516e0012f0ae9622f3b1a940a91f3
[ircu2.10.12-pk.git] / ChangeLog
1 2000-07-09  Greg Sikorski <gte@atomicrevs.demon.co.uk>
2         * ircd/m_oper.c: Clean up compiler warning.
3
4 2000-07-08  Perry Lorier       <Isomer@coders.net>
5         * doc/ircd.8: Updated the documentation, it was slightly out of date
6                       being updated around the 05 March 1988.
7         * ircd/m_whois.c: Rewrote for clarity, and probably a bit more speed.
8                           fixed a few minor glitches.
9         * doc/rfc1459.unet: Updated.
10         * ircd/IPcheck.c: Fixed more bugs.
11         * ircd/s_bsd.c: We now keep track of servers we've conected.
12
13 2000-07-02  Perry Lorier       <Isomer@coders.net>
14         * ircd/s_misc.c: Fixed remote IPcheck bug.  Ok, I'm a moron, so sue
15                         me.  Thanks to Hektik, thanks thanks thanks thanks
16                         thanks thanks thanks thanks thank thanks thank thanks
17
18 2000-07-01  Perry Lorier       <Isomer@coders.net>
19         * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s.
20         * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings.
21
22 2000-06-22  Perry Lorier       <Isomer@coders.net>
23         * ircd/IPcheck.c: Large chunks redone.
24         * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported,
25                         single AND double digit limits are allowed now.
26         * misc other: Changes to IPcheck.
27
28 2000-06-30  Perry Lorier       <Isomer@coders.net>
29         * ircd/ircd.c: Fix command line parameter bugs.
30
31 2000-06-30  Perry Lorier       <Isomer@coders.net>
32         * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY
33         * ircd/m_nick.c: Tidied things up.
34
35 2000-06-12 Joseph Bongaarts <foxxe@trms.com>
36         * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v
37         
38 2000-05-29  Perry Lorier       <Isomer@coders.net>
39         * ircd/m_stats.c: add /stats v to do only the last part of the /trace
40         * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do
41                         you think it'll get bored and fix itself?
42
43 2000-06-09  Greg Sikorski <gte@atomicrevs.demon.co.uk>
44
45         * ircd/m_names.c: Clean up compiler warnings.
46
47 2000-06-09  Kevin L. Mitchell  <klmitch@mit.edu>
48
49         * ircd/channel.c (mode_parse_client): don't send warning if
50         there's not enough arguments for a +/-o/v; means the habit of
51         doing "/mode #channel +oooooo bob" doesn't result in a bunch of
52         error messages
53
54 2000-06-04  Greg Sikorski <gte@atomicrevs.demon.co.uk>
55
56         * ircd/m_names.c: Re-factor code to remove unneccessary
57         GlobalChannelList iteration every time someone joins a channel.
58
59 2000-06-02  Kevin L. Mitchell  <klmitch@mit.edu>
60
61         * ircd/s_user.c: add struct Gline * argument to register_user;
62         look up global glines and repropagate them if necessary; send
63         acknowledgement of gline to remote servers when registering users
64
65         * ircd/s_serv.c (server_estab): don't send acknowledgement of
66         local glines to remote servers; do send gline acknowledgement of
67         bursted users
68
69         * ircd/m_user.c (m_user): pass new struct Gline * argument to
70         register_user
71
72         * ircd/m_pong.c: pass new struct Gline * argument to register_user
73
74         * ircd/m_nick.c (ms_nick): document protocol change
75
76         * ircd/gline.c: support GLINE_LASTMOD
77
78         * include/s_user.h: add struct Gline * argument to register_user
79
80         * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods
81
82         * ircd/s_conf.c (find_kill): add unsigned int argument to
83         gline_lookup()
84
85         * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global
86         glines; add unsigned int argument to gline_lookup()
87
88         * include/gline.h: add GLINE_GLOBAL flag; add unsigned int
89         argument to gline_lookup()
90
91         * ircd/m_server.c: Resend jupe only when there is no %<lastmod>
92         parameter, or when it falls out of bounds: see comments prior to
93         call to jupe_resend(); call server_estab with struct Jupe
94         parameter, so that we place the appropriate %<lastmod> in the
95         appropriate place.
96
97         * ircd/s_serv.c (server_estab): send %<lastmod> for introduced
98         server, as well as for servers when we're sending the BURST
99
100         * include/s_serv.h: add a struct Jupe * to the arguments for
101         server_estab() so that we can send the appropriate lastmod
102         parameter
103
104         * ircd/m_gline.c (ms_gline): actually, this should be the
105         slightest bit more efficient...
106
107         * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest
108         bit more efficient...
109
110         * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends
111         during netburst
112
113         * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during
114         netburst
115
116         * ircd/channel.c (joinbuf_join): really remove user from local
117         channels
118
119 2000-05-29  Perry Lorier       <Isomer@coders.net>
120         * ircd/m_names.c: Removed redundant space. 
121         * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line.
122
123 2000-05-18  Kevin L. Mitchell  <klmitch@mit.edu>
124
125         * ircd/m_burst.c (ms_burst): er...that should have been a ",", not
126         a " "
127
128 2000-05-04  Kevin L. Mitchell  <klmitch@mit.edu>
129
130         * ircd/channel.c: replace bogus assertions with returns, which is
131         logically correct; only wipe out limit/key if they were originally
132         set in the first place; remove user from channel when doing a
133         PARTALL; only send MODE +o for user CREATEing channel if user is
134         not MyUser--CREATE will only be used if the channel did not
135         originally exist, therefore we can assume no one local is on the
136         channel anyway, and we don't exactly need for the user to see an
137         explicit +o for themselves
138
139         * doc/readme.gline: describe the syntax of the GLINE command
140
141         * doc/readme.jupe: update to reflect a couple of changes to JUPE
142
143         * ircd/gline.c: don't propagate local changes
144
145         * ircd/jupe.c: don't propagate local changes
146
147         * ircd/m_gline.c (mo_gline): force local flag when deactivating
148         glines with 0 lastmod
149
150         * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time
151         are now removed instead of being deactivated
152
153         * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE *
154         -<mask>" be accepted
155
156         * ircd/channel.c (send_channel_modes): deal with one of the last
157         vestiges of sendbuf
158
159         * ircd/m_burst.c (ms_burst): debugged ban processing; removed
160         debugging hooks
161
162         * ircd/channel.c (modebuf_extract): remove debugging
163         sendto_opmask_butone calls
164
165 2000-05-03  Kevin L. Mitchell  <klmitch@mit.edu>
166
167         * ircd/channel.c: support a couple of new flags to support using
168         mode_parse; fix some bugs with 0 struct ModeBuf *; implementation
169         of modebuf_extract to extract added flags for use by ms_burst
170
171         * include/channel.h: a couple of new flags to support using
172         mode_parse inside ms_burst
173
174         * ircd/m_burst.c (ms_burst): brand new implementation of BURST
175
176         * ircd/m_endburst.c: add loop to processing of end_of_burst to
177         free empty channels after the BURST is over.
178
179         * ircd/m_server.c: convert to use new send.c functions--I wanted
180         to rewrite it from scratch, but the logic's pretty complex; I may
181         still rewrite it, though...
182
183 2000-05-02  Thomas Helvey <tomh@inxpress.net>
184
185         * ircd/ircd.c: fix broken header include ordering
186
187 2000-05-02  Thomas Helvey <tomh@inxpress.net>
188         
189         * ircd/IPcheck.c: cleanups for ZenShadow's cleanups
190         review emailed privately
191
192         * include/IPcheck.h: removed unneeded include
193
194 2000-05-02  Kevin L. Mitchell  <klmitch@mit.edu>
195
196         * ircd/s_user.c (hunt_server): throw in a comment so I know what
197         the sendto_one is for
198
199         * include/querycmds.h (Count_unknownbecomesclient): convert to
200         sendto_opmask_butone
201
202         * ircd/send.c: start removing dead code
203
204         * include/send.h: start removing dead code
205
206         * ircd/m_rping.c: convert to sendcmdto_one / send_reply /
207         hunt_server_cmd
208
209         * ircd/m_rpong.c: convert to sendcmdto_one / send_reply
210
211 2000-05-01  Kevin L. Mitchell  <klmitch@mit.edu>
212
213         * ircd/m_stats.c: convert to sendcmdto_one / send_reply
214
215         * ircd/m_kick.c: Completely reimplement m_kick
216
217         * ircd/channel.c: send_user_joins removed; it was dead code,
218         anyway...
219
220 2000-05-01  Perry Lorier <isomer@coders.net>
221         * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
222         * ircd/channels.c: My fix for the part problem.  Untested, probably
223                 won't work.  Can't be much worse than the current problem.
224                 it'll either work or core, take your pick.
225
226
227 2000-04-30  Perry Lorier <isomer@coders.net>
228         * config/config-sh.in: Fix for CONNEXIT
229         * ircd/s_{user,misc}.c: Fix for CONNEXIT
230         * ircd/m_invite.c: Fix for incorrectly numnickified invite.
231                         (Kev: Want to come talk to me about this?)
232
233 2000-04-30  Steven M. Doyle <steven@doyle.net>
234         * ircd/ircd.c
235           - general cleanups and readability enhancements
236           - rewrite of setuid/chroot code.
237           - server will no longer run as root
238           - -DPROFIL compile option removed
239           - Fixed IPcheck API calls
240  
241         * config/config-sh.in
242           - Fixed up chroot compile options
243           - Added options for debug and profile compiles
244  
245         * config/gen.ircd.Makefile
246           - Support for new debug/profile options
247  
248         * ircd/Makefile.in
249           - Support for new debug/profile options
250  
251         * ircd/ircd_signal.c
252           - Removed -DPROFIL
253
254         * include/IPcheck.h
255           - Removed old API prototypes, added new ones
256         
257         * ircd/IPcheck.c
258           - Readability cleanups (well, I -think-...)
259           - Changed IPRegistryEntry.last_connect to a time_t.  The previously
260             used unsigned short was probably causing interesting things after
261             a client had been connected longer than about 65,535 seconds...
262           - Removed old API functions.
263
264         * ircd/whocmds.c
265           - Removed IPcheck.h include
266         
267         * Additionally modified IPcheck API calls in:
268           - ircd/m_nick.c
269           - ircd/m_auth.c
270           - ircd/s_bsd.c
271           - ircd/s_conf.c
272           - ircd/s_misc.c
273           - ircd/s_serv.c
274           - ircd/s_user.c
275         
276         
277 2000-04-30  Perry Lorier <isomer@coders.net>
278         * ircd/s_bsd.c: Sigh. :)
279         * ircd/m_mode.c: fix for modeless channels by poptix.
280
281 2000-04-29  Kevin L. Mitchell  <klmitch@mit.edu>
282
283         * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf
284
285         * ircd/channel.c (clean_channelname): make clean_channelname also
286         truncate long channel names
287
288 2000-04-28  Kevin L. Mitchell  <klmitch@mit.edu>
289
290         * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf
291
292         * ircd/channel.c: implemented joinbuf_init, joinbuf_join,
293         joinbuf_flush
294
295         * include/channel.h: definitions and declarations for the struct
296         JoinBuf abstraction
297
298 2000-04-29  Perry Lorier <isomer@coders.net>
299         * ircd/s_bsd.c: Ok, so I thought I compiled and tested this...
300
301 2000-04-29  Perry Lorier <isomer@coders.net>
302         * ircd/s_bsd.c: Add debugging code to IPcheck
303
304 2000-04-28  Kevin L. Mitchell  <klmitch@mit.edu>
305
306         * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT
307
308         * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of
309         RPL_EXPLICIT
310
311         * ircd/m_userhost.c (m_userhost): add a dead code comment
312
313         * ircd/m_desynch.c: forgot one...
314
315         * ircd/m_rehash.c (mo_rehash): er, duplicates :)
316
317         * ircd/m_proto.c (proto_send_supported): just change a comment so
318         it doesn't show up in my scans
319
320         * ircd/ircd_reply.c (send_reply): fix a slight bug...
321
322         * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions,
323         kinda hackish...
324
325         * ircd/parse.c (parse_server): argument wrangling to make
326         processing in do_numeric a little easier to deal with
327
328         * ircd/s_serv.c (server_estab): SERVER should come from
329         acptr->serv->up, not &me
330
331         * ircd/m_lusers.c: accidentally left out sptr for a %C
332
333         * ircd/send.c: hack to support doing wallchops...
334
335         * ircd/m_whowas.c: convert to new send functions
336
337         * ircd/m_whois.c: convert to new send functions
338
339         * ircd/m_who.c: convert to new send functions
340
341         * ircd/m_wallops.c: convert to new send functions
342
343         * ircd/m_wallchops.c: convert to new send functions
344
345         * ircd/m_version.c: convert to new send functions
346
347         * ircd/m_userip.c: convert to new send functions
348
349         * ircd/m_userhost.c: convert to new send functions
350
351         * ircd/m_uping.c: convert to new send functions
352
353         * ircd/m_trace.c: convert to new send functions
354
355         * ircd/m_topic.c: convert to new send functions
356
357         * ircd/m_time.c: convert to new send functions
358
359         * ircd/m_squit.c: convert to new send functions
360
361         * ircd/m_silence.c: convert to new send functions
362
363         * ircd/m_settime.c: convert to new send functions
364
365         * ircd/m_restart.c: convert to new send functions
366
367         * ircd/m_rehash.c: convert to new send functions
368
369         * ircd/m_privmsg.c: convert to new send functions
370
371         * ircd/m_pong.c: convert to new send functions
372
373         * ircd/m_ping.c: convert to new send functions
374
375         * ircd/m_pass.c: convert to new send functions
376
377         * ircd/m_opmode.c: convert to new send functions
378
379         * ircd/m_oper.c: convert to new send functions
380
381         * ircd/m_notice.c: convert to new send functions
382
383         * ircd/m_nick.c: convert to new send functions
384
385         * ircd/m_names.c: convert to new send functions
386
387         * ircd/m_motd.c: convert to new send functions
388
389         * ircd/m_mode.c: convert to new send functions
390
391         * ircd/m_map.c: convert to new send functions
392
393         * ircd/m_lusers.c: convert to new send functions
394
395         * ircd/m_list.c: convert to new send functions
396
397         * ircd/m_links.c: convert to new send functions
398
399         * ircd/m_kill.c: convert to new send functions
400
401         * ircd/m_jupe.c: convert to new send functions
402
403         * ircd/m_invite.c: convert to new send functions
404
405         * ircd/m_info.c: convert to new send functions
406
407         * ircd/m_help.c: convert to new send functions
408
409         * ircd/m_gline.c: convert to new send functions
410
411         * ircd/m_error.c: convert to new send functions
412
413         * ircd/m_endburst.c: convert to new send functions
414
415         * ircd/m_die.c: convert to new send functions
416
417         * ircd/m_destruct.c: convert to new send functions
418
419         * ircd/m_defaults.c: convert to new send functions
420
421         * ircd/m_connect.c: convert to new send functions
422
423 2000-04-28  Perry Lorier <isomer@coders.net>
424         * RELEASE.NOTES: Describe a few more undocumented features.
425         * config/config-sh.in: change the default paths for logging
426         and the recommended number of channels.
427         * include/supported.h: Rearrange slightly, added CHANTYPE's
428
429 2000-04-27  Kevin L. Mitchell  <klmitch@mit.edu>
430
431         * ircd/m_close.c: convert to send_reply
432
433         * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone
434
435         * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone
436
437         * ircd/m_admin.c: convert to send_reply and hunt_server_cmd
438
439         * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement
440         that takes cmd and tok arguments, etc.  NOTE: THIS IMPLEMENTATION
441         HAS A MAJOR HACK!!!  The whole hunt_server architecture should be
442         carefully rethought...
443
444         * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd
445
446         * include/s_user.h: hunt_server_cmd -- replacement for hunt_server
447
448         * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by
449         numeric nick; therefore, we have to use the server name
450
451         * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick
452
453         * ircd/send.c: fix minor bugs
454
455         * ircd/s_user.c (check_target_limit): mark dead code so I filter
456         it when I grep
457
458         * ircd/s_serv.c (exit_new_server): mark dead code so I filter it
459         when I grep
460
461         * ircd/parse.c: mark dead code so I filter it when I grep
462
463         * ircd/map.c: mark dead code so I filter it when I grep
464
465         * ircd/ircd.c: mark dead code so I filter it when I grep
466
467         * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply
468         functions
469
470         * ircd/channel.c: mark dead code so I filter it when I grep
471
472         * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str;
473         hope I'm not stepping on toes...
474
475         * ircd/s_conf.c: more sendto_opmask_butone / send_reply
476         conversions; use ircd_snprintf in a couple of cases to negate the
477         possibility of buffer overflow
478
479 2000-04-26  Kevin L. Mitchell  <klmitch@mit.edu>
480
481         * ircd/channel.c: convert as much as possible to new send
482         semantics
483
484         * ircd/send.c (sendcmdto_common_channels): fix a subtle bug --
485         test member->user->from->fd, not from->fd
486
487         * ircd/gline.c (gline_add): go ahead and add badchans; we just
488         won't look for them in m_gline; this way, they always work...
489
490         * ircd/jupe.c: use ircd_vsnprintf conversion specifiers
491
492         * ircd/gline.c: since write_log now uses ircd_vsnprintf, use
493         ircd_vsnprintf conversion specifiers
494
495         * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so
496         I have my conversion specifiers
497
498         * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP
499
500         * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to
501         local users
502
503         * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a
504         little less brain-dead
505
506         * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply
507
508         * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for
509         RPL_STATSDEBUG
510
511         * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for
512         RPL_STATSDEBUG
513
514         * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT
515         for RPL_STATSDEBUG
516
517         * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING
518
519         * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING
520
521         * ircd/s_user.c (register_user): use RPL_EXPLICIT for
522         ERR_INVALIDUSERNAME
523
524         * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT
525
526         * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark
527         a numeric as needing to use an explicit pattern, which will be the
528         first argument in the variable argument list
529
530         * ircd/s_user.c: use sendrawto_one instead of sendto_one to send
531         non-prefixed nospoof PING
532
533         * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send
534         non-prefixed SERVER login
535
536         * ircd/ircd.c (check_pings): fix last sendto_one calls (except for
537         a numeric usage further up)
538
539         * include/send.h: declare sendrawto_one
540
541         * ircd/send.c (sendrawto_one): new function to use ONLY for
542         non-prefixed commands, like PING to client, or PASS/SERVER on
543         server registration
544
545 2000-04-25  Kevin L. Mitchell  <klmitch@mit.edu>
546
547         * ircd/ircd_snprintf.c (doprintf): implement %H for possible
548         future expansion (channel numerics?)
549
550         * include/ircd_snprintf.h: added documentation to # to explain use
551         with %C; added documentation for : to explain use with %C; added
552         documentation for %H for channels
553
554         * ircd/whocmds.c: use send_reply
555
556         * ircd/userload.c: use sendcmdto_one
557
558         * ircd/uping.c: use sendcmdto_one
559
560         * ircd/send.c: use new flags to %C format string; ':' prefixes
561         client name with a colon for local connects, '#' uses
562         nick!user@host form for local connects
563
564         * ircd/s_user.c: use send_reply, sendto_opmask_butone,
565         sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone
566
567         * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone
568
569         * ircd/s_bsd.c: use sendto_opmask_butone, send_reply,
570         sendcmdto_one
571
572         * ircd/s_auth.c: use sendto_opmask_butone
573
574         * ircd/res.c: use sendcmdto_one
575
576         * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some
577         debugging assertions
578
579 2000-04-24  Kevin L. Mitchell  <klmitch@mit.edu>
580
581         * ircd/support.c: dumpcore is no longer used, so get rid of it
582
583         * ircd/parse.c: use send_reply, sendcmdto_one
584
585         * ircd/map.c: use send_reply
586
587         * ircd/listener.c: use send_reply
588
589         * ircd/jupe.c: use sendto_opmask_butone, send_reply
590
591         * ircd/ircd_reply.c: use send_reply
592
593         * ircd/ircd.c: use sendto_opmask_butone
594
595         * ircd/gline.c: use sendto_opmask_butone, send_reply
596
597         * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely
598         registered clients; make FLAG_ALT print nick!user@host; make
599         FLAG_COLON print :blah
600
601         * ircd/class.c (report_classes): use send_reply instead of
602         sendto_one
603
604         * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one
605
606         * ircd/IPcheck.c (ip_registry_connect_succeeded): replace
607         sendto_one with sendcmdto_one
608
609 2000-04-21  Kevin L. Mitchell  <klmitch@mit.edu>
610
611         * ircd/send.c: clean up logic in sendcmdto_channel_butone; use
612         MyConnect() instead of IsServer() in sendcmdto_flag_butone; define
613         sendcmdto_match_butone
614
615         * include/send.h: declare sendcmdto_match_butone
616
617 2000-04-20  Kevin L. Mitchell  <klmitch@mit.edu>
618
619         * ircd/jupe.c: update to use send_reply()
620
621         * ircd/gline.c: update to use send_reply()
622
623         * include/ircd_reply.h: declare send_reply
624
625         * ircd/ircd_reply.c (send_reply): send_error_to_client, but for
626         replies; uses ircd_snprintf
627
628         * ircd/send.c: added comments to redirect searchers to appropriate
629         sendcmdto_* function; moved new functions to end of file; added
630         explanatory comments; reordered arguments; defined new functions
631         mentioned below
632
633         * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions
634
635         * ircd/m_gline.c: reorder arguments to sendcmdto_* functions
636
637         * ircd/jupe.c: reorder arguments to sendcmdto_* functions
638
639         * ircd/gline.c: reorder arguments to sendcmdto_* functions
640
641         * include/send.h: reorder arguments, add explanatory comments,
642         declare new functions sendcmdto_flag_butone, sendto_opmask_butone,
643         and vsendto_opmask_butone
644
645 2000-04-19  Kevin L. Mitchell  <klmitch@mit.edu>
646
647         * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified
648         vsendto_op_mask that uses '*' instead of the receiving client
649         nickname
650
651         * include/send.h: declare sendcmdto_channel_butone; takes a skip
652         argument that allows you to skip (or not to skip) deaf users,
653         users behind bursting servers, and non channel operators
654
655 2000-04-17  Kevin L. Mitchell  <klmitch@mit.edu>
656
657         * ircd/send.c: new sendcmdto_channel_butserv -- note that old
658         sendto_channel_butserv has a subtle bug; also wrote
659         sendcmdto_common_channels.
660
661         * include/send.h: declare new sendcmdto_* functions
662
663         * ircd/jupe.c: support local deactivations of jupes
664
665         * ircd/gline.c: support local deactivations of glines
666
667         * include/jupe.h: JUPE_LDEACT allows jupes to be locally
668         deactivated; if they aren't locally deactivated, then it slaves to
669         the net-wide activation status; JupeIsRemActive() tests only
670         whether the jupe is active everywhere else
671
672         * include/gline.h: GLINE_LDEACT allows glines to be locally
673         deactivated; if they aren't locally deactivated, then it slaves to
674         the net-wide activation status; GlineIsRemActive() tests only
675         whether the gline is active everywhere else
676
677         * ircd/gline.c: detect overlapping G-lines; if an existing, wider
678         gline expires after the new one will, we drop the new one,
679         otherwise we add the G-line after that one (so the wide one will
680         apply first); if the new one contains an existing G-line and if it
681         will expire after the existing one, we drop the existing one to
682         save memory
683
684         * ircd/m_gline.c (mo_gline): opers could issue remote local
685         glines when CONFIG_OPERCMDS was off; fixed
686
687 2000-04-16  Kevin L. Mitchell  <klmitch@mit.edu>
688
689         * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
690         this is a local JUPE
691
692         * ircd/gline.c: add flags argument to gline_activate and
693         gline_deactivate for future expansion
694
695         * ircd/m_gline.c: pass flags to gline_activate and
696         gline_deactivate
697
698         * include/gline.h: add flags argument to gline_activate and
699         gline_deactivate
700
701         * ircd/jupe.c: add flags argument to jupe_activate and
702         jupe_deactivate for future expansion
703
704         * include/jupe.h: add flags argument to jupe_activate and
705         jupe_deactivate
706
707         * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
708         local, active; pass flags to jupe_activate and jupe_deactivate
709
710         * include/gline.h: remove dead code
711
712         * ircd/gline.c: make gline expire times relative to CurrentTime,
713         since that should be monotonically increasing, instead of
714         TStime(), which can be set backwards, and which can therefore
715         cause an expire time to increase; make local glines be removed
716         instead of just deactivated; don't let gline_find() look for
717         user@host glines if the mask being looked up is a channel mask
718
719         * ircd/send.c (vsendcmdto_one): forgot to account for the case
720         where origin is a server and destination is a user
721
722         * ircd/jupe.c: make jupe expire times relative to CurrentTime,
723         since that should be monotonically increasing, instead of
724         TStime(), which can be set backwards, and which can therefore
725         cause an expire time to increase; make local jupes be removed
726         instead of just deactivated
727
728         * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
729         limit is fine.  any other warnings I should know about?
730
731 2000-04-15  Thomas Helvey <tomh@inxpress.net>
732
733         * ircd/*.c: const correctness and type safety cleanups to
734         get code to compile with C++ compiler. Still has
735         signed/unsigned comparison warnings.
736
737 2000-04-15  Greg Sikorski <gte@atomicrevs.demon.co.uk>
738
739         * ircd/userload.c: change <sys/time.h> include to <time.h> for
740           portability.
741
742 2000-04-14  Kevin L. Mitchell  <klmitch@mit.edu>
743
744         * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
745         and convert acptr...
746
747         * ircd/s_user.c: move gline_lookup function call into
748         register_user, where it'll have a username to lookup!
749
750         * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
751         functions; also stuff send_error_to_client into return clauses
752
753         * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
754         functions; also use send_error_to_client where that makes sense
755
756         * ircd/jupe.c: modify to utilize new sendcmdto_* series of
757         functions; also use send_error_to_client where that makes sense
758
759         * ircd/gline.c: modify to utilize new sendcmdto_* series of
760         functions; also fix gline_lookup() to deal properly with remote
761         clients--boy, do struct Client and struct User need to be cleaned
762         up!
763
764         * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
765         too...
766
767         * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
768         sendcmdto_serv_butone(), all utilizing the %v conversion of
769         ircd_snprintf()
770
771         * include/send.h: define IRC_BUFSIZE, max size of a message;
772         declare sendcmdto_one(), vsendcmdto_one(), and
773         sendcmdto_serv_butone()
774
775         * include/msg.h: define all the CMD_* constants needed to utilize
776         the new sendcmdto_* series of functions
777
778         * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
779
780         * ircd/gline.c: remove old, dead code.
781
782         * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
783         unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
784         (don't advertise proxies); remove dead code
785
786         * ircd/parse.c: oper handler for JUPE only lists jupes unless
787         CONFIG_OPERCMDS is enabled
788
789         * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
790         CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
791
792         * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
793         always return ERR_DISABLED
794
795         * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
796         enabled, always return ERR_DISABLED
797
798         * ircd/s_err.c: add error message to indicate disabled commands
799
800         * include/numeric.h (ERR_DISABLED): to indicate disabled commands
801
802         * doc/Configure.help: add documentation for CONFIG_OPERCMDS
803
804         * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
805         CONFIG_NEW_MODE to 'y' for now
806
807         * ircd/gline.c (gline_list): fix a minor formatting bogon
808
809         * BUGS: since I fixed that bug, might as well mark it fixed.
810
811         * ircd/m_join.c: look up badchans with GLINE_EXACT
812
813         * ircd/m_gline.c: fix parc count problems; look up existing
814         G-lines with GLINE_EXACT; only set new lastmod when
815         activating/deactivating existing glines if old lastmod was not 0
816
817         * ircd/gline.c: forgot to copy the gline reason over; don't
818         propagate a gline with 0 lastmod if origin is user; add
819         GLINE_EXACT to force exact matching of gline mask
820
821         * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
822         flag properly
823
824         * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
825         but gline_lookup() actually takes a client--d'oh.
826
827 2000-04-13  Thomas Helvey <tomh@inxpress.net>
828         * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
829
830 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
831
832         * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
833           "/who * x"
834           "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
835           (Found by Plexus).
836
837         * ircd/whocmds.c: Change idle time calc from socket idle to user
838           idle.
839
840 2000-04-13  Kevin L. Mitchell  <klmitch@mit.edu>
841
842         * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
843         too, for ircd_snprintf.c
844
845         * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
846         comments; mostly descended from the Linux manpage for printf, but
847         also documenting the extensions.
848
849         * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
850         client; make 'q' be the same as 'L'; remove __inline__; only
851         define EXTENSION if HAVE_LONG_LONG is defined
852
853         * include/handlers.h: declare m_gline()
854
855         * ircd/parse.c: gline can be called by users, but it only lists
856         the glines.
857
858         * ircd/s_user.c (set_nick_name): resend gline if a remote server
859         introduces a glined client
860
861         * ircd/s_serv.c (server_estab): burst glines, too
862
863         * ircd/gline.c: fix up all the expire times to be offsets;
864         simplify gline_resend()
865
866         * ircd/m_gline.c: begin coding replacements for ms_gline(),
867         mo_gline(), and m_gline()
868
869         * ircd/gline.c (gline_add): allow *@#channel to work correctly;
870         also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
871
872 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
873
874         * tools/Bouncer/*: Add comments/documentation/tags.
875         * tools/Bouncer/*: Add debug defines, make task fork().
876
877 2000-04-12  Thomas Helvey <tomh@inxpress.net>
878         * ircd/s_err.c: Cleanup s_err.c make one table so we
879         don't have to do anything tricky to get an error string.
880
881 2000-04-12  Greg Sikorski <gte@atomicrevs.demon.co.uk>
882         * Add port bouncer for http (x/w)
883
884 2000-04-12  Kevin L. Mitchell  <klmitch@mit.edu>
885
886         * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
887         call to gline_find(); also used GlineReason() instead of direct
888         reference to structure member
889
890         * ircd/m_join.c (m_join): replace bad_channel() calls with calls
891         to gline_find(name, GLINE_BADCHAN), and also check to see if gline
892         is active
893
894         * ircd/channel.c: nothing seems to be called anywhere...
895
896         * ircd/s_err.c: update a couple of replies to dovetail with new
897         semantics
898
899         * ircd/gline.c: begin complete re-implementation of gline.c along
900         the lines of the final design of jupe.c
901
902         * include/gline.h: begin complete re-implementation of gline.c
903         along the lines of the final design of jupe.c
904
905         * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
906         %s by %s" message...
907
908         * ircd/ircd_snprintf.c: my new snprintf()-like functions
909
910         * include/ircd_snprintf.h: my new snprintf()-like functions
911
912 2000-04-11  Thomas Helvey <tomh@inxpress.net>
913         * ircd/IPcheck.c: removed old dead code
914         * ircd/s_user.c (send_user_info): removed non-standard
915           user not found message for userhost/userip
916
917 2000-04-11  Greg Sikorski <gte@atomicrevs.demon.co.uk>
918
919         * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
920         * doc/p10.html: Work on chapter 4.
921
922 2000-04-10  Kevin L. Mitchell  <klmitch@mit.edu>
923
924         * ircd/channel.c (mode_parse_client): fix coredump on /mode
925         #foobar +o nosuchnick
926
927 2000-04-10  Perry Lorier  <Isomer@coders.net>
928         * BUGS: Added bug.
929
930 2000-04-09  Thomas Helvey <tomh@inxpress.net>
931         * include/IPcheck.h: fix prototype
932         * ircd/s_user.c: fix usage of IPcheck_remote_connect
933         * ircd/IPcheck.c: removed unused args
934
935 2000-04-09  Thomas Helvey <tomh@inxpress.net>
936         * include/IPcheck.h: add proto for IPcheck_expire
937
938         * ircd/IPcheck.c: Rewrote
939
940         * ircd/ircd.c: Add IPcheck_expire to main message loop
941
942         * ircd/s_user.c: Redo target hashing, refactor target code
943
944         * include/numeric.h: Cleaned up numerics, added which ones are
945         in use by other networks and what they are in use for.
946
947         * ircd/channel.c: cleaned can_join(), allow anyone through anything
948         if /invited, simplified the function.  Opers overusing OPEROVERRIDE
949         will get a message explaining to them not to cheat.
950
951         * ircd/m_join.c: cleaned up the various join functions, should be
952         a lot more efficient.  Still needs work.  Now assumes that s<->s
953         won't send it a JOIN 0.  Service coders - note this and tread with
954         care.
955
956         * ircd/m_stats.c: added Gte-'s stats doc patch.
957
958         * ircd/m_version.c: /version now returns the 005 numeric as well.
959         as requested by Liandrin.
960
961
962 2000-04-07  Kevin L. Mitchell  <klmitch@mit.edu>
963
964         * ircd/m_clearmode.c: add include for support.h for write_log()
965
966         * configure: move ircd/crypt/* to tools/*
967
968 2000-04-06  Thomas Helvey <tomh@inxpress.net>
969         * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
970           set client host to server alias if connection from localhost
971
972 2000-04-06  Perry Lorier <isomer@coders.net>
973         * ircd/ircd.c: Fix core during pinging (oops)
974         
975 2000-04-06  Perry Lorier <isomer@coders.net>
976         * ircd/send.c: fixed wrong ident being sent to channels bug.
977         * include/numerics.h: Updated some of the numerics from other
978         networks.  Flagged some as 'unused' by undernet.
979
980 2000-03-30  Perry Lorier <isomer@coders.net>
981         * ircd/ircd.c: Lets see if this helps the ping problem at all.
982         * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
983         time for local clients. (as requested), extended who now returns all
984         the flags (@+!) so you can tell the complete state of a client.
985
986 2000-03-30  Thomas Helvey <tomh@inxpress.net>
987         * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
988
989 2000-03-30  Perry Lorier <isomer@coders.net>
990         * ircd/parse.c: oops, missed opers.
991
992 2000-03-30  Perry Lorier <isomer@coders.net>
993         * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
994         for so long.  Remember: m_ping MUST be in the parse array. :)
995
996 2000-03-30  Perry Lorier <isomer@coders.net>
997         * ircd/ircd.c: test in check_pings was wrong.  I move that we
998         disallow cvs commit after 10pm localtime....
999
1000 2000-03-30  Perry Lorier <isomer@coders.net>
1001         * ircd/m_pong.c: Fix it for servers too.
1002
1003 2000-03-30  Perry Lorier <isomer@coders.net>
1004         * ircd/m_pong.c: Fix ping timeout bugs
1005
1006 2000-03-30  Perry Lorier <isomer@coders.net>
1007         * ircd/channel.c: Bans had CurrentTime in their when field instead
1008         of TStime()
1009
1010 2000-03-31  Thomas Helvey <tomh@ixpress.net>
1011         * ircd/numnicks.c (SetXYYCapacity): fix for extended
1012         numerics.
1013
1014 2000-03-30  Perry Lorier <isomer@coders.net>
1015         * ircd/m_nick.c: send kills both ways so when we add nick change
1016         on collision we don't desync the network.
1017
1018         * ircd/map.c: Fixup the map a bit more.
1019
1020 2000-03-31  Kevin L. Mitchell  <klmitch@mit.edu>
1021
1022         * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
1023
1024         * ircd/m_opmode.c: Log the mode changes to OPATH
1025
1026         * ircd/channel.c (modebuf_flush_int): Log the mode changes to
1027         OPATH
1028
1029         * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
1030         OPATH
1031
1032         * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
1033
1034         * config/config-sh.in: added OPATH for opmode log file
1035
1036         * ircd/m_clearmode.c (do_clearmode): updated uses of
1037         modebuf_mode_string() for the new usage
1038
1039         * ircd/channel.c: added flag MODE_FREE and an int argument to
1040         modebuf_mode_string() to indicate that the string must be free'd;
1041         updated calls to modebuf_mode_string() for the new usage; called
1042         collapse(pretty_mask()) on the ban string and use allocated memory
1043         for it; added ban list length accounting; fixed a number of small
1044         bugs in ban processing
1045
1046         * include/channel.h: added flag MODE_FREE and an int argument to
1047         modebuf_mode_string() to indicate that the string must be free'd
1048
1049         * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
1050         keys and limits that are set
1051
1052 2000-03-30  Perry Lorier <isomer@coders.net>
1053         * ircd/ircd.c: rewrote check_pings() for maintainability
1054         and speed.  Also changed quit msg's so they don't have
1055         redundant nick[host] info in them.
1056
1057         * ircd/send.c: Changed write errors to report what error
1058         occured (if possible).
1059
1060         * ircd/gline.c: added gline comment to the quit.
1061
1062         * ircd/m_server.c: Added suggestions to server quits mentioning
1063         what went wrong so the admin can fix it earlier instead of asking
1064         questions...
1065
1066         * ircd/map.c: Changed m_map() to hide numerics, show a * beside
1067         servers that aren't fully burst yet.  And show '(--s)' for servers
1068         where its not sure.
1069
1070         * doc/example.conf: Fixed wrapped U:
1071
1072 2000-03-30  Kevin L. Mitchell  <klmitch@mit.edu>
1073
1074         * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
1075         mode_parse() (version selectable at compile time)
1076
1077         * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
1078
1079         * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
1080
1081         * config/config-sh.in: add new config option to enable new m_mode
1082         implementation
1083
1084         * doc/Configure.help: add documentation for new config option
1085         CONFIG_NEW_MODE
1086
1087         * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
1088         MODE -v : Not enough parameters
1089
1090         * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
1091         +k and +l even if they weren't set...
1092
1093         * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
1094
1095         * ircd/channel.c: make mode_process_clients() clear the DEOPPED
1096         flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
1097         for; test the 0-th member, not the i-th member, of the client
1098         change state stuff
1099
1100         * ircd/m_clearmode.c (do_clearmode): use the new
1101         mode_invite_clear() function
1102
1103         * ircd/channel.c: cleared up all the compile-time warnings and
1104         errors
1105
1106         * include/channel.h: added declarations for mode_ban_invalidate()
1107         and mode_invite_clear()
1108
1109         * ircd/channel.c: finished mode_parse(), then broke it up into a
1110         dozen or so helper functions to make the code easier to read
1111
1112 2000-03-29  Thomas Helvey <tomh@inxpress.net>
1113         * ircd/ircd.c: refactor server initialization a bit, use
1114         getopt for parsing command line, refactor init_sys, main,
1115         and other bits.
1116
1117         * ircd/s_bsd.c: add functions for initialization to clean
1118         up logic a bit and remove duplicated code.
1119
1120         * include/ircd.h: add struct for server process related
1121         variables.
1122
1123 2000-03-29  Kevin L. Mitchell  <klmitch@mit.edu>
1124
1125         * ircd/channel.c: initial definition of mode_parse(); flags to
1126         prevent doing the same thing multiple times; helper method
1127         send_notoper() to send a "Not oper"/"Not on channel" notice
1128
1129         * include/channel.h: declare mode_parse() and helper flags
1130
1131         * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
1132         sending to match the current action of set_mode() closely enough
1133         that hopefully there won't be major conflicts
1134
1135         * ircd/channel.c (modebuf_flush_int): consolidated the mode string
1136         building logic, reversed the order of the arguments to mode
1137         commands to have '-' preceed '+'
1138
1139 2000-03-29  Thomas Helvey <tomh@inxpress.net>
1140         * ircd/s_bsd.c (add_connection): don't disable socket options
1141         let OS tune itself and allow important performance tweaks to 
1142         work.
1143
1144 2000-03-28  Kevin L. Mitchell  <klmitch@mit.edu>
1145
1146         * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
1147         confused by set_mode, which is doing some really weird logic;
1148         guess what I'm going to rewrite next?  ;)
1149
1150 2000-03-28  Kevin L. Mitchell  <klmitch@emc.com>
1151
1152         * include/channel.h: added MODE_SAVE for the bounds checking stuff
1153         in modebuf_flush
1154
1155         * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
1156         make it do bounds checking on the buffer; all modes are sent only
1157         if the all parameter is 1; modebuf_flush is the exported wrapper
1158
1159         * include/channel.h: add BOUNCE, renumber flags to get a little
1160         more space
1161
1162         * ircd/channel.c (modebuf_flush): don't overload HACK2, add
1163         BOUNCE; send DESYNCH message
1164
1165 2000-03-27  Kevin L. Mitchell  <klmitch@emc.com>
1166
1167         * ircd/m_clearmode.c (do_clearmode): only mark the modes the
1168         channel actually has in effect for deletion
1169
1170         * ircd/channel.c: added explanatory comments to all added
1171         functions; made flushing take place at the correct place even if
1172         the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
1173         to bash some stupid bugs; made modebuf_flush() return if ModeBuf
1174         is empty, fixed the apparent source, removed some bogus string
1175         termination code, properly terminate the mode strings, add support
1176         for HACK2 and HACK3, made limit strings not be sent if the limit
1177         is being removed, changed where '+' and '-' come from in sent
1178         strings, added support for DEOP flag, set up bouncing code for
1179         HACK2
1180
1181         * ircd/Makefile.in: ran make depend
1182
1183         * include/channel.h: added new defines for future functionality,
1184         made modebuf_flush() return int so I can use tail recursion
1185
1186         * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
1187         to make it all compile
1188
1189         * ircd/m_opmode.c: add msg.h to includes...
1190
1191         * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
1192
1193         * ircd/channel.c (modebuf_flush): realized I forgot to
1194         nul-terminate addbuf/rembuf properly...
1195
1196         * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
1197
1198         * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
1199         sendto_serv_butone--blah^2
1200
1201         * ircd/send.c (sendto_serv_butone): stupid comments confused me
1202
1203         * ircd/channel.c (modebuf_flush): if there are no mode changes to
1204         propagate, we're done...
1205
1206         * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
1207         not sendto_all_butone
1208
1209         * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
1210
1211         * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
1212
1213         * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
1214         the list
1215
1216         * ircd/parse.c: added messages for opmode and clearmode
1217
1218         * include/handlers.h: added declarations for mo_opmode(),
1219         ms_opmode(), mo_clearmode(), and ms_clearmode()
1220
1221         * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
1222         TOK_CLEARMODE
1223
1224         * include/channel.h (MODEBUF_DEST_OPMODE): Define the
1225         MODEBUF_DEST_OPMODE flag
1226
1227         * ircd/channel.c (modebuf_flush): added new flag,
1228         MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
1229         to originate from source's server (or source itself, if
1230         IsServer(source)); also causes a server-level MODE to be sent as
1231         OPMODE instead
1232
1233         * include/channel.h: defined MODEBUF_DEST_SERVER,
1234         MODEBUF_DEST_HACK4
1235
1236         * ircd/channel.c: Add another argument to build_string() to handle
1237         numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
1238         servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
1239         to be sent out
1240
1241 2000-03-27  Perry Lorier <isomer@coders.net>
1242
1243         * ircd/s_bsd.c: fixed missing 'u' typo.
1244
1245 2000-03-26  Kevin L. Mitchell  <klmitch@emc.com>
1246
1247         * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
1248         _mode_string(), _mode_client(), _flush(); also implemented a
1249         simple build_string()
1250
1251         * include/channel.h: added definition of ModeBuf, modebuf_*
1252         manipulation functions, and a couple of helper macros
1253
1254 2000-03-24 Thomas Helvey <tomh@inxpress.net>
1255   * numicks.c: convert extended numerics to use original mask version
1256   * numnicks.h: ""
1257   * s_user.c:
1258 2000-03-23 Thomas Helvey <tomh@inxpress.net>
1259   * Merge in changes from production
1260 2000-03-22 Thomas Helvey <tomh@inxpress.net>
1261   * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
1262   * rfc1459.unet: Add Maniac's documentation for /names 0
1263 * Fix misc. jupe bugs that somehow made it into the tree
1264 * Escape /names 0 to mean /names --Maniac
1265 * Don't core when server asks for info --Maniac 
1266 * Add Kev's jupe patch --Bleep
1267 * Add Maniacs squit patch --Bleep
1268 * Merge in u2_10_10_beta07 changes --Bleep
1269 * Merge in u2_10_10_beta06 changes --Bleep
1270 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
1271 #-----------------------------------------------------------------------------
1272 #
1273 # ChangeLog for ircu2.10.11
1274 #
1275 # $Id: ChangeLog,v 1.155 2000-07-09 14:19:43 gte Exp $
1276 #
1277 # Insert new changes at beginning of the change list.
1278 #