<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.darenet.org/skins/common/feed.css?12"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>IRCu ChangeLog.10 - Revision history</title>
		<link>http://wiki.darenet.org/index.php?title=IRCu_ChangeLog.10&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Wed, 27 May 2026 03:52:41 GMT</lastBuildDate>
		<item>
			<title>Secretagent:&amp;#32;New page: &lt;pre&gt;# # ChangeLog for ircu2.10.10 # # $Id: ChangeLog.10 440 2002-12-29 02:55:36Z pierreg0 $ # # Insert new changes at beginning of the change list. # -------------------------- Released 2...</title>
			<link>http://wiki.darenet.org/index.php?title=IRCu_ChangeLog.10&amp;diff=2257&amp;oldid=prev</link>
			<description>&lt;p&gt;New page: &amp;lt;pre&amp;gt;# # ChangeLog for ircu2.10.10 # # $Id: ChangeLog.10 440 2002-12-29 02:55:36Z pierreg0 $ # # Insert new changes at beginning of the change list. # -------------------------- Released 2...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;#&lt;br /&gt;
# ChangeLog for ircu2.10.10&lt;br /&gt;
#&lt;br /&gt;
# $Id: ChangeLog.10 440 2002-12-29 02:55:36Z pierreg0 $&lt;br /&gt;
#&lt;br /&gt;
# Insert new changes at beginning of the change list.&lt;br /&gt;
#&lt;br /&gt;
-------------------------- Released 2.10.10.pl15&lt;br /&gt;
* Fiddle with /KILL and various exits to make the user experience uniform,&lt;br /&gt;
  no matter who's doing the killing or where.  Previously, differences in&lt;br /&gt;
  QUITs and in the messages sent to the killed client could help make a&lt;br /&gt;
  partial map of the network; now that these messages are all uniform, there&lt;br /&gt;
  is no way to tell. -Kev&lt;br /&gt;
* Split ISUPPORT numeric into two numerics, so as not to exceed the 15&lt;br /&gt;
  parameter limit imposed by the RFC -Kev&lt;br /&gt;
* Turn on HEAD_IN_SAND_REMOTE...oops -Kev&lt;br /&gt;
* Send prefixed error messages to other servers, so ERROR doesn't get&lt;br /&gt;
  interpreted as a prefix -Kev&lt;br /&gt;
* Reverse sense of HEAD_IN_SAND_WHO_HOPCOUNT to do what was intended; use a&lt;br /&gt;
  hopcount of 0 if user is using /who on him/herself -Kev&lt;br /&gt;
* Allow a user to see his/her own idle time without having to do&lt;br /&gt;
  /whois &amp;lt;nick&amp;gt; &amp;lt;nick&amp;gt;; correct spelling of HEAD_IN_SAND_IDLETIME to&lt;br /&gt;
  HEAD_IN_SAND_WHOIS_IDLETIME -Kev&lt;br /&gt;
* Fix a missing ')' in the idle time stuff -Kev&lt;br /&gt;
* Include ircd_policy.h in whocmds.c -Kev&lt;br /&gt;
* Fixed bug in idle time, thanks hektik -- Isomer&lt;br /&gt;
* Update 005 to be compliant with other networks -- Isomer&lt;br /&gt;
* Hide hop count -- Isomer&lt;br /&gt;
* Hide idletime unless you explicitly ask for it -- Isomer&lt;br /&gt;
* /wallops and /wallusers would dump core because of the previous change--my&lt;br /&gt;
  bad.  Now only include user@host when sptr is a client. -Kev&lt;br /&gt;
* /wallops and /wallusers would leave out the user@host--noticed because&lt;br /&gt;
  pl14 broke my script.  Fixed. -Kev&lt;br /&gt;
* Fix several compile warnings, including the one in table_gen.c -Kev&lt;br /&gt;
* Fix a bug in m_silence.c that rendered it uncompilable -Kev&lt;br /&gt;
* Hopefully make mode clears during bursts appear to originate from local&lt;br /&gt;
  server -Kev&lt;br /&gt;
* Fix several things to send server&amp;lt;-&amp;gt;server protocol messages with numeric&lt;br /&gt;
  origins -Kev&lt;br /&gt;
* Rework directed notices and mass-messages to use numerics and tokens&lt;br /&gt;
  as appropriate; the latter required the modifications to&lt;br /&gt;
  sendto_match_butone() -Kev&lt;br /&gt;
* Redefined how sendto_match_butone() works, since it's only used with&lt;br /&gt;
  PRIVMSG or NOTICE -Kev&lt;br /&gt;
* Bumped patchlevel to pl15(development) -Kev&lt;br /&gt;
* Corrected reverse-sense of HEAD_IN_SAND_REMOTE test in m_whois() -Kev&lt;br /&gt;
* Clean up logic in m_whowas(), corrected numeric reply -Kev&lt;br /&gt;
* Finally fixed /whois to tell you what your own server is -Kev&lt;br /&gt;
* Clean up logic in add_banid() with some well-placed DupString()'s -Kev&lt;br /&gt;
* Hide which server performed a nick collision kill -- Isomer&lt;br /&gt;
* To allow for remote whois not giving away the remote server, all remote &lt;br /&gt;
  numerics to clients are remapped to come from the local server :/ -- Isomer&lt;br /&gt;
