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