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