* All remote queries are disabled for users, except /whois -- Isomer&lt;br /&gt;
  (/whois now uses the second parameter for which server to use, ie:&lt;br /&gt;
   /whois &amp;lt;ignored&amp;gt; &amp;lt;nick&amp;gt; will query &amp;lt;nick&amp;gt;'s server.)&lt;br /&gt;
* Fixed /who showing server name -- Isomer&lt;br /&gt;
* Fixed burst showing linking server -- Isomer&lt;br /&gt;
* Fixed burst bans showing linked server -- Isomer&lt;br /&gt;
* Fixed /whowas showing server name -- Isomer&lt;br /&gt;
-------------------------- Released 2.10.10.pl14 (You got any issues with that punk?)&lt;br /&gt;
* Changed (then fixed) /LINKS to output an empty links list -- Isomer&lt;br /&gt;
* Make netsplit server notice say the right thing&lt;br /&gt;
* Final fix for HEAD_IN_SAND_WHOIS_SERVERNAME&lt;br /&gt;
* Fix a bug with implementation of HEAD_IN_SAND_NETSPLIT&lt;br /&gt;
* Permit users to find out what server they're on, since they already&lt;br /&gt;
  know -- Kev&lt;br /&gt;
* Added HEAD_IN_SAND_WHO_SERVERNAME to cover final source of server&lt;br /&gt;
  names -- Kev&lt;br /&gt;
* Fixed wallops, wallusers now sends wallops to local clients,&lt;br /&gt;
  wallusers to servers.&lt;br /&gt;
* Added host to /kill messages -- Isomer&lt;br /&gt;
* Fixed whois (opers can see server names) -- Isomer&lt;br /&gt;
* Implement walluser -- Bleep&lt;br /&gt;
* stats fixed -- Isomer&lt;br /&gt;
* trace disabled from non opers -- Isomer&lt;br /&gt;
* server name removed from whois (but not /who, shrug!) -- Isomer&lt;br /&gt;
* netsplits are now represented with &amp;quot;*.net *.split&amp;quot; -- Isomer&lt;br /&gt;
* Done /links -- Isomer&lt;br /&gt;
* Modifications to map as suggested by nighty -- Isomer&lt;br /&gt;
* Wallops is the only code that uses sendto_ops_butone now, this&lt;br /&gt;
  isolates wallops entirely. No server notices sent by wallops.&lt;br /&gt;
* HEAD_IN_SAND_SNOTICES done -- Bleep&lt;br /&gt;
* HEAD_IN_SAND_WALLOPS done -- Bleep&lt;br /&gt;
* HEAD_IN_SAND_DESYNC done -- Bleep&lt;br /&gt;
* HEAD_IN_SAND_MAP done -- Isomer&lt;br /&gt;
* According to CFV-165, buring our head in the sand to try and&lt;br /&gt;
* hide from DoS - First pass -- Isomer&lt;br /&gt;
* As requested by hop: hidden keys are shown as &amp;quot;*&amp;quot; not &amp;quot;&amp;quot; -- Isomer&lt;br /&gt;
* As requested by Buff: allow admins to *disable* below behavour -- Isomer&lt;br /&gt;
* As requested by Adriel, compile time option to disable mo_wallops &lt;br /&gt;
 -- Isomer&lt;br /&gt;
-------------------------- Released 2.10.10.pl13&lt;br /&gt;
* Don't allow two copies of the server to start -- Isomer/Kev&lt;br /&gt;
-------------------------- Released 2.10.10.pl12&lt;br /&gt;
* Release 2.10.10.pl12 before Mr_RIP threatens physical violence -- Isomer&lt;br /&gt;
* Don't 'hubhide' nick's in /trace (oops!) -- Isomer&lt;br /&gt;
* Allow K:line by realname, updated client connection logging -- Gte-&lt;br /&gt;
* ircd/m_join.c: use ERR_BANNEDFROMCHAN instead of ERR_BADCHANNAME -- Kev&lt;br /&gt;
--------------------------- Released 2.10.10.pl11.(release)&lt;br /&gt;
* Fixed G-lined (reason), thanks to dfx -- Isomer&lt;br /&gt;
* Added reason to the &amp;quot;G-lined (reason)&amp;quot; quit messages. -- Isomer&lt;br /&gt;
* Removed 'for nick[1.2.3.4]' from quit messages, they're redundant&lt;br /&gt;
  and make hub hiding more reliable --Isomer&lt;br /&gt;
* ircd/s_user.c (hunt_server): add 'No such server' message back &lt;br /&gt;
  --Isomer&lt;br /&gt;
* ircd/s_bsd.c: remove ALWAYSFLUSH - the problem wasn't ircu's fault &lt;br /&gt;
  -- Isomer&lt;br /&gt;
* ircd/m_names.c (m_names): don't add a space if the user's a&lt;br /&gt;
  zombie; fixes an overrun where we generate a huge number of spaces&lt;br /&gt;
  in the names reply without length-checking them properly -- Kev&lt;br /&gt;
* added 'ALWAYSFLUSH', if you thought the furgeson flusher was bad...&lt;br /&gt;
  --Isomer&lt;br /&gt;
* Fixed /USERHOST again.  Horribly embarrased.  Thanks again Liandrin &lt;br /&gt;
  --Isomer&lt;br /&gt;
* Added extra field to /stats Y showing how many people are in that class.&lt;br /&gt;
  Information was previously available via /trace, however tended to flood&lt;br /&gt;
  you off if you weren't on a good connection.  Requested by Mr_RIP&lt;br /&gt;
  -- Isomer&lt;br /&gt;
* Fixed 'BADCHAN' resetting itself to 'Y', reported by Gator --Isomer&lt;br /&gt;
--------------------------- Released 2.10.10.pl10&lt;br /&gt;
* Released 2.10.10.pl10&lt;br /&gt;
* Backported /names optimisation from 2.10.11.&lt;br /&gt;
  '/names 0' now returns verbose listing, '/names' simply returns&lt;br /&gt;
  ENDOFNAMES. Disallow harmfull /names usage. --Gte&lt;br /&gt;
* Fixed ERR_NOSUCHNICK bug in userhost, thanks to Liandrin --Isomer&lt;br /&gt;
* Conceal more bugs in IPcheck --Isomer&lt;br /&gt;
* Add 'POST' as a unregistered command to disconnect people abusing web&lt;br /&gt;
  proxies --Isomer.&lt;br /&gt;
* Conceal bugs in IPcheck --Isomer&lt;br /&gt;
* Fix for changing the wrong define --Isomer&lt;br /&gt;
* Fix for the easter buggy. --Isomer&lt;br /&gt;
* Fix for rpong --Run&lt;br /&gt;
* Fix for other IPcheck bug, thanks BLMet. --Bleep&lt;br /&gt;
* Fix for IPcheck bug, rewrite IPcheck from scratch (mostly),&lt;br /&gt;
  add changes for new code to s_user.c, ircd.c --Bleep&lt;br /&gt;
* Shorten connection timeout for auth queries to 60 seconds&lt;br /&gt;
  If connection is from localhost use the server alias for the&lt;br /&gt;
  client host. --Bleep&lt;br /&gt;
* Fix for ident bug --Isomer&lt;br /&gt;
* Fix for rping/rpong --Gte&lt;br /&gt;
* Add m_pong to parser handler --Bleep&lt;br /&gt;
* Fix for EXTENDED_NUMERICS bug doh!!! --Bleep&lt;br /&gt;
* Fix for Max Undernet Server bug --Bleep&lt;br /&gt;
* Fix for PRIVMSG&amp;lt;-&amp;gt;NOTICE translation from hubs --Bleep&lt;br /&gt;
* Fix for Bogus protocol strings for P9 servers --Bleep&lt;br /&gt;
* Hookup UPING code again, cleanups --Bleep&lt;br /&gt;
* Convert numerics back to mask and shift extended numerics&lt;br /&gt;
  follow same mechanism --Bleep&lt;br /&gt;
* Fixed bogus errno return on Solaris --Bleep&lt;br /&gt;
* Fixed core on RPING bug, tokenized RPING --Bleep&lt;br /&gt;
* Remove add_local_domain entirely, unused --Bleep&lt;br /&gt;
* Merge u2_10_10_beta06 create branch u2_10_10_beta07 --Bleep&lt;br /&gt;
* Remove size_t from socket calls, audit usage of size_t&lt;br /&gt;
  values. --Bleep&lt;br /&gt;
* Fix for OSF1, RES_NOALIASES not defined there. --Bleep&lt;br /&gt;
* Don't bother doing hostname lookup or setting me.sockhost&lt;br /&gt;
  since we never want to display it there is really no reason&lt;br /&gt;
  to have the info. --Bleep&lt;br /&gt;
* Bugfix broken N:line check in chkconf --Maniac&lt;br /&gt;
* Bugfix, fix clients occasionally getting stuck in IPcheck&lt;br /&gt;
  code. Add note to members in client struct that aren't used&lt;br /&gt;
  for any remote client code, didn't want to actually move them&lt;br /&gt;
  this close to release (paranoia) --Bleep&lt;br /&gt;
* A few little cleanups in check_pings, removed yet another&lt;br /&gt;
  address display. --Bleep&lt;br /&gt;
* Bugfix, autoconnects displaying server IP address to opers.&lt;br /&gt;
  --Bleep&lt;br /&gt;
* Remove names from /stats p, since its always the server&lt;br /&gt;
  name from the M:line anyhow, (redundant information)&lt;br /&gt;
  --Bleep&lt;br /&gt;
* Unborked throttling. --Bleep&lt;br /&gt;
* Fix two stupid bugs, related to IP mismatch kills. --Bleep&lt;br /&gt;
* Clean up configuration, make it a bit easier for admins to&lt;br /&gt;
  turn off asserts and heap checking code. Moved host name dns&lt;br /&gt;
  query for listener virtual host ports to dead code and use&lt;br /&gt;
  me.name for the listener name (no sense in looking up the name&lt;br /&gt;
  if we don't want to display it). Change direct bump of unknowns&lt;br /&gt;
  in s_bsd.c to Count_newunknowns(UserStats) for consistency.&lt;br /&gt;
  --Bleep&lt;br /&gt;
* Added option to kill any connecting client with a forward and&lt;br /&gt;
  reverse DNS mismatch. Fixed bug in s_auth that that caused&lt;br /&gt;
  incorrect counts for unknown clients. Replaced missing server&lt;br /&gt;
  notice for SNO_IPMISMATCH. --Bleep&lt;br /&gt;
* Added a few more little name tweaks, no sense in looking up&lt;br /&gt;
  the hostname in the conf if no one knows it. --Bleep&lt;br /&gt;
* Moved to beta archive, bumped patchlevel, fixed message for&lt;br /&gt;
  lost C:line in s_conf.c (I don't think I've ever seen this happen)&lt;br /&gt;
  --Bleep&lt;br /&gt;
* Finished host hiding changes, it should not be possible for any&lt;br /&gt;
  online user to discover the real hostname or IP address of any&lt;br /&gt;
  connected or unconnected server listed in the configuration. This&lt;br /&gt;
  applies to opers and regular users. The name in the M:line is the&lt;br /&gt;
  name used for connecting and all informational messages. --Bleep&lt;br /&gt;
* Removed code in dbuf.c that flushes the dbufs if the server runs out&lt;br /&gt;
  it looks like a fully loaded server may not be able to handle a net&lt;br /&gt;
  break without shedding a few clients. --Bleep&lt;br /&gt;
* Finish IP address cleanup, alpha should be clean for not displaying&lt;br /&gt;
  server hosts or IP addresses to users now. This needs to be verified.&lt;br /&gt;
  Changed version to u2.10.10 per Isomers suggestion. --Bleep&lt;br /&gt;
* Remove server IP address from info line for connecting servers.  &lt;br /&gt;
  This almost completes the IP address hiding changes for alpha, there&lt;br /&gt;
  are still a few stats commands available to users that will show the&lt;br /&gt;
  server addresses, but they can be easily disabled or only show '*'s&lt;br /&gt;
  to non-opers.  --Bleep&lt;br /&gt;
* Fix possible (but not likely) memory leak in debug allocator, couldn't&lt;br /&gt;
  find the &amp;quot;meg a minute&amp;quot; problem, using the debug allocator on the&lt;br /&gt;
  production network with more than 1000 clients on a server may cause&lt;br /&gt;
  problems if you don't have a lot of memory. (This does not seem to&lt;br /&gt;
  be a problem with non-debug builds) --Bleep&lt;br /&gt;
* Captialisation fixes, just to keep certain ppl quiet. --Isomer&lt;br /&gt;
* Removed +s channels from /list.  They were shown sometimes, but not&lt;br /&gt;
  others, and the information that was shown about them was inconsistant.&lt;br /&gt;
  list is not an effective way to gain information anyway. Reformatted&lt;br /&gt;
  and touched up readme.who as well.  --Isomer&lt;br /&gt;
* Added MAP to ISUPPORT, added doc/features.txt --Isomer&lt;br /&gt;
* Added suggestions made by scripters. more info for ISUPPORT, and&lt;br /&gt;
  added stuff to 'TODO' --Isomer&lt;br /&gt;
* More TODO items 'done'.  P:'s now ignore '*'s.  ping shouldn't do funky&lt;br /&gt;
  stuff with mirc anymore, needs discussion --Isomer&lt;br /&gt;
* Typo fixed. Now I'm annoyed.  --Isomer&lt;br /&gt;
* Right, Makefile's gonna work now or I'm going to get REALLY annoyed at it.&lt;br /&gt;
  --Isomer&lt;br /&gt;
* TODO, m_ping, ircd/Makefile.in: Added note to TODO, added info to&lt;br /&gt;
  m_ping, and fixed Makefile bug using bsdmake. --Isomer&lt;br /&gt;
* s_bsd.c, listener.c, s_user.c, s_serv.c, s_bsd.h:&lt;br /&gt;
  Set receive and send buffers in correct order to enable flow&lt;br /&gt;
  control for clients and support fat pipes better for servers.&lt;br /&gt;
  Finally got it right :)&lt;br /&gt;
  See Stevens &amp;quot;Unix Network Programming&amp;quot; v1 p 191-193&lt;br /&gt;
  --Bleep&lt;br /&gt;
