Author: Bleep <tomh@inxpress.net>
[ircu2.10.12-pk.git] / ChangeLog.10
1 #
2 # ChangeLog for ircu2.10.10
3 #
4 # $Id: ChangeLog.10,v 1.1 2000-03-18 05:20:28 bleep Exp $
5 #
6 # Insert new changes at beginning of the change list.
7 #
8 * Don't bother doing hostname lookup or setting me.sockhost
9   since we never want to display it there is really no reason
10   to have the info. --Bleep
11 * Bugfix broken N:line check in chkconf --Maniac
12 * Bugfix, fix clients occasionally getting stuck in IPcheck
13   code. Add note to members in client struct that aren't used
14   for any remote client code, didn't want to actually move them
15   this close to release (paranoia) --Bleep
16 * A few little cleanups in check_pings, removed yet another
17   address display. --Bleep
18 * Bugfix, autoconnects displaying server IP address to opers.
19   --Bleep
20 * Remove names from /stats p, since its always the server
21   name from the M:line anyhow, (redundant information)
22   --Bleep
23 * Unborked throttling. --Bleep
24 * Fix two stupid bugs, related to IP mismatch kills. --Bleep
25 * Clean up configuration, make it a bit easier for admins to
26   turn off asserts and heap checking code. Moved host name dns
27   query for listener virtual host ports to dead code and use
28   me.name for the listener name (no sense in looking up the name
29   if we don't want to display it). Change direct bump of unknowns
30   in s_bsd.c to Count_newunknowns(UserStats) for consistency.
31   --Bleep
32 * Added option to kill any connecting client with a forward and
33   reverse DNS mismatch. Fixed bug in s_auth that that caused
34   incorrect counts for unknown clients. Replaced missing server
35   notice for SNO_IPMISMATCH. --Bleep
36 * Added a few more little name tweaks, no sense in looking up
37   the hostname in the conf if no one knows it. --Bleep
38 * Moved to beta archive, bumped patchlevel, fixed message for
39   lost C:line in s_conf.c (I don't think I've ever seen this happen)
40   --Bleep
41 * Finished host hiding changes, it should not be possible for any
42   online user to discover the real hostname or IP address of any
43   connected or unconnected server listed in the configuration. This
44   applies to opers and regular users. The name in the M:line is the
45   name used for connecting and all informational messages. --Bleep
46 * Removed code in dbuf.c that flushes the dbufs if the server runs out
47   it looks like a fully loaded server may not be able to handle a net
48   break without shedding a few clients. --Bleep
49 * Finish IP address cleanup, alpha should be clean for not displaying
50   server hosts or IP addresses to users now. This needs to be verified.
51   Changed version to u2.10.10 per Isomers suggestion. --Bleep
52 * Remove server IP address from info line for connecting servers.  
53   This almost completes the IP address hiding changes for alpha, there
54   are still a few stats commands available to users that will show the
55   server addresses, but they can be easily disabled or only show '*'s
56   to non-opers.  --Bleep
57 * Fix possible (but not likely) memory leak in debug allocator, couldn't
58   find the "meg a minute" problem, using the debug allocator on the
59   production network with more than 1000 clients on a server may cause
60   problems if you don't have a lot of memory. (This does not seem to
61   be a problem with non-debug builds) --Bleep
62 * Captialisation fixes, just to keep certain ppl quiet. --Isomer
63 * Removed +s channels from /list.  They were shown sometimes, but not
64   others, and the information that was shown about them was inconsistant.
65   list is not an effective way to gain information anyway. Reformatted
66   and touched up readme.who as well.  --Isomer
67 * Added MAP to ISUPPORT, added doc/features.txt --Isomer
68 * Added suggestions made by scripters. more info for ISUPPORT, and
69   added stuff to 'TODO' --Isomer
70 * More TODO items 'done'.  P:'s now ignore '*'s.  ping shouldn't do funky
71   stuff with mirc anymore, needs discussion --Isomer
72 * Typo fixed. Now I'm annoyed.  --Isomer
73 * Right, Makefile's gonna work now or I'm going to get REALLY annoyed at it.
74   --Isomer
75 * TODO, m_ping, ircd/Makefile.in: Added note to TODO, added info to
76   m_ping, and fixed Makefile bug using bsdmake. --Isomer
77 * s_bsd.c, listener.c, s_user.c, s_serv.c, s_bsd.h:
78   Set receive and send buffers in correct order to enable flow
79   control for clients and support fat pipes better for servers.
80   Finally got it right :)
81   See Stevens "Unix Network Programming" v1 p 191-193
82   --Bleep
83 * ircd.c (main): added idiot checking to make sure MAXCONNECTIONS
84   is sane. --Bleep
85 * send.c: Don't let negative fd's break stuff, audit sentalong
86   usage for sillyness. --Bleep
87 * send.c (sendto_common_channels): bug fix, code assumed client
88   local, file descriptor is only in local client struct
89   --Bleep
90 * table_gen.c, channel.c: make FIXME changes, removed
91   FIXME code from table_gen, readd FIXME code to channel.c,
92   I hope I got this right. --Bleep
93 * Makefile.in: Add purify def, fix so CFLAGS don't error
94   off when using Solaris compiler --Bleep
95 * fda.c (fda_free): fix compile error on Solaris --Bleep
96 * configure.in: add SunOS case to detect Solaris --Bleep
97 * os_solaris.c (os_send_nonb): fix solaris compile error --Bleep
98 * exaconf.2: add file from conf design to docs directory to
99   have it available for new conf parser development --Bleep
100 * fda.c (fda_free): fix memory leak, doh!!! --Bleep
101 * hash.c (addNickJupes): fix buffer overrun --Bleep
102 * s_bsd.c (read_message(poll)): fix uninitialized memory read
103   bogosity in poll macros. --Bleep
104 * channel.c (send_user_modes): change to send XXX:ov instead
105   of XXX:o:v doesn't send XXX: if no modes set. --Bleep
106 * s_bsd.c (connect_server): bugfix for connect/rehash/connect
107   multiple outstanding dns query core. --Bleep
108 * channel.c (send_user_modes): bugfix for burst not sending modes
109   when burst line is created. --Gte
110 * m_gline.c: change NumServ(cptr) to NumServ(sptr) found by Gte
111   --Bleep
112 * config-sh.in: add WildThangs BADCHAN config fix --Bleep
113 * config-sh.in: add Runs restart bugfix --Bleep
114 * Makefile.in: make sure version.c gets regenerated when checksums
115   change --Bleep
116 * Makefile.in: remove hash.c/crypt/sums idiocy, all of the ridiculous
117   anti-hack stuff is already done in version.c anyhow.
118   "Shhh..., don't tell the admins ( .)( .) you're being watched"
119   --Bleep
120 * hash.c (m_hash): fix count bugs --Bleep
121 * m_squit.c (mo_squit): fix off by one, /quote SQUIT bug --Bleep
122 * ircd_relay.c: oops, changed the wrong one.  Fixed previous fix. --Isomer
123 * Makefile.in, ircd_relay.c: Fixed 'make depend', added dependancies, fixed
124   bug where server would core on sending a server notice --Isomer
125 * m_kick.c (ms_kick): fix core on kick message coming from
126   server --Bleep
127 * config.in: remove CRYPT_LINK_PASSWORD option --Bleep
128 * doc/readme.www: Applied Runs' doc patch --Bleep
129 * client.h: Add member to client struct to try to aggravate the
130   bug found by Jesus --Bleep
131 * client.h: Remove IsListening macros and flags, add FLAGS_UPUNG
132   and IsUPing/GetUPing/SetUPing macros --Bleep
133 * m_silence.c, m_create.c: check for IsServer(sptr) don't
134   allow X SILENCE X +*@*.com or X C #blah 947477407 core the
135   server. --Bleep
136 * os_*.c, res.c: clean interface for os_recvfrom_nonb --Bleep
137 * uping.c, uping.h: new files for UDP pings, these aren't hooked up yet, or
138   finished or tested.
139   --Bleep
140 * channel.c: find_member_link(): Fail fast for Servers, prevents core when
141   servers set a channel mode. --Isomer
142 * channel.c, channel.h, various.c: Changed find_member_link() to take
143   a chptr instead of the first member, and special case'd +k users
144   (see comment in code for more details) --Isomer
145 * ircd/Makefile.in: Changed gnu specific $^ for $< in table_gen
146   rules --Bleep
147 * INSTALL: Explained about CVS --Isomer
148 * example.conf: Point to coder-com@ for help configuring the server. --Isomer
149 * INSTALL: Make things a bit more plain.  --Isomer
150 * s_bsd.c (read_message (poll)): removed local_cptr array using
151   this temp made possible a bug where if a client lower in the list
152   managed to exit a client higher in the list, a dangling reference
153   to the already exited client would be left in the local_cptr array.
154   Found by Quantum by loading 100's of clones with the same nick.
155   --Bleep
156 * INSTALL: Added instructions for -lcrypt FAQ --Isomer
157 * INSTALL: Added instructions for -lresolv FAQ --Isomer
158 * INSTALL: Added instructions for making ./configure executable --Isomer
159 * numeric.h: Merged in some more numerics that other ircds user --Isomer
160 * IPcheck.c: Fix gramatical error to keep pedants happy. --Isomer
161 * IPcheck.c: Allow -DNOTHROTTLE for debugging purposes.  --Isomer
162 * m_stats.c: make stats c available to opers only, TEMP_HACK --Bleep
163 * IPcheck.c: Fixed outdated comment.  Thanks Quantum --Isomer
164 * ircd_reply.c: Fix the fix, silly typo.  thanks Bleep --Isomer
165 * ircd_reply.c: added check for people without nicks.  --Isomer
166 * doc/Authors, ircd/version.c.SH: updated /info and maintainer 
167   lists. --Isomer
168 * channel.h, channel.c, m_join.c, m_mode.c: add David M's
169   lchanmode patch update --Bleep
170 * s_auth.c: fix ident bug, comment code for rule. --Bleep
171 * m_invite.c (m_invite): Fix syntax error, missing ')'. -- Isomer.
172 * m_invite.c (m_invite): tokenize invites, change from accidental
173   broadcast to directed message (bug fix). --Bleep
174 * m_time.c (m_time): send tokenized time messages --Bleep
175 * s_user.c (set_user_mode): Send wallops to everyone by default
176   allow compile option WALLOPS_OPER_ONLY for networks that want
177   to disable wallops for users. --Bleep
178 * s_misc.c (exit_one_client): tokenize client quit message to other servers.
179   --Gte
180 * m_kick.c: you would have thought I'd fix all of them the first time, but
181   no... -- Isomer
182 * m_kick.c: Fixed missing space after TOK_KICK -- Isomer
183 * m_burst.c: Fixed netrider kick bugs -- Isomer
184 * s_user.c: Bug fix --Bleep
185 * s_user.c: only send wallops to opers --Bleep
186 * s_user.c: enforced undernet policy. -- Isomer
187 * s_user.c: replace user_modes with struct UserMode array
188   change code to use new struct. --Bleep
189 * s_user.c (set_user_mode): clean up switch statement --Bleep
190 * channel.c (set_mode): fixed -k foo bug, extra == 0 typo in
191   conditional. --Bleep
192 * dbuf.c (dbuf_alloc): fixed count bug, we _have_ to count it in
193   the branches. --Bleep
194 * dbuf.c, send.c, s_bsd.c, send.h: bahh finally did it right,
195   if a dbuf allocation fails, attempt to flush all send buffers except
196   for the one we are trying to build (we're twiddling with the list etc..)
197   if the allocation fails a second time, _then_ bail. --Bleep
198 * s_bsd.c, send.c: if dbuf_put fails for send or receive buffers,
199   call flush connections to free up some buffers (safe here). --Bleep
200 * dbuf.c (dbuf_put): back out previous change, afaict it would fail
201   spectacularly --Bleep
202 * dbuf.c (dbuf_put): call flush_connections(0) if we can't allocate
203   a dbuf the first time, this may prevent the server from dropping
204   connections during netbursts. --Bleep
205 * m_privmsg.c: fix IDLE_ON_MSG fix -- Isomer
206 * m_privmsg.c, parse.c: fix IDLE_ON_MSG bug --Bleep
207 * m_ison.c (m_ison): Temp hack to fix missing null terminator. --Bleep
208 * m_nick.c (m_nick): fix null nick reply bug --Bleep
209 * ircd_string.c, match.c: fix a couple possible issues with
210   the character attribute changes --Bleep
211 * s_auth.c, ircd.c: turn off connection status messages for
212   connections to server ports. --Bleep
213 * ircd.c, s_conf.c, m_server.c, ircd.h, s_conf.h:
214   removed portnum and server_port global variables, server port
215   in M:lines is ignored, server ports now need to be defined in
216   the P:lines. Add SERVER_PORT config option to allow:
217   '/connect server.net.dom' without specifying the port. --Bleep
218 * config-sh.in: change PORTNUM to SERVER_PORT now used for
219   default server port for outgoing connections in m_connect.
220   --Bleep
221 * example.conf: document changes to M:line for server port --Bleep
222 * ircd_chattr.h, ircd_string.h, ircd_string.c, table_gen.c:
223   put Nemesi's table generation code and macros back in, the
224   tables are now automagically generated whenever the table_gen.c
225   file is modified, use a slightly different mechanism to get the
226   tables in the executable. Add reference data file to test dir
227   for character attributes. --Bleep
228 * s_auth.c (check_ident_reply): add function that implements
229   auth reply undernet rules checking. --Bleep
230 * s_misc.c (date): added Runs Y2K patch --Bleep
231 * m_privmsg.c: work on server handlers, hookup new code to parser,
232   test, fixed a couple bugs, fixed username bug in server NICK
233   processing --Bleep
234 * ircd_chattr.c, m_privmsg.c: Work on privmsg code a bit more,
235   commit for review, still a bit more to do --Bleep
236 * os_bsd.c, configure.in: add os dependency file for bsd
237   --Bleep
238 * m_privmsg.c, ircd_string.c: little cleanups for privmsg
239   work on prototype handler for new parser. --Bleep
240 * m_connect.c, s_conf.c: clean up /connect handling code
241   --Bleep
242 * m_away.c, m_admin.c, m_close.c, m_connect.c:
243   start cleaning up handlers --Bleep
244 * whocmds.c, whowas.c, *.c: split out handlers from whocmds.c
245   and whowas.c --Bleep
246 * s_serv.c, m_*.c: split out handlers from s_serv.c
247   --Bleep
248 * querycmds.c, m_*.c: split out handlers from querycmds.c
249   --Bleep
250 * opercmds.c, m_stats.c, m_connect.c, parse.c, handlers.h, *.c
251   add new command handlers --Bleep
252 * channel.c, m_names.c: new file for names handler --Bleep
253 * channel.c, m_list.c: new file for list handler --Bleep
254 * channel.c, m_topic.c: new file for topic handler --Bleep
255 * channel.c, m_burst.c: new file for burst handler --Bleep
256 * channel.c, m_create.c: new file for create handler --Bleep
257 * channel.c, m_destroy.c: new file for destroy handler --Bleep
258 * channel.c, send.c, m_join.c: new file for join handler,
259   const fixups for send.c --Bleep
260 * channel.c, m_mode.c: new file for mode command handler,
261   clean up file scope buffer mess. --Bleep
262 * m_silence.c: split out SILENCE handler to a new file,
263   cleanup --Bleep
264 * m_ison.c: split out ISON handler to a new file, cleanup --Bleep
265 * m_userip.c: split out to new file, change userhost and userip
266   to use same algorithm with different formatting functions --Bleep
267 * m_userhost.c: split out to new file --Bleep
268 * send.c: add new function send_buffer, cleanup godemode ick a bit
269   --Bleep
270 * m_wallchops.c: split out wallchops handler --Bleep
271 * m_cprivmsg.c: split out m_cprivmsg and m_cnotice.
272 * m_pass.c, s_user.c: split out m_pass, pass message handler
273   --Bleep
274 * m_oper.c: split out m_oper.c from s_user.c, setup to use
275   new parser. --Bleep
276 * m_pong.c, m_ping.c, parse.c, s_user.c, channel.c:
277   Add new file for pong messages, convert ping and pong to use
278   numerics. Test pings and pongs on testnet. Fix numeric
279   nick bug in channel.c. --Bleep
280 * m_ping.c, s_serv.c, parse.c: new file for pings, fixed a 
281   minor bug in ping handling. --Bleep
282 * m_nick.c, m_kill.c: clean up nick code for servers, still needs work
283   fix string formatting bug in m_kill --Bleep
284 * m_nick.c, s_user.c, ircd_chattr.c: add new file for NICK command,
285   clean up local client registration for nicks. --Bleep
286 * m_away.c, s_user.c, parse.c: split out m_away handlers for client,
287   add user_set_away function. --Bleep
288 * m_kill.c, ircd_reply: Rework handling of kill from server, add new error
289   message formatter. --Bleep
290 * m_kill.c (mo_kill): Rework handling for kill from operator on server
291   kill originated from --Bleep
292 * m_kill.c: new message handler file for kill --Bleep
293 * configure.in, ircd/Makefile.in: added automatic os checking to autoconf
294   checked --Gte
295 * m_quit.c: new message handler file for quit --Bleep
296 * m_privmsg.c: new message handler file for privmsg --Bleep
297 * ircd_string.c, support.c, support.h, *.c: moved strtoken to ircd_string
298   and renamed ircd_strtok --Bleep
299 * channel.c, s_user.c, s_debug.c, send.c, channel.h: finish membership code
300   --Bleep
301 * channel.c, more cleanups of membership code and macros --Bleep
302 * channel.c, s_misc.c: more cleanup in channel link code, most likely
303   still a bit broken yet, more to come. --Bleep
304 * querycmds.h (Count_remoteclientquits): fix minor bug --Bleep
305 * ircd.h, querycmds.h, struct.h, channel.c, list.c, map.c, opercmds.c,
306   s_err.c, s_serv.c, s_user.c, s_misc.c: Add Isomers passivelag0-1.patch
307   fixed minor bug in macros --Bleep
308 * channel.h, channel.c, s_user.c, s_debug.c, s_user.c:
309   added Membership struct for channel associations, change user/channel
310   lookups to use new struct. --Bleep
311 * channel.c, channel.h, s_user.c: cleanup channel and user code
312   a bit, new function find_no_nickchange_channel --Bleep
313 * parse.c, m_defaults.c: added default handlers and hooked up new
314   message handlers --Bleep
315 * *.c, struct.h: added Isomer's passivelag patch and, the second
316   p10 patch --Bleep
317 * ircd_reply.[ch]: new files for commonly used replies --Bleep
318 * m_proto.[ch]: new file for protocol command support, needed for zip
319   links --Bleep
320 * client.h, parse.c, msg.h: add code to support multiple message handlers
321   depending on client status. --Bleep
322 * s_bsd.c, packet.c: code cleanup prep for zip links --Bleep
323 * channel.c, opercmds.c, ircd.c, s_serv.c, s_user.c, querycmds.c, 
324   whocmds.c, whowas.c: Add Isomers p10ify patch, tokenize server to
325   server commands --Bleep
326 * s_user.c (m_nick): killed goto --Bleep
327 * client.h, *.c: moved client stuff to client.h --Bleep
328 * version.c.SH, patchlevel.h, .patches: change version string
329   generation, patch level is now set in patchlevel.h by simply
330   bumping the number in the PATCHLEVEL string. --Bleep
331 * ircd_alloc.c, channel.c: fixup warnings in release build (NDEBUG)
332   --Bleep
333 * fda.h, ircd_alloc.h, fda.c, ircd_alloc.c, fda_t.c: new files,
334   runmalloc was core dumping on squits and unable to handle or
335   detect double frees, the memory debug code can be disabled by
336   compiling with NDEBUG defined --Bleep
337 * channel.c (remove_user_from_channel): refactor function --Bleep
338 * channel.c (m_kick): refactor function a bit, put all checks at top
339   move code out to new function (make_zombie) --Bleep
340 * s_bsd.c (completed_connection): fixed stupid
341   "Write error to blah: Socket not connected" bug --Bleep
342 * struct.h, send.h, send.c, s_bsd.c, IPcheck.c, s_user.c, *:
343   More socket code cleanup, move file descriptor to local part of
344   client struct, use cptr->error to handle the errno of any socket
345   error, fix bug in IPcheck that ends up only disallowing every
346   256th clone, Add more ipcheck forgiveness to s_user.c (needs work).
347   Changed IPcheck_local_connect and IPcheck_connect_fail interfaces to
348   use struct in_addrs instead of client structs to allow delaying the
349   allocation of the client struct till after the check was done.
350   Added can_send function to send.c (should be called before work is done
351   but right now it's called just before trying to send (needs work))
352 * channel.c: Added Isomers netride2.patch, still needs a config option
353   to turn it on (NO_INVITE_NETRIDE) --Bleep
354 * parse.c, msg.h: Added silent ignores for notices so connect progress
355   messages do not cause connecting server to spew ERR_REGISTER_FIRST
356   messages at the server it's connecting to. --Bleep
357 * s_serv.c, s_user.c, channel.c, send.c: Tokenised BURST, NICK,
358   END_OF_BURST, EOB_ACK, PRIVMSG and NOTICE Server to Server.
359   About 8-10% Bandwidth saving on BURSTS. --Gte
360 * channel.c (m_join): servjoin patch --Isomer
361 * ircd_osdep.h, os_*.c, s_bsd.c, send.c: more cleanups in socket code,
362   use enumeration for IO results. --Bleep
363 * s_bsd.c: clean up select and poll code a bit more, fixed message pacing bug
364   in poll. --Bleep
365 * supported.h, numeric.h, s_user.c, s_err.c: Added Isomers features
366   patch. Use numeric 005 RPL_ISSUPPORT to convey server features to
367   clients. --Bleep
368 * s_user.c (m_nick): IP differ patch, use IP address instead of host
369   name to determine different user@host for nick collides. --Isomer
370 * hash.c (hChangeClient): Bug fix. Fixed bug that caused stale entries
371   to be left in client hash table after a name change. Discovered by
372   Quant and Isomer. --Bleep
373 * hash.c (hSeekClient): fixed bug I introduced when reversing my hash
374   table code changes, thanks Quant and Isomer --Bleep
375 * opercmds.c (m_lusers): send limited luser info to remote
376   clients --Isomer
377 * numeric.h, channel.c, s_err.c: Changed invite list numerics
378   from 283/284 to 346/347 to match IRCnet numerics --Bleep
379 * config-sh.in, gline.h, numeric.h, gline.c, opercmds.c, s_debug.c, s_err.c:
380   Add badchan patch by WildThang --Bleep
381 * config-sh.in, channel.h, numeric.h, channel.c, s_debug.c, s_err.c:
382   Add lchanmode patch by David M --Bleep
383 * channel.c (cancel_mode): removed incorrect assert --Bleep
384 * *.c: removed P9 support, not everything is completely gone but most
385   of it is, the server builds and connects to other servers, but thats
386   as far as it's been tested so far. --Bleep
387 * ircd.h, ircd.c, s_bsd.c:
388   removed BOOT_INETD/BOOT_CONSOLE code, unused non-functional --Bleep
389 * struct.h, ircd.h, ircd.c, s_user.c, s_bsd.c:
390   removed BOOT_OPER/STAT_MASTER code, original patch by Isomer --Bleep
391 * s_user.c (m_nick): removed redundant check for acptr
392 * hash.c (hSeekClient, hSeekChannel): roll back some of hash.c changes
393 * hash.c (hSeekClient, hSeekChannel): removed unused variable from previous
394    changes.
395 * hash.c (hSeekClient, hSeekChannel): fix compile error from status changes,
396    fix logic bug that caused the first client that matched the mask to be
397    returned regardless of whether or not it's name matched, this can result
398    in wierd problems where the wrong server/client could be returned from the
399    hash table lookup. Removed code that moved client to head of hash table
400    chain for it's bucket when it's looked up, if the hash table is working
401    reasonably well this just wastes cpu.
402 * hash.c, list.c: added code to zero out cptr->hnext when client removed
403    from hash table, added assert for hnext == 0 in list.c to make sure that
404    client was actually removed from the hash table before freeing it's memory.
405 * various: misc cleanups
406 * support.c: removed dead code
407 * configure.in: remove unneeded checks for minix, aix, ansi/posix headers
408    these things are handled by porting layer code.
409 * res.c: remove calls to add_local_domain, these were causing incorrect
410    behavior
411 * opercmds.c: cleanups in gline code
412 * s_bsd.c: increase socket buffers to 65535 for server connections
413 * crypt/mkpasswd.c: mutter correct runes to get file to compile without warnings
414 * gline.c, gline.h: add new files to attempt to encapsulate glines a bit,
415    some code from opercmds.c needs to be moved here still
416 * opercmds.c (m_gline): fix local gline bug
417 * s_conf.c (initconf): add password change on rehash fix
418 * s_conf.c (rehash): fix rehash freeing and reloading the motd/rmotd files for
419    every client connected.
420 * ircd_log.c: use 2K fixed buffer instead of vsnprintf, nothing we write to
421    the log should ever exceed 512 bytes, but it doesn't hurt to be paranoid.
422 * res.c: change resolver timeouts to 5 seconds, per RFC1123
423 * channel.c: more little cleanups, no code changes
424 * channel.c: a) stops iterating over /invite list
425     b) adds /invite to list the channels you're currently invited to.
426     c) adds lotsa new numerics --Isomer
427 * ircd_signal.c, ircd.c: fix bug in signals
428 * channel.c (can_send) add Isomer's changes
429 * channel.c: add send_ban_list, cleanup a few names, reformat some parts to make
430     more readable, fix bug introduced by name changes
431 * ircd_chattr.[ch]: add new macro for checking K:line time chars vs comments
432 * listener.c (show_ports): add code to show client/server and hidden status
433 * s_conf.c: bug fixes, cleanups, add code to set server port and hidden
434     status for listeners (P:lines)
435 * s_conf.c (initconf): add interface selection code to P:lines so ports can
436     be set on a single interface or multiple interfaces (multi-homed hosts)
437 * s_conf.c: rewrote C/N line code, removed N:lines entirely, clean up server
438     conf line code.
439 * s_conf.c (check_server): move ip checks out of resolved or not so they can
440     be checked for worse case situations on server connects
441 * res.c (resolver_read): add Isomer's debug info for failed resolver queries
442 * opercmds.c (m_stats): remove call to time(0) for each local client in 
443     stats l command, use CurrentTime instead
444 * s_conf.c (initconf): only do lookups on C:lines instead of both C/N lines
445 * res.c: fix resolver hang bugs
446 * s_conf.c (rehash): remove extra semicolin that was causing c/n lines to
447     accumulate
448 * s_conf.c (rehash): add portnum back to the listener list so we don't loose
449     the server port on a rehash
450 * s_auth.c, listener.c: remove warnings for normal errors
451 * s_auth.c, listener.c: use osdep non-blocking calls instead of locals
452 * s_auth.c, listener.c: add code for non-blocking recovery for listeners and
453     auth queries
454 * s_auth.c (auth_error): call IPcheck_connect_fail if the client socket dies
455     during the auth check so the reference count doesn't get borked in the
456     IPcheck code.
457 * numnicks.c: yet another extended numerics bug fix... sheesh
458 * s_bsd.c, s_conf.c: move conf line code from s_bsd.c to s_conf.c, cleanup
459     cleanup check_server, check_client (still not completely tested, may be
460     a bit buggy yet).
461 * parse.h, parse.c, s_debug.c: remove privmsg logging code
462 * numnicks.c (FindXNServer): fix off by one bug
463 * common.h, common.c: removed unused files
464 * s_bsd.c (net_connect_completed): new function, called after connection
465     establishment for servers and clients, release reference count for
466     the dns reply and set the socket buffer size to IRCD_READBUF_SIZE 
467     for servers and 2K for clients.
468 * channel.c, crule.c: cleanup bogus casts
469 * listener.h (add_listener): fix bug that caused server a server port listener
470     to think it was a client port listener.
471 * s_user.c, s_serv.c: release reference to dns_reply when connection is
472     established.
473 * s_bsd.c (completed_connection): removed call to start_auth for connects
474     the auth module expects connections not to be linked anywhere and owns
475     the client struct until it's done.
476 * listener.c (release_listener): fix inverted assert client exit bug
477 * ircd_chattr.c: fix signed/unsigned warnings with Sun Workshop (+w)
478 * ircd_chattr.c, ircd_chattr.h: new files for character attributes and case
479     translation, hopefully they will be a bit easier to maintain.
480 * s_conf.c (rehash): fixed logic bug that caused and infinite loop, 
481     fix port update bug (needed to call mark_listeners_closing before initconf)
482 * *.c, runmalloc.[ch]: change the way the server deals with out of memory
483     conditions. On server startup a no-memory handler is installed which
484     calls server_restart if an allocation fails. Allocations are now checked
485     in the memory allocation functions. Added asserts after every allocation
486     to verify for debug.
487 * *.c *.h: move authentication and dns to authentication module rename a few
488     globals, const correctness fixes, add ircd_string code, rework network
489     code, use dns callbacks, removed a lot of redundant code 
490 * s_bsd.c: finish this stage of net code work
491 * *.c, *.h: rewrite select and poll code, add listener.[ch] net.code overhaul
492     in progress, prepare for adding auth module
493 * s_bsd.h, struct.h: moved client struct macros back into struct.h for now,
494     the last place they belonged was in the network code... feh
495 * ircd.c (open_debugfile): removed client for debug file
496 * ircd_string.h, ircd_string.c: new files for string processing, add
497     ircd_strncpy function
498 * *.c, *.h: rename ircstp to ServerStats
499 * *.c, *.h: rename now to CurrentTime
500 * listener.h, listener.c: new files for listener ports
501 * include/ircd_defs.h: new file for global definitions (HOSTLEN, USERLEN)
502 * struct.h: add local_flag to client struct, to make local/remote detection simpler
503 * s_bsd.c (read_message): split out separate versions for select and poll
504 * s_bsd.h, various source files: remove the rest of the unix domain socket 
505     support this removes a number of comparisons that were unneeded in 
506     code that should run reasonably fast.
507 * os_*.c, res.c, ircd_osdep.h: add os_recvfrom_nonb for resolver
508 * os_*.c, s_bsd.c, s_auth.c, ircd_osdep.h: add os_get_sockname, os_get_peername
509 * bsd.h, bsd.c: merge into s_bsd
510 * ircd_osdep.h, os_generic.c, os_linux.c, ircd_osdep.h: move os variable stuff
511     to separate compilation units, os generic contains the original code
512     (start here). 
513 * s_bsd.c, send.c, struct.h: remove pyr (pyramid) finally
514 * res.h, res.c, s_misc.c: cleanup headers/dependencies in res.h
515 * match.h: include sys/types.h before netinet/in.h, broken BSD system headers
516 * ircd/Makefile.in: remove CFLAGS from link line, use LDFLAGS instead
517 * ircd.c: add missing include for sys/socket.h
518 * common.h (strChattr, strCasediff): remove pointless non-portable inline
519     decls. The functions are complex enough that inlining just bloats the code
520 * ircd_xopen.h, ircd_xopen.c, s_user.c, s_serv.c: porting layer for crypt and
521     other xopen library calls, moved crypt to ircd_xopen.
522 * s_uping.c, s_uping.h, s_bsd.c, s_misc.c, s_bsd.h, ircd.c, s_debug.c:
523     Removed s_ping. There are much better tools available that actually work
524     correctly. The s_ping code was a waste of resources, and has historically
525     given incorrect results (it never worked correctly).
526 * ircd/s_bsd.c, res.c, s_user.c, s_serv.c: little fixups to allow code to
527     build on Solaris, still have some warnings there.
528     TODO: wrap crypt and things that depend on _XOPEN_SOURCE in their own
529     file so it doesn't bother the network code.
530 * ircd/s_bsd.c: cast option arg to const char* for setsockopt (solaris)
531 * ircd/Makefile.in: removed hard coded dependencies for hash.o chkconfig.o,
532     let the automatic stuff take care of it, it does it better than humans.
533 * *.c *.h: remove register keywords, attribute macro junk, cleanup
534     dependencies, rename MIN and MAX to IRCD_MIN IRCD_MAX all headers in
535     C files are sorted, removed as many duplicate includes as I could find
536     (dozens) general cleanups. Mutter the correct runes to get the protoype
537     for crypt included where it was needed.
538 * *.c *.h: dependency cleanups up to querycmds.c
539 * ircd.c, bsd.c, s_bsd.c: move signal handling code to ircd_signal.c
540 * ircd_signal.c, ircd_signal.h: new files, use only POSIX signals remove
541     support for unreliable signals.
542 * *.h *.c: include guards, dependency cleanups
543 * Configure.in, setup-sh.in: include guards, config.h includes setup.h
544     add config dir to include path
545 * sys.h: include guards, remove hard coded path to config.h
546 * s_user.c (hunt_server): fix logic bug
547 * numnicks.c (SetServerYXX): fix off by one error
548 * multiple files (n2k patch): add code to handle extended numerics