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