* ircd.c (main): added idiot checking to make sure MAXCONNECTIONS&lt;br /&gt;
  is sane. --Bleep&lt;br /&gt;
* send.c: Don't let negative fd's break stuff, audit sentalong&lt;br /&gt;
  usage for sillyness. --Bleep&lt;br /&gt;
* send.c (sendto_common_channels): bug fix, code assumed client&lt;br /&gt;
  local, file descriptor is only in local client struct&lt;br /&gt;
  --Bleep&lt;br /&gt;
* table_gen.c, channel.c: make FIXME changes, removed&lt;br /&gt;
  FIXME code from table_gen, readd FIXME code to channel.c,&lt;br /&gt;
  I hope I got this right. --Bleep&lt;br /&gt;
* Makefile.in: Add purify def, fix so CFLAGS don't error&lt;br /&gt;
  off when using Solaris compiler --Bleep&lt;br /&gt;
* fda.c (fda_free): fix compile error on Solaris --Bleep&lt;br /&gt;
* configure.in: add SunOS case to detect Solaris --Bleep&lt;br /&gt;
* os_solaris.c (os_send_nonb): fix solaris compile error --Bleep&lt;br /&gt;
* exaconf.2: add file from conf design to docs directory to&lt;br /&gt;
  have it available for new conf parser development --Bleep&lt;br /&gt;
* fda.c (fda_free): fix memory leak, doh!!! --Bleep&lt;br /&gt;
* hash.c (addNickJupes): fix buffer overrun --Bleep&lt;br /&gt;
* s_bsd.c (read_message(poll)): fix uninitialized memory read&lt;br /&gt;
  bogosity in poll macros. --Bleep&lt;br /&gt;
* channel.c (send_user_modes): change to send XXX:ov instead&lt;br /&gt;
  of XXX:o:v doesn't send XXX: if no modes set. --Bleep&lt;br /&gt;
* s_bsd.c (connect_server): bugfix for connect/rehash/connect&lt;br /&gt;
  multiple outstanding dns query core. --Bleep&lt;br /&gt;
* channel.c (send_user_modes): bugfix for burst not sending modes&lt;br /&gt;
  when burst line is created. --Gte&lt;br /&gt;
* m_gline.c: change NumServ(cptr) to NumServ(sptr) found by Gte&lt;br /&gt;
  --Bleep&lt;br /&gt;
* config-sh.in: add WildThangs BADCHAN config fix --Bleep&lt;br /&gt;
* config-sh.in: add Runs restart bugfix --Bleep&lt;br /&gt;
* Makefile.in: make sure version.c gets regenerated when checksums&lt;br /&gt;
  change --Bleep&lt;br /&gt;
