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