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