* Makefile.in: remove hash.c/crypt/sums idiocy, all of the ridiculous&lt;br /&gt;
  anti-hack stuff is already done in version.c anyhow.&lt;br /&gt;
  &amp;quot;Shhh..., don't tell the admins ( .)( .) you're being watched&amp;quot;&lt;br /&gt;
  --Bleep&lt;br /&gt;
* hash.c (m_hash): fix count bugs --Bleep&lt;br /&gt;
* m_squit.c (mo_squit): fix off by one, /quote SQUIT bug --Bleep&lt;br /&gt;
* ircd_relay.c: oops, changed the wrong one.  Fixed previous fix. --Isomer&lt;br /&gt;
* Makefile.in, ircd_relay.c: Fixed 'make depend', added dependancies, fixed&lt;br /&gt;
  bug where server would core on sending a server notice --Isomer&lt;br /&gt;
* m_kick.c (ms_kick): fix core on kick message coming from&lt;br /&gt;
  server --Bleep&lt;br /&gt;
* config.in: remove CRYPT_LINK_PASSWORD option --Bleep&lt;br /&gt;
* doc/readme.www: Applied Runs' doc patch --Bleep&lt;br /&gt;
* client.h: Add member to client struct to try to aggravate the&lt;br /&gt;
  bug found by Jesus --Bleep&lt;br /&gt;
* client.h: Remove IsListening macros and flags, add FLAGS_UPUNG&lt;br /&gt;
  and IsUPing/GetUPing/SetUPing macros --Bleep&lt;br /&gt;
* m_silence.c, m_create.c: check for IsServer(sptr) don't&lt;br /&gt;
  allow X SILENCE X +*@*.com or X C #blah 947477407 core the&lt;br /&gt;
  server. --Bleep&lt;br /&gt;
* os_*.c, res.c: clean interface for os_recvfrom_nonb --Bleep&lt;br /&gt;
* uping.c, uping.h: new files for UDP pings, these aren't hooked up yet, or&lt;br /&gt;
  finished or tested.&lt;br /&gt;
  --Bleep&lt;br /&gt;
* channel.c: find_member_link(): Fail fast for Servers, prevents core when&lt;br /&gt;
  servers set a channel mode. --Isomer&lt;br /&gt;
* channel.c, channel.h, various.c: Changed find_member_link() to take&lt;br /&gt;
  a chptr instead of the first member, and special case'd +k users&lt;br /&gt;
  (see comment in code for more details) --Isomer&lt;br /&gt;
* ircd/Makefile.in: Changed gnu specific $^ for $&amp;lt; in table_gen&lt;br /&gt;
  rules --Bleep&lt;br /&gt;
* INSTALL: Explained about CVS --Isomer&lt;br /&gt;
* example.conf: Point to coder-com@ for help configuring the server. --Isomer&lt;br /&gt;
* INSTALL: Make things a bit more plain.  --Isomer&lt;br /&gt;
* s_bsd.c (read_message (poll)): removed local_cptr array using&lt;br /&gt;
  this temp made possible a bug where if a client lower in the list&lt;br /&gt;
  managed to exit a client higher in the list, a dangling reference&lt;br /&gt;
  to the already exited client would be left in the local_cptr array.&lt;br /&gt;
  Found by Quantum by loading 100's of clones with the same nick.&lt;br /&gt;
  --Bleep&lt;br /&gt;
* INSTALL: Added instructions for -lcrypt FAQ --Isomer&lt;br /&gt;
* INSTALL: Added instructions for -lresolv FAQ --Isomer&lt;br /&gt;
* INSTALL: Added instructions for making ./configure executable --Isomer&lt;br /&gt;
* numeric.h: Merged in some more numerics that other ircds user --Isomer&lt;br /&gt;
* IPcheck.c: Fix gramatical error to keep pedants happy. --Isomer&lt;br /&gt;
* IPcheck.c: Allow -DNOTHROTTLE for debugging purposes.  --Isomer&lt;br /&gt;
* m_stats.c: make stats c available to opers only, TEMP_HACK --Bleep&lt;br /&gt;
* IPcheck.c: Fixed outdated comment.  Thanks Quantum --Isomer&lt;br /&gt;
* ircd_reply.c: Fix the fix, silly typo.  thanks Bleep --Isomer&lt;br /&gt;
* ircd_reply.c: added check for people without nicks.  --Isomer&lt;br /&gt;
* doc/Authors, ircd/version.c.SH: updated /info and maintainer &lt;br /&gt;
  lists. --Isomer&lt;br /&gt;
* channel.h, channel.c, m_join.c, m_mode.c: add David M's&lt;br /&gt;
  lchanmode patch update --Bleep&lt;br /&gt;
* s_auth.c: fix ident bug, comment code for rule. --Bleep&lt;br /&gt;
* m_invite.c (m_invite): Fix syntax error, missing ')'. -- Isomer.&lt;br /&gt;
* m_invite.c (m_invite): tokenize invites, change from accidental&lt;br /&gt;
  broadcast to directed message (bug fix). --Bleep&lt;br /&gt;
* m_time.c (m_time): send tokenized time messages --Bleep&lt;br /&gt;
* s_user.c (set_user_mode): Send wallops to everyone by default&lt;br /&gt;
  allow compile option WALLOPS_OPER_ONLY for networks that want&lt;br /&gt;
  to disable wallops for users. --Bleep&lt;br /&gt;
* s_misc.c (exit_one_client): tokenize client quit message to other servers.&lt;br /&gt;
  --Gte&lt;br /&gt;
* m_kick.c: you would have thought I'd fix all of them the first time, but&lt;br /&gt;
  no... -- Isomer&lt;br /&gt;
* m_kick.c: Fixed missing space after TOK_KICK -- Isomer&lt;br /&gt;
* m_burst.c: Fixed netrider kick bugs -- Isomer&lt;br /&gt;
* s_user.c: Bug fix --Bleep&lt;br /&gt;
* s_user.c: only send wallops to opers --Bleep&lt;br /&gt;
* s_user.c: enforced undernet policy. -- Isomer&lt;br /&gt;
* s_user.c: replace user_modes with struct UserMode array&lt;br /&gt;
  change code to use new struct. --Bleep&lt;br /&gt;
* s_user.c (set_user_mode): clean up switch statement --Bleep&lt;br /&gt;
* channel.c (set_mode): fixed -k foo bug, extra == 0 typo in&lt;br /&gt;
  conditional. --Bleep&lt;br /&gt;
* dbuf.c (dbuf_alloc): fixed count bug, we _have_ to count it in&lt;br /&gt;
  the branches. --Bleep&lt;br /&gt;
