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