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