* dbuf.c, send.c, s_bsd.c, send.h: bahh finally did it right,&lt;br /&gt;
  if a dbuf allocation fails, attempt to flush all send buffers except&lt;br /&gt;
  for the one we are trying to build (we're twiddling with the list etc..)&lt;br /&gt;
  if the allocation fails a second time, _then_ bail. --Bleep&lt;br /&gt;
* s_bsd.c, send.c: if dbuf_put fails for send or receive buffers,&lt;br /&gt;
  call flush connections to free up some buffers (safe here). --Bleep&lt;br /&gt;
* dbuf.c (dbuf_put): back out previous change, afaict it would fail&lt;br /&gt;
  spectacularly --Bleep&lt;br /&gt;
* dbuf.c (dbuf_put): call flush_connections(0) if we can't allocate&lt;br /&gt;
  a dbuf the first time, this may prevent the server from dropping&lt;br /&gt;
  connections during netbursts. --Bleep&lt;br /&gt;
* m_privmsg.c: fix IDLE_ON_MSG fix -- Isomer&lt;br /&gt;
* m_privmsg.c, parse.c: fix IDLE_ON_MSG bug --Bleep&lt;br /&gt;
* m_ison.c (m_ison): Temp hack to fix missing null terminator. --Bleep&lt;br /&gt;
* m_nick.c (m_nick): fix null nick reply bug --Bleep&lt;br /&gt;
* ircd_string.c, match.c: fix a couple possible issues with&lt;br /&gt;
  the character attribute changes --Bleep&lt;br /&gt;
* s_auth.c, ircd.c: turn off connection status messages for&lt;br /&gt;
  connections to server ports. --Bleep&lt;br /&gt;
* ircd.c, s_conf.c, m_server.c, ircd.h, s_conf.h:&lt;br /&gt;
  removed portnum and server_port global variables, server port&lt;br /&gt;
  in M:lines is ignored, server ports now need to be defined in&lt;br /&gt;
  the P:lines. Add SERVER_PORT config option to allow:&lt;br /&gt;
  '/connect server.net.dom' without specifying the port. --Bleep&lt;br /&gt;
* config-sh.in: change PORTNUM to SERVER_PORT now used for&lt;br /&gt;
  default server port for outgoing connections in m_connect.&lt;br /&gt;
  --Bleep&lt;br /&gt;
* example.conf: document changes to M:line for server port --Bleep&lt;br /&gt;
* ircd_chattr.h, ircd_string.h, ircd_string.c, table_gen.c:&lt;br /&gt;
  put Nemesi's table generation code and macros back in, the&lt;br /&gt;
  tables are now automagically generated whenever the table_gen.c&lt;br /&gt;
  file is modified, use a slightly different mechanism to get the&lt;br /&gt;
  tables in the executable. Add reference data file to test dir&lt;br /&gt;
  for character attributes. --Bleep&lt;br /&gt;
* s_auth.c (check_ident_reply): add function that implements&lt;br /&gt;
  auth reply undernet rules checking. --Bleep&lt;br /&gt;
* s_misc.c (date): added Runs Y2K patch --Bleep&lt;br /&gt;
* m_privmsg.c: work on server handlers, hookup new code to parser,&lt;br /&gt;
  test, fixed a couple bugs, fixed username bug in server NICK&lt;br /&gt;
  processing --Bleep&lt;br /&gt;
* ircd_chattr.c, m_privmsg.c: Work on privmsg code a bit more,&lt;br /&gt;
  commit for review, still a bit more to do --Bleep&lt;br /&gt;
* os_bsd.c, configure.in: add os dependency file for bsd&lt;br /&gt;
  --Bleep&lt;br /&gt;
* m_privmsg.c, ircd_string.c: little cleanups for privmsg&lt;br /&gt;
  work on prototype handler for new parser. --Bleep&lt;br /&gt;
* m_connect.c, s_conf.c: clean up /connect handling code&lt;br /&gt;
  --Bleep&lt;br /&gt;
* m_away.c, m_admin.c, m_close.c, m_connect.c:&lt;br /&gt;
  start cleaning up handlers --Bleep&lt;br /&gt;
* whocmds.c, whowas.c, *.c: split out handlers from whocmds.c&lt;br /&gt;
  and whowas.c --Bleep&lt;br /&gt;
* s_serv.c, m_*.c: split out handlers from s_serv.c&lt;br /&gt;
  --Bleep&lt;br /&gt;
* querycmds.c, m_*.c: split out handlers from querycmds.c&lt;br /&gt;
  --Bleep&lt;br /&gt;
* opercmds.c, m_stats.c, m_connect.c, parse.c, handlers.h, *.c&lt;br /&gt;
  add new command handlers --Bleep&lt;br /&gt;
* channel.c, m_names.c: new file for names handler --Bleep&lt;br /&gt;
* channel.c, m_list.c: new file for list handler --Bleep&lt;br /&gt;
* channel.c, m_topic.c: new file for topic handler --Bleep&lt;br /&gt;
* channel.c, m_burst.c: new file for burst handler --Bleep&lt;br /&gt;
* channel.c, m_create.c: new file for create handler --Bleep&lt;br /&gt;
* channel.c, m_destroy.c: new file for destroy handler --Bleep&lt;br /&gt;
* channel.c, send.c, m_join.c: new file for join handler,&lt;br /&gt;
  const fixups for send.c --Bleep&lt;br /&gt;
* channel.c, m_mode.c: new file for mode command handler,&lt;br /&gt;
  clean up file scope buffer mess. --Bleep&lt;br /&gt;
* m_silence.c: split out SILENCE handler to a new file,&lt;br /&gt;
  cleanup --Bleep&lt;br /&gt;
* m_ison.c: split out ISON handler to a new file, cleanup --Bleep&lt;br /&gt;
* m_userip.c: split out to new file, change userhost and userip&lt;br /&gt;
  to use same algorithm with different formatting functions --Bleep&lt;br /&gt;
* m_userhost.c: split out to new file --Bleep&lt;br /&gt;
* send.c: add new function send_buffer, cleanup godemode ick a bit&lt;br /&gt;
  --Bleep&lt;br /&gt;
* m_wallchops.c: split out wallchops handler --Bleep&lt;br /&gt;
* m_cprivmsg.c: split out m_cprivmsg and m_cnotice.&lt;br /&gt;
* m_pass.c, s_user.c: split out m_pass, pass message handler&lt;br /&gt;
  --Bleep&lt;br /&gt;
* m_oper.c: split out m_oper.c from s_user.c, setup to use&lt;br /&gt;
  new parser. --Bleep&lt;br /&gt;
* m_pong.c, m_ping.c, parse.c, s_user.c, channel.c:&lt;br /&gt;
  Add new file for pong messages, convert ping and pong to use&lt;br /&gt;
  numerics. Test pings and pongs on testnet. Fix numeric&lt;br /&gt;
  nick bug in channel.c. --Bleep&lt;br /&gt;
* m_ping.c, s_serv.c, parse.c: new file for pings, fixed a &lt;br /&gt;
  minor bug in ping handling. --Bleep&lt;br /&gt;
* m_nick.c, m_kill.c: clean up nick code for servers, still needs work&lt;br /&gt;
  fix string formatting bug in m_kill --Bleep&lt;br /&gt;
* m_nick.c, s_user.c, ircd_chattr.c: add new file for NICK command,&lt;br /&gt;
  clean up local client registration for nicks. --Bleep&lt;br /&gt;
* m_away.c, s_user.c, parse.c: split out m_away handlers for client,&lt;br /&gt;
  add user_set_away function. --Bleep&lt;br /&gt;
* m_kill.c, ircd_reply: Rework handling of kill from server, add new error&lt;br /&gt;
  message formatter. --Bleep&lt;br /&gt;
* m_kill.c (mo_kill): Rework handling for kill from operator on server&lt;br /&gt;
  kill originated from --Bleep&lt;br /&gt;
* m_kill.c: new message handler file for kill --Bleep&lt;br /&gt;
* configure.in, ircd/Makefile.in: added automatic os checking to autoconf&lt;br /&gt;
  checked --Gte&lt;br /&gt;
* m_quit.c: new message handler file for quit --Bleep&lt;br /&gt;
* m_privmsg.c: new message handler file for privmsg --Bleep&lt;br /&gt;
* ircd_string.c, support.c, support.h, *.c: moved strtoken to ircd_string&lt;br /&gt;
  and renamed ircd_strtok --Bleep&lt;br /&gt;
* channel.c, s_user.c, s_debug.c, send.c, channel.h: finish membership code&lt;br /&gt;
  --Bleep&lt;br /&gt;
* channel.c, more cleanups of membership code and macros --Bleep&lt;br /&gt;
* channel.c, s_misc.c: more cleanup in channel link code, most likely&lt;br /&gt;
  still a bit broken yet, more to come. --Bleep&lt;br /&gt;
* querycmds.h (Count_remoteclientquits): fix minor bug --Bleep&lt;br /&gt;
* ircd.h, querycmds.h, struct.h, channel.c, list.c, map.c, opercmds.c,&lt;br /&gt;
  s_err.c, s_serv.c, s_user.c, s_misc.c: Add Isomers passivelag0-1.patch&lt;br /&gt;
  fixed minor bug in macros --Bleep&lt;br /&gt;
* channel.h, channel.c, s_user.c, s_debug.c, s_user.c:&lt;br /&gt;
  added Membership struct for channel associations, change user/channel&lt;br /&gt;
  lookups to use new struct. --Bleep&lt;br /&gt;
* channel.c, channel.h, s_user.c: cleanup channel and user code&lt;br /&gt;
  a bit, new function find_no_nickchange_channel --Bleep&lt;br /&gt;
* parse.c, m_defaults.c: added default handlers and hooked up new&lt;br /&gt;
  message handlers --Bleep&lt;br /&gt;
* *.c, struct.h: added Isomer's passivelag patch and, the second&lt;br /&gt;
  p10 patch --Bleep&lt;br /&gt;
* ircd_reply.[ch]: new files for commonly used replies --Bleep&lt;br /&gt;
* m_proto.[ch]: new file for protocol command support, needed for zip&lt;br /&gt;
  links --Bleep&lt;br /&gt;
* client.h, parse.c, msg.h: add code to support multiple message handlers&lt;br /&gt;
  depending on client status. --Bleep&lt;br /&gt;
* s_bsd.c, packet.c: code cleanup prep for zip links --Bleep&lt;br /&gt;
* channel.c, opercmds.c, ircd.c, s_serv.c, s_user.c, querycmds.c, &lt;br /&gt;
  whocmds.c, whowas.c: Add Isomers p10ify patch, tokenize server to&lt;br /&gt;
  server commands --Bleep&lt;br /&gt;
* s_user.c (m_nick): killed goto --Bleep&lt;br /&gt;
* client.h, *.c: moved client stuff to client.h --Bleep&lt;br /&gt;
* version.c.SH, patchlevel.h, .patches: change version string&lt;br /&gt;
  generation, patch level is now set in patchlevel.h by simply&lt;br /&gt;
  bumping the number in the PATCHLEVEL string. --Bleep&lt;br /&gt;
* ircd_alloc.c, channel.c: fixup warnings in release build (NDEBUG)&lt;br /&gt;
  --Bleep&lt;br /&gt;
* fda.h, ircd_alloc.h, fda.c, ircd_alloc.c, fda_t.c: new files,&lt;br /&gt;
  runmalloc was core dumping on squits and unable to handle or&lt;br /&gt;
  detect double frees, the memory debug code can be disabled by&lt;br /&gt;
  compiling with NDEBUG defined --Bleep&lt;br /&gt;
* channel.c (remove_user_from_channel): refactor function --Bleep&lt;br /&gt;
* channel.c (m_kick): refactor function a bit, put all checks at top&lt;br /&gt;
  move code out to new function (make_zombie) --Bleep&lt;br /&gt;
* s_bsd.c (completed_connection): fixed stupid&lt;br /&gt;
  &amp;quot;Write error to blah: Socket not connected&amp;quot; bug --Bleep&lt;br /&gt;
* struct.h, send.h, send.c, s_bsd.c, IPcheck.c, s_user.c, *:&lt;br /&gt;
  More socket code cleanup, move file descriptor to local part of&lt;br /&gt;
  client struct, use cptr-&amp;gt;error to handle the errno of any socket&lt;br /&gt;
  error, fix bug in IPcheck that ends up only disallowing every&lt;br /&gt;
  256th clone, Add more ipcheck forgiveness to s_user.c (needs work).&lt;br /&gt;
  Changed IPcheck_local_connect and IPcheck_connect_fail interfaces to&lt;br /&gt;
  use struct in_addrs instead of client structs to allow delaying the&lt;br /&gt;
  allocation of the client struct till after the check was done.&lt;br /&gt;
  Added can_send function to send.c (should be called before work is done&lt;br /&gt;
  but right now it's called just before trying to send (needs work))&lt;br /&gt;
* channel.c: Added Isomers netride2.patch, still needs a config option&lt;br /&gt;
  to turn it on (NO_INVITE_NETRIDE) --Bleep&lt;br /&gt;
* parse.c, msg.h: Added silent ignores for notices so connect progress&lt;br /&gt;
  messages do not cause connecting server to spew ERR_REGISTER_FIRST&lt;br /&gt;
  messages at the server it's connecting to. --Bleep&lt;br /&gt;
* s_serv.c, s_user.c, channel.c, send.c: Tokenised BURST, NICK,&lt;br /&gt;
  END_OF_BURST, EOB_ACK, PRIVMSG and NOTICE Server to Server.&lt;br /&gt;
  About 8-10% Bandwidth saving on BURSTS. --Gte&lt;br /&gt;
* channel.c (m_join): servjoin patch --Isomer&lt;br /&gt;
* ircd_osdep.h, os_*.c, s_bsd.c, send.c: more cleanups in socket code,&lt;br /&gt;
  use enumeration for IO results. --Bleep&lt;br /&gt;
* s_bsd.c: clean up select and poll code a bit more, fixed message pacing bug&lt;br /&gt;
  in poll. --Bleep&lt;br /&gt;
* supported.h, numeric.h, s_user.c, s_err.c: Added Isomers features&lt;br /&gt;
  patch. Use numeric 005 RPL_ISSUPPORT to convey server features to&lt;br /&gt;
  clients. --Bleep&lt;br /&gt;
* s_user.c (m_nick): IP differ patch, use IP address instead of host&lt;br /&gt;
  name to determine different user@host for nick collides. --Isomer&lt;br /&gt;
* hash.c (hChangeClient): Bug fix. Fixed bug that caused stale entries&lt;br /&gt;
  to be left in client hash table after a name change. Discovered by&lt;br /&gt;
  Quant and Isomer. --Bleep&lt;br /&gt;
* hash.c (hSeekClient): fixed bug I introduced when reversing my hash&lt;br /&gt;
  table code changes, thanks Quant and Isomer --Bleep&lt;br /&gt;
* opercmds.c (m_lusers): send limited luser info to remote&lt;br /&gt;
  clients --Isomer&lt;br /&gt;
* numeric.h, channel.c, s_err.c: Changed invite list numerics&lt;br /&gt;
  from 283/284 to 346/347 to match IRCnet numerics --Bleep&lt;br /&gt;
* config-sh.in, gline.h, numeric.h, gline.c, opercmds.c, s_debug.c, s_err.c:&lt;br /&gt;
  Add badchan patch by WildThang --Bleep&lt;br /&gt;
* config-sh.in, channel.h, numeric.h, channel.c, s_debug.c, s_err.c:&lt;br /&gt;
  Add lchanmode patch by David M --Bleep&lt;br /&gt;
* channel.c (cancel_mode): removed incorrect assert --Bleep&lt;br /&gt;
* *.c: removed P9 support, not everything is completely gone but most&lt;br /&gt;
  of it is, the server builds and connects to other servers, but thats&lt;br /&gt;
  as far as it's been tested so far. --Bleep&lt;br /&gt;
* ircd.h, ircd.c, s_bsd.c:&lt;br /&gt;
  removed BOOT_INETD/BOOT_CONSOLE code, unused non-functional --Bleep&lt;br /&gt;
* struct.h, ircd.h, ircd.c, s_user.c, s_bsd.c:&lt;br /&gt;
  removed BOOT_OPER/STAT_MASTER code, original patch by Isomer --Bleep&lt;br /&gt;
* s_user.c (m_nick): removed redundant check for acptr&lt;br /&gt;
* hash.c (hSeekClient, hSeekChannel): roll back some of hash.c changes&lt;br /&gt;
* hash.c (hSeekClient, hSeekChannel): removed unused variable from previous&lt;br /&gt;
   changes.&lt;br /&gt;
* hash.c (hSeekClient, hSeekChannel): fix compile error from status changes,&lt;br /&gt;
   fix logic bug that caused the first client that matched the mask to be&lt;br /&gt;
   returned regardless of whether or not it's name matched, this can result&lt;br /&gt;
   in wierd problems where the wrong server/client could be returned from the&lt;br /&gt;
   hash table lookup. Removed code that moved client to head of hash table&lt;br /&gt;
   chain for it's bucket when it's looked up, if the hash table is working&lt;br /&gt;
   reasonably well this just wastes cpu.&lt;br /&gt;
* hash.c, list.c: added code to zero out cptr-&amp;gt;hnext when client removed&lt;br /&gt;
   from hash table, added assert for hnext == 0 in list.c to make sure that&lt;br /&gt;
   client was actually removed from the hash table before freeing it's memory.&lt;br /&gt;
* various: misc cleanups&lt;br /&gt;
* support.c: removed dead code&lt;br /&gt;
* configure.in: remove unneeded checks for minix, aix, ansi/posix headers&lt;br /&gt;
   these things are handled by porting layer code.&lt;br /&gt;
* res.c: remove calls to add_local_domain, these were causing incorrect&lt;br /&gt;
   behavior&lt;br /&gt;
* opercmds.c: cleanups in gline code&lt;br /&gt;
* s_bsd.c: increase socket buffers to 65535 for server connections&lt;br /&gt;
* crypt/mkpasswd.c: mutter correct runes to get file to compile without warnings&lt;br /&gt;
* gline.c, gline.h: add new files to attempt to encapsulate glines a bit,&lt;br /&gt;
   some code from opercmds.c needs to be moved here still&lt;br /&gt;
* opercmds.c (m_gline): fix local gline bug&lt;br /&gt;
* s_conf.c (initconf): add password change on rehash fix&lt;br /&gt;
* s_conf.c (rehash): fix rehash freeing and reloading the motd/rmotd files for&lt;br /&gt;
   every client connected.&lt;br /&gt;
* ircd_log.c: use 2K fixed buffer instead of vsnprintf, nothing we write to&lt;br /&gt;
   the log should ever exceed 512 bytes, but it doesn't hurt to be paranoid.&lt;br /&gt;
* res.c: change resolver timeouts to 5 seconds, per RFC1123&lt;br /&gt;
* channel.c: more little cleanups, no code changes&lt;br /&gt;
* channel.c: a) stops iterating over /invite list&lt;br /&gt;
    b) adds /invite to list the channels you're currently invited to.&lt;br /&gt;
    c) adds lotsa new numerics --Isomer&lt;br /&gt;
