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