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