* ircd_signal.c, ircd.c: fix bug in signals&lt;br /&gt;
* channel.c (can_send) add Isomer's changes&lt;br /&gt;
* channel.c: add send_ban_list, cleanup a few names, reformat some parts to make&lt;br /&gt;
    more readable, fix bug introduced by name changes&lt;br /&gt;
* ircd_chattr.[ch]: add new macro for checking K:line time chars vs comments&lt;br /&gt;
* listener.c (show_ports): add code to show client/server and hidden status&lt;br /&gt;
* s_conf.c: bug fixes, cleanups, add code to set server port and hidden&lt;br /&gt;
    status for listeners (P:lines)&lt;br /&gt;
* s_conf.c (initconf): add interface selection code to P:lines so ports can&lt;br /&gt;
    be set on a single interface or multiple interfaces (multi-homed hosts)&lt;br /&gt;
* s_conf.c: rewrote C/N line code, removed N:lines entirely, clean up server&lt;br /&gt;
    conf line code.&lt;br /&gt;
* s_conf.c (check_server): move ip checks out of resolved or not so they can&lt;br /&gt;
    be checked for worse case situations on server connects&lt;br /&gt;
* res.c (resolver_read): add Isomer's debug info for failed resolver queries&lt;br /&gt;
* opercmds.c (m_stats): remove call to time(0) for each local client in &lt;br /&gt;
    stats l command, use CurrentTime instead&lt;br /&gt;
* s_conf.c (initconf): only do lookups on C:lines instead of both C/N lines&lt;br /&gt;
* res.c: fix resolver hang bugs&lt;br /&gt;
* s_conf.c (rehash): remove extra semicolin that was causing c/n lines to&lt;br /&gt;
    accumulate&lt;br /&gt;
* s_conf.c (rehash): add portnum back to the listener list so we don't loose&lt;br /&gt;
    the server port on a rehash&lt;br /&gt;
* s_auth.c, listener.c: remove warnings for normal errors&lt;br /&gt;
* s_auth.c, listener.c: use osdep non-blocking calls instead of locals&lt;br /&gt;
* s_auth.c, listener.c: add code for non-blocking recovery for listeners and&lt;br /&gt;
    auth queries&lt;br /&gt;
* s_auth.c (auth_error): call IPcheck_connect_fail if the client socket dies&lt;br /&gt;
    during the auth check so the reference count doesn't get borked in the&lt;br /&gt;
    IPcheck code.&lt;br /&gt;
* numnicks.c: yet another extended numerics bug fix... sheesh&lt;br /&gt;
* s_bsd.c, s_conf.c: move conf line code from s_bsd.c to s_conf.c, cleanup&lt;br /&gt;
    cleanup check_server, check_client (still not completely tested, may be&lt;br /&gt;
    a bit buggy yet).&lt;br /&gt;
* parse.h, parse.c, s_debug.c: remove privmsg logging code&lt;br /&gt;
* numnicks.c (FindXNServer): fix off by one bug&lt;br /&gt;
* common.h, common.c: removed unused files&lt;br /&gt;
* s_bsd.c (net_connect_completed): new function, called after connection&lt;br /&gt;
    establishment for servers and clients, release reference count for&lt;br /&gt;
    the dns reply and set the socket buffer size to IRCD_READBUF_SIZE &lt;br /&gt;
    for servers and 2K for clients.&lt;br /&gt;
* channel.c, crule.c: cleanup bogus casts&lt;br /&gt;
* listener.h (add_listener): fix bug that caused server a server port listener&lt;br /&gt;
    to think it was a client port listener.&lt;br /&gt;
* s_user.c, s_serv.c: release reference to dns_reply when connection is&lt;br /&gt;
    established.&lt;br /&gt;
* s_bsd.c (completed_connection): removed call to start_auth for connects&lt;br /&gt;
    the auth module expects connections not to be linked anywhere and owns&lt;br /&gt;
    the client struct until it's done.&lt;br /&gt;
* listener.c (release_listener): fix inverted assert client exit bug&lt;br /&gt;
* ircd_chattr.c: fix signed/unsigned warnings with Sun Workshop (+w)&lt;br /&gt;
* ircd_chattr.c, ircd_chattr.h: new files for character attributes and case&lt;br /&gt;
    translation, hopefully they will be a bit easier to maintain.&lt;br /&gt;
* s_conf.c (rehash): fixed logic bug that caused and infinite loop, &lt;br /&gt;
    fix port update bug (needed to call mark_listeners_closing before initconf)&lt;br /&gt;
* *.c, runmalloc.[ch]: change the way the server deals with out of memory&lt;br /&gt;
    conditions. On server startup a no-memory handler is installed which&lt;br /&gt;
    calls server_restart if an allocation fails. Allocations are now checked&lt;br /&gt;
    in the memory allocation functions. Added asserts after every allocation&lt;br /&gt;
    to verify for debug.&lt;br /&gt;
* *.c *.h: move authentication and dns to authentication module rename a few&lt;br /&gt;
    globals, const correctness fixes, add ircd_string code, rework network&lt;br /&gt;
    code, use dns callbacks, removed a lot of redundant code &lt;br /&gt;
* s_bsd.c: finish this stage of net code work&lt;br /&gt;
* *.c, *.h: rewrite select and poll code, add listener.[ch] net.code overhaul&lt;br /&gt;
    in progress, prepare for adding auth module&lt;br /&gt;
* s_bsd.h, struct.h: moved client struct macros back into struct.h for now,&lt;br /&gt;
    the last place they belonged was in the network code... feh&lt;br /&gt;
* ircd.c (open_debugfile): removed client for debug file&lt;br /&gt;
* ircd_string.h, ircd_string.c: new files for string processing, add&lt;br /&gt;
    ircd_strncpy function&lt;br /&gt;
* *.c, *.h: rename ircstp to ServerStats&lt;br /&gt;
* *.c, *.h: rename now to CurrentTime&lt;br /&gt;
* listener.h, listener.c: new files for listener ports&lt;br /&gt;
* include/ircd_defs.h: new file for global definitions (HOSTLEN, USERLEN)&lt;br /&gt;
* struct.h: add local_flag to client struct, to make local/remote detection simpler&lt;br /&gt;
* s_bsd.c (read_message): split out separate versions for select and poll&lt;br /&gt;
* s_bsd.h, various source files: remove the rest of the unix domain socket &lt;br /&gt;
    support this removes a number of comparisons that were unneeded in &lt;br /&gt;
    code that should run reasonably fast.&lt;br /&gt;
* os_*.c, res.c, ircd_osdep.h: add os_recvfrom_nonb for resolver&lt;br /&gt;
* os_*.c, s_bsd.c, s_auth.c, ircd_osdep.h: add os_get_sockname, os_get_peername&lt;br /&gt;
* bsd.h, bsd.c: merge into s_bsd&lt;br /&gt;
* ircd_osdep.h, os_generic.c, os_linux.c, ircd_osdep.h: move os variable stuff&lt;br /&gt;
    to separate compilation units, os generic contains the original code&lt;br /&gt;
    (start here). &lt;br /&gt;
* s_bsd.c, send.c, struct.h: remove pyr (pyramid) finally&lt;br /&gt;
* res.h, res.c, s_misc.c: cleanup headers/dependencies in res.h&lt;br /&gt;
* match.h: include sys/types.h before netinet/in.h, broken BSD system headers&lt;br /&gt;
* ircd/Makefile.in: remove CFLAGS from link line, use LDFLAGS instead&lt;br /&gt;
* ircd.c: add missing include for sys/socket.h&lt;br /&gt;
* common.h (strChattr, strCasediff): remove pointless non-portable inline&lt;br /&gt;
    decls. The functions are complex enough that inlining just bloats the code&lt;br /&gt;
* ircd_xopen.h, ircd_xopen.c, s_user.c, s_serv.c: porting layer for crypt and&lt;br /&gt;
    other xopen library calls, moved crypt to ircd_xopen.&lt;br /&gt;
* s_uping.c, s_uping.h, s_bsd.c, s_misc.c, s_bsd.h, ircd.c, s_debug.c:&lt;br /&gt;
    Removed s_ping. There are much better tools available that actually work&lt;br /&gt;
    correctly. The s_ping code was a waste of resources, and has historically&lt;br /&gt;
    given incorrect results (it never worked correctly).&lt;br /&gt;
* ircd/s_bsd.c, res.c, s_user.c, s_serv.c: little fixups to allow code to&lt;br /&gt;
    build on Solaris, still have some warnings there.&lt;br /&gt;
    TODO: wrap crypt and things that depend on _XOPEN_SOURCE in their own&lt;br /&gt;
    file so it doesn't bother the network code.&lt;br /&gt;
* ircd/s_bsd.c: cast option arg to const char* for setsockopt (solaris)&lt;br /&gt;
* ircd/Makefile.in: removed hard coded dependencies for hash.o chkconfig.o,&lt;br /&gt;
    let the automatic stuff take care of it, it does it better than humans.&lt;br /&gt;
* *.c *.h: remove register keywords, attribute macro junk, cleanup&lt;br /&gt;
    dependencies, rename MIN and MAX to IRCD_MIN IRCD_MAX all headers in&lt;br /&gt;
    C files are sorted, removed as many duplicate includes as I could find&lt;br /&gt;
    (dozens) general cleanups. Mutter the correct runes to get the protoype&lt;br /&gt;
    for crypt included where it was needed.&lt;br /&gt;
* *.c *.h: dependency cleanups up to querycmds.c&lt;br /&gt;
* ircd.c, bsd.c, s_bsd.c: move signal handling code to ircd_signal.c&lt;br /&gt;
* ircd_signal.c, ircd_signal.h: new files, use only POSIX signals remove&lt;br /&gt;
    support for unreliable signals.&lt;br /&gt;
* *.h *.c: include guards, dependency cleanups&lt;br /&gt;
* Configure.in, setup-sh.in: include guards, config.h includes setup.h&lt;br /&gt;
    add config dir to include path&lt;br /&gt;
* sys.h: include guards, remove hard coded path to config.h&lt;br /&gt;
* s_user.c (hunt_server): fix logic bug&lt;br /&gt;
* numnicks.c (SetServerYXX): fix off by one error&lt;br /&gt;
* multiple files (n2k patch): add code to handle extended numerics&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCu History]]&lt;/div&gt;</description>
			<pubDate>Fri, 25 Apr 2008 03:49:18 GMT</pubDate>			<dc:creator>Secretagent</dc:creator>			<comments>http://wiki.darenet.org/Talk:IRCu_ChangeLog.10</comments>		</item>
	</channel>
</rss>