/*                              
 * UnrealIRCd Changes File - (C) Carsten Munk 1999-2002 &
 *                               The UnrealIRCd Team
 *                              
 * $Id$
 *                              
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 1, or (at your option)
 * any later version.           
 *                              
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *                              
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *                              
 */                             
                                
[ Unreal3.2-Selene ]
- Fixed a _serious_ bug in SERVER command, reported by Valen, Forrester,
  M0rpheus, JK, and Hiten.
- Fixed /botserv problem
- Fixed permission problem with SSL .pem files (was o+r)
- Removed a redundant time.h include reported by trippin
- Modified rehash flags to use strnicmp rather than match (faster)
- Fixed some points of confusion of possible cptr->passwd bug in
  m_server_estab, reported and fixed by Kanzen_Greiver
- Fixed some more points of ->passwd bugs
- Added in devdev's INSTALL replacement
- Made it so you don't get a +W notice if you /who or /whois yourself reported by Ron885
- You can no longer specify an *@unrealircd.com/org, or unreal-*@lists.sourceforge.net email
  as your KLINE_ADDRESS (the "Why am I K:lined?" messages got too annoying)
- Removed some irc.flirt.org references.
- Made it so if a channel is +O or +A and you are not +O or +A and not in the channel, you can not
  /topic #channel same for +b if not +o or on the channel. Suggested by Sysop_Mars
- Fixed a bug where you would receive a double notice when someone does a /who 0 o
- Added first part of the new config parser, s_conf2.c
- Added the next part of the new config parser, and some even more
- Fixed a missing : on numeric 379 found by script0r
- Added some a bit functional _conf_class code
- Some more _conf_class code
- Typing /stats or /stats invalid-flag will return a list of valid flags
- You no longer receive a /stats +e notice when no flag is specified, or an invalid flag is specified
- Some more newconf code, and some more
- Added drpass (X:line) to the config code
- Some more config2 code
- Removed parser builtin directive include, and replaced it with our own
- The config2 now uses strerror() to display an error, rather than the numeric
- Fixed s_user.c so umode N and T cannot coexist
- Added tld (T:line) to the config code
- Finished _conf_oper
- A report_configuration code (showoff)
- Finished _conf_listen
- Finished _conf_allow
- Added TODO in top of s_conf2.c
- Fixed a bug reported by S7 that affected chg* and set* as well as sdesc
- Started work on the except parser
- Wierdoe parse things
- Made except parser use a specialized _configflag_except instead of wasting
  a byte.
- Changed version to "Unreal3.2-Selene" (Selene = female character in a
     comic mag i found at my grandmas :P)
- Finished _conf_vhost
- Made _conf_listen understand listen <port> {}
- Finished _conf_link
- Added some _conf_link validity and added ->class option (forgot it)
- Made ircd.c use the newconf with me.* setup. Uses the first and the best
  as listener
- Finished _conf_ban (try and attack us now idiots!)
- Made "No response from", use GLOBOPS instead of GNOTICE. 
  Fixes TODO Bugfixes Thu Dec 14 2000 Priority 10 added by Stskeeps
- Fixed telnet close server thing, fixes Wed 20 Dec 2000 priority 9, 
  added by codemastr
- Fixed /whois shows what channels +S are in.
  Closes stskeeps/Dec30-2000-10-Bugfixes =======
- Fixed a STATS_ONLYOPER bug
- Fixed a ircd.tune bug (the file may not write if it didn't exist)
- Fixed a serious bug reported by Kanzen_Griever
- Merged in sts-laptop branch
- Made /admin use the new config (had to modify some newconf stuff to make a backwards copy
  of the list as well)
- Made U:lines loaded from the newconf, also made /stats U read the U:lines from the newconf
- Added listen {} runtime-configuration code work :))
- Removed unrealircd.conf from the stock
- X:line was replaced with drpass {} in /restart and /die (will make them faster as well)
- Made +u do a auditorium/star chat feature, suggested by |Martin|=======
- Fixed a G:line bug that would allow certain masks to be interpreted as *@*
- Fixed the same bug in shun that affected G:line
- Made +f faster by replacing 2 strchr()s and a strrchr() with a if () inside an existing loop
- Fixed a +f bug reported by Enstyne
- Fixed a SVSMODE/SVS2MODE bug that could cause an incorrect +i and +o count, reported by CaliMonk
- Fixed another SVS2MODE bug that would make it send an empty MODE change
- Removed the old chmode +x = +c and +I = +V support (3.x use +cV and 2.1.7 is obsolete)
- Implimented except socks {} and tld {}
- Removed the old read_tlines code and made /stats t show tld {} blocks
- Fixed bug with /whois showing +S user channels (ChanServ)
- Made /mode (umode change) only send 1 unknown mode msg, forgot who suggested this one
- Made /rehash -motd/rules use tld {} 
- Heavily recoded /rehash (removed a ton of coding)
- Updated match() to have some optimizations from bahamut
- +GScm now affect /part msgs (requested by SegFault and others)
- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline, 
  removing a lot of my_name_for_link crap, indented s_serv.c
- Recoded m_server(YES!) -stskeeps
- Fixed a +S bug reported by script0r
- Fixed a #undef USE_SSL problem found by codemastr.. caused by
  Sts(TM)coding
- Added set {} (unrealircd.conf/network file replacement)
- Made vhost {} use from {} for hosts
- Fixed some stskeeps-drunk-coding stuff in m_server
- Fixed a typo "receive" not "recieve"
- Made SVSNICK check if a nick is valid
- Made get_sendq be a macro
- Added find_ban, AllowClient() (old attach_Iline)
- Temporary disabled /svsnoop, /akill, /sqline /unsqline, /kline, /unkline
  /zline, /rakill, /unzline and /svso
- chkconf is not being built anymore
- Ripped out s_conf.c with the roots. 
- Ripped out add_listener
- Disabled a lot of stuff that needs to adapt to conf2
- Made allow {} work
- Changed allow {} to do user@host instead of user item
- Took out my_name_for_link
- Temporary disabled D:d lines/SQLines/Qlines
- Fixed some /connect stuff
- Disabled rehash temporary
- Made ban user/ban realname work (s_unreal.c needs to be modified)
- Added Zogg to credits
- NOTE: Unreal-devel is handicapped right now, code in progress, do not use
- Did a little speed up on Find_ban
- Made /setname and /chgname use ban realname {}
- Made /oper work with newconf (come get us now bastards!)
- Made +c show class names in connect
- Fixed a minor problem with ban {} and oper {}
- Made ban nick {} work
- Added the first (sorta) working version of the config converter
- updconf now makes use of from {} in oper {} to eliminate duplicate O:lines
- Made allow {} passwords work (AllowClient) - TODO: I:line encryptions
- Made allow { maxperip }; work, the old ONE password thing, just better
- Added a hack to updconf so ONE sets maxperip to 1 and made another hack
  -I IPMASK:HOSTMASK:IPs,... to allow you to specify an ipmax. ex. 
  -I *@205.188.*:*@*.aol.com:10,*@*:*@*:100 that will allow 10 on your aol.com allow, 
  and 100 on your *@* allow
- /vhost uses newconf
- Removed old vhost.conf code 
- Fixed check_pings (check_kills) code, so G:lines & ban nick/ip/realname
  works again
- /connect works now :), TODO: D:d lines, V:line needs fixing, badly
  says "Unknown location" atm on uplink
- Took out MyMalloc & co, direct to malloc/realloc/free now. Crashed in
  DEBUGMODE
- Added ConfigItem_link->ipnum
- Fixed a compile bug with DEBUGMODE
- Changed a load of old aConfItem crap .., FIX: ConfigItem_link->options
- Fixed a /connect bug
- Made /svsnoop "work" again, moved it to s_svs.c (and made that file too)
- Made /svso work again, moved it to same place as svsnoop.
- Made /rakill and /akill work again :). Added banflag.type2
  FIX: *@* detection
- Fixed a check_pings problem with usernames
- ban ip {} works 100% now
- Made /stats C work and /stats H. Intregrated into one.
- Made /zline, /unzline work. 
- Added CONF_BAN_TYPE_TEMPORARY
- Fixed a ban ip {} bug in check_pings
- Removed some waste of oldconf
- Moved advanced_check to s_svs.c
- Made /kline work again, with newconf
- Made /trace work again properly with class names
- Made /sqline /unsqline work again.
- Made SQLINE synching work with newconf
- Fixed a little problem with SERVER servername :info crashing the ircd
  Long live the Floridan way of counting
- ban server {} works the original way it was intended to now
- Classes keep reference counts now, and moving classes (oper) works good
  too.
- Added /trace class search results (class->clients)
- Fixed some protocol error in server_synch
- Made listener code work good .. 
- Made reference counts work again
- Started some rehash work
- Made full class work on servers too
- Fixed a refcount bug
- Fixed a spread server bug
- Some more rehash stuff
- Fixed check_pings problem (crash)
- Fixed negative timestamps problem (crash)
- Fixed a problem with cptr->class counting for servers
- Made a bunch of /stats flags work with newconf
- Added some MALLOCD (mini debug malloc by stskeeps..)
- Removed some C++ comments
- Made close_listeners work correctly again
- Removed some old check_* mammut code
- Fixed a bunch of possible bugs in newconf
- Added sendto_realops logging of config errors
- Made /rehash work .. sortof. Fixed some crash bugs
- Added /stats P on listener info (oper-only)
- listener temporary stuff works now
- Fixed temporary stuf with conf_link
- Fixed a problem with +x
- Made CPATH be unrealircd.conf and init_conf2 use configfile instead
- Disabled calls to dynconf
- Added validate_conf, added dynconf checking, me, admin, class, oper
  testing
- Added config_progress() Fixed temporary stuff
  with conf_link
- Made tld {} get rehashed
- Made listen/allow get validated
- Finished up validate_conf()
- Made badwords be in newconf (you can now specify a replace word for each word)
- Made vhosts and badwords rehash
- Fixed a bug in the rehash code
- Made it so set::auto-join and set::oper-auto-join can be excluded to mean no auto join
- Changed prefix_quit to prefix-quit (all others use - not _)
- Fixed a minor bug causing a mode without any flags to be sent
- Finished up deny dcc {}.
   TODOs: dcc_del_wild_match doesn't work. dcc_wipe_services() either
- Made deny_dcc get rehashed
- Made it so the IRCd can survive with certain set {} errors (uses defaults)
- stats-server and services-server are no longer required (missing = disabled services aliases)
- socks set {} options are now optional. Defaults are used if missing
- If an invalid ban or except is found, it is removed
- Some small SSL fixes .. 
- Added a notice on connect for SSL users with key length
- Fixed a /kline and /unkline buffer overflow, reported by [-Th3Dud3-]
- Fixed a crash in /stats k regarding temporary K:lines
- Fixed a missing " in validate_conf
- Replaced a few strlen()s with sizeof(), should make the IRCd start a bit faster
- Fixed a svsmotd bug (from 3.1) prevented adding lines to the svsmotd
- Recoded some dynamic motd stuff. Now uses 1 function.
- Removed an unused var from the old T:line code
- Removed a redundant check in SVSKILL
- Removed some old code from LUSERS (it was moved due to IRCStats but some leftovers remained)
- Added deny channel { channel "channelmask"; reason "why"; }; and
        allow channel { channel "channelmask"; };. Replaces chrestrict
- Made those above get rehashed
- Killed ircdupstr and called it ircstrdup
- Made link { options { work OK again. Had a dead loop as well
- Made autoconnect work again :>. Changes in behavouir: It connects more at
  a time now. You need autoconnect flag in options.
- Minor OpenBSD support cleanup
- bsd.c, channel.c, s_svs.c, s_unreal.c, s_kline.c, and s_extra.c now use ANSI 
  standards for naming function params
- Made connfreq unable to less than 10
- Added deny link { mask "servermask"; rule "connectionrule"; type all/auto; }; (equivilant of D/dlines)
- Made admin {} get rehashed
- Got /stats x to work again
- Recoded check_pings, with bits used from bahamut-ircd/hybrid-ircd, credits
  to lucas.
- Removed return_servers() and made servers be called Servers, and be a
  global variable. Done on request on Great Master codemastr.
- Made crule.c use the server list rather than the whole client list for checking (faster)
- Sped up some channel stuff a lot using a bahamut type user search
- Added CommandHash optimation .. this is not done 100% yet. uses msgtab as
  reference
- Removed msgtab part of parse, removed the bigass hashtable msgtab,
  removed inittoken, made command initalization happen in init_CommandHash
- Adapted /stats M to it. Removed /helpop ?commands temporary. Confirming
  hashtable works.
- Fixed windows CRLF problem in conf2, reported by Zogg
- Added Member and Membership and made the IRCd support this. Using
  "freelinks", todo: garbage collection
- Added find_member_link and find_membership_link. Made Floodopt only 
  get allocated for local users. Removed aFloodOpt in Link,
- Made a speedup in is_halfop (dumb code)
- Somehow is_halfop and co got called when a server set a mode .., added
  IsServer check (auto-return 1)
- Fixed the 9-month old win32 DNS bug, caused by Stskeeps's incidential
  delete. Found by Zogg and CVSweb
- Made autoconnect msgs only go to +os
- Made DNS cache list show a notice to other ops
- Made /stats C show flags correctly
- Added deny version {}
- Made deny link {} rehash
- Removed class.c, from the old conf
- Removed dynconf.c, from the old dynconf
- Fixed a deny version {} bug (oops)
- Fixed a config_load win32 problem, found by Zogg, fixed by Stskeeps/codemastr
- Overwrote s_conf.c with s_conf2.c, and removed s_conf2.c. Viva la Conf2!
- Added /stats I, Y, b, d, D, v
- /who now got its right behavoiur regarding masks, bug found by Zogg
  (acptr is not cptr)
- Made set::modes-on-connect work :) (strip out MODE_X and stuff plz?)
- Moved dynconf stuff from s_svs.c to s_conf.c, on popular request
- Made NAME_SERVER (set::dns::nameserver work). The IRCd no longer
  uses /etc/resolv.conf as reference.
- Updated most of /stats S for newconf
- You can now specify oper flags using the old method:
	(new method) flags { flags here }; (old method) flags flags_here;
- Removed a lot of vars and stuff from the old config, also made some cleanups to reduce source size
- Made del_Command(). 
- Rewrote makeconf and makenet to use newconf (added some new features to makeconf as well)
- Made MembershipL->flood get bzero on out delegation
- Removed stskeeps's lazy add_CommandX (tm) code
- Made IRCd not crash on /kick from servers
- Fixed a typo in makeconf
- Made /whois not return channels for services
- Made makeconf use "ban nick" instead of "ban nickname"
- Fixed ssl_client_handshake bug reported by IpAddress
- Made ./Setup not do dynamic configuration any more
- Changed reference in Setup from ircd.conf to unrealircd.conf (cosmetic)
- Changed output of updconf from ircd.conf.new to unrealircd.conf.new
- Changed the output of makeconf from ircd.conf to unrealircd.conf
- Renamed hostmask to hostname like it should be in makeconf - IpAddress
- Added "get_host" old 'H' O:flag
- Added #define KILL_LOGGING, by otherguy
- Added /cycle #channels, suggested by ^loki^
- Added Modules, using dlopen() and LoadLibrary for *nix/win32. 
- Added /module load <path.to.so>, /module status (list modules), 
  /module unload <modulename>
- Added loadmodule "filename.so"; and made the modules
  unable to get loaded twice with same name.
- Reintroduced "fake lag". Flood algoritm works this way:
   Make next check for parsing be 
   (1 + (length of command+parameters / 60)
- Started on commands.so making, works good atm -on req of codemastr,
  both as m_module.so and commands.so :) - long live dynamiclinking
- Fixed bug with double module unloading, bug found by RaYmAn
- Win32 Changes
- Had to convert the connect messages back to strlen() because of a bug found by Bagge
  working on a way to make it better though
- Added unknown connection flood protection (settable in config.h)
- Made chmode +z only settable by umode +z users or U:lines or services.
- Updated badwords.channel.conf and badwords.message.conf to use newconf (requires an include in 
  the config file)
- Made conf2 able to load empty files as well, with warnings
- Added module_sym("functionname"), for modules, like, sajoin might want to
  do fp_m_join = module_sym("m_join");
- Put out m_chghost, m_sethost in modules, remade Makefile structure and
  added src/modules
- Modified an old Unreal3.1.1 to be network file converter, and converted
  all of the networks files to the new format.
- Fixed a bug with RAKILL and UNSQLINE not working
- Moved m_chgident to an .so
- Changed license of m_dummy.c (dummy module, skeleton), so people can do
  closed source modules.
- Moved m_setname to a .so
- Started work on the new improved command hashing system
- Modified command hashing system to Sts's belief of how eggs should be
  made. (quick, dirty and fcked up)
- Fixed a bunch of bugs in the command hash system caused by sts:
  - You can't send numerics to servers
  - Using ERR_NOPRIVLEDGES (says you aren't oper)
  - Disabled commands allowed by unregistered users from registered users
- Removed networks/unrealircd.conf
- Implimented new logging system using log {} (if you leave it out it reverts to the old ircd.log)
- Added Hooks, only one working now is HOOKTYPE_LOCAL_QUIT 
- Added log flag kline (accidentily forgot it)
- Added #define HOOKTYPE_LOCAL_NICKCHANGE
- Made MyMalloc be MyMallocEx in codemastr's log {} code. Fixes junk pointer
  problem - discovered by sts/Morbid
- Removed the old /rehash flags, reported by Morbid
- Reverted Demigurus's select() speedup patch, did speedup, but it 
  also caused a good bit of CPU.
- Fixed a globops bug that required it to have a : found by ROXnet
- Removed KILL_LOGGING replaced by log {}, found by Morbid
- Removed PROTO() and general h.h/proto.h cleanups (made source 3.14K smaller)
- Implimented a system using chmod() at startup to try and keep the config file from being read 
  by people who shouldn't have access. (set through ./Config)
- Added oper::swhois idea by Robertsog (NOTE: since this is done before the mode change, a U:Line changing
  the SWHOIS after you /oper will override this)
- Added a donation credit
- Reverted a change
- Fixed a double definition (double m_chghost and m_chghost.so)
- Moved /sdesc, /setident to modules.
- allow { } now supports encrypted passwords -Syzop
- Made static linking a little more possible
- Made /kick not core on users kicking servers. (WTF?)
- Fixed a problem with users opping servers.. Found by Morbid
- Fixed a problem with SDESC module token being wrong - Found by eternal
- If no oper flags are found, default to locop (suggested by devdev)
- Added tld::channel so you can make people join a channel based on hostmask
- Made it so a motd or rules loaded in 2 seperate tld {} is only read into memory once (may need debugging?)
- Fixed a bug where the IRCd didn't validate hosts specified in a vhost {}
- Added the ability to specify a username to spoof in a vhost {} instead of vhost "host.name";
  you can vhost "user@host.name"; (suggested by IpAddress)
- Fixed a bug where you could use an infinitely large host in a vhost {} (now limited to HOSTLEN)
- Fixed improper old username being displayed reported by IpAddress
- Added M_NOLAG.
- Added new CRC32-hex-based IPv4 and hostname cloaking form
- Make users that send a forbidden file get auto blocked from sending other
  files. sptr->flags & FLAGS_DCCBLOCKED.
- Readded timestamp to log, accidentily got removed
- Made it so /stats C doesn't show the user@host of servers to non-opers
- Possibly fixed the vhost crashing bug, with much help from IpAddress
- Found a way to do +x IPv4 cloaking right. 
- Added set::cloak-keys { longvalue; longvalue; longvalue; }; for the cipher
- Fixed a NETINFO parameter problem - solves the new NETINFO format
- Made a little hack to newconf to allow varname=value; to try and keep it some what similar
  to the new config files of other IRCds. NOTE: the = is completely optional, it is allowed
  but not required
- # comments can be used anywhere in a line now (just like // comments) for compatibility with other
  IRCds
- Added sajoin/sapart error message patch by NiQuiL (modified slightly by codemastr)
- Implimented IRCNet style server redirection, based on the hybrid-7 code. Some clients will connect
  to the specified server automatically, others will require you to do it manually.
- Made /info use @unrealircd.com emails instead of @tspre.org
- Removed FNAME_OPERLOG and replaced it with log {} flag oper
- Removed OWNLOGON (did nothing?)
- Replaced FNAME_USERLOG with log {} flag connects (logs user connects and disconnects)
- added temporary define #define OLD_CLOAK
- Fixed up some codemastr(TM) coding regarding M_*
- Implimented a cloak fix based on code by Zogg (just used a #define ircabs rather than abs())
- Expanded the chmod() security fix to files added via include filename;
- Possible FD leak in ircd_log, caused by some codemastr coding(TM)
- #define HELP_WHO for the "did a /who 0 o"
- Added a new Win32 GUI does it work, no one knows
- Rewrote the ircd_log function a bit to fix the FD bug better, not sure wtf I was smoking
  when I wrote the last one :P
- When IRCOps are breaking into chans with invite only (+i) or 
  key-protection (+k) a eyes-notice is sent like it is on banwalk. -NiQuiL
- Added unitedirc.network -NiQuiL
- Removed a , in NiQuiL's banwalk message
- Fixed DEBUGMODE problem, found by someone ..
- Don't know why but m_file.so was in the modules makefile, removed
- Added irc2.10.3's resolver. Fixes debian-woody-libresolv problems..
  Still some fixes to be done
- More res.c fixes ..
- Final res.c fixes 
- Added /rehash -all patch by NiQuiL
- res.c: fixed ircsprintf problems
- Fixed ircd_log to work in windows
- Removed __P, windows doesn't like it, and only old compilers need it
- Fixed a ban realname {} bug that _may_ have something to do with the negative user count bug
- Fixed do_dns_async problem with new res.c
- Removed doc/ADD-TO-IRCRC, doc/INSTALL, doc/Manual, doc/Operators,
  doc/irc.1, doc/ircd.8, doc/server-compile-guide
- Made it so Invitewalk and Keywalk don't show for U:lines
- Fixed a cloak bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
- Fixed some cloak bugs, and applied +x crypto to hostnames as well
- Changed some non-error messages in newconf from config_status to config_progress
- Added a way for newconf to report its errors in windows using a "Config Error" dialog
- Fixed the /stats Z bug reported by RaYmAn
- Added missing resource.h defineand missing +1 in MyMalloc of win_log reported by McSkaf
  Seemed to work without the +1 but added it just to be safe.
- Fixed possible crash bug imposed by too many users per ip in AllowClient -found and fixed by McSkaf
- Made IP Mismatches getting sent to UMODE_JUNK instead
- Added method mod_load in dummy example and made it work. mod_load() is executed 
  when server is ready
- Fixed minor problem with mod_load code
- Fixed possible crash with /quote dns l
- Removed newdns
- Fixed a memory bug in win32 code found and fixed by McSkaf, and fixed a typo
- Fixed a win32 bug found by RaYmAn causing the tray icon not to be displayed sometimes
- Fixed a bunch of Win32 bugs reported and fixed by McSkaf
- Made the IRCd delete its tray icon in win32 on SIGSEGV
- Brought 005 up-to-date with spefication - added CHANMODES= support
- Applied res.c.patch from McSkaf, fixes win32 GPF, but fixed mising HE(ocp)
- Applied s_debug.c/config.h patch from McSkaf, makes DEBUGMODE under
  win32 working again - fixed some errors in the unix part of it.
- Made the rehash button work in Win32
- Fixed up some CHANMODES= support and added WALLCHOPS support
- Added keyboard shortcuts to the win32 config and about popup menus
- Possible fixed a buggie in +f
- Fixed a bug causing Found your hostname (cached) to be displayed 2 times
- Fixed RTLD_NOW problem with openbsd
- Removed SJOIN/SJOIN2 support in SJOIN
- Fixed a +f bug, found by NiQuiL
- Applied McSkaf's winlocal.patch, seems to work ok, fixed some problems
  though in unix/win32 (cptr->fd can be -3. Should fix some READ ERRORS as
  well. 
- Some Open(aaaaaaaaaaargh)BSD patches, most stubborn compiler i've ever 
seen. gmtime warning still there
- Had to revert McSkaf's winlocal.patch, caused too many crashes. I believe
  there is a better way to do this ..
- Added a new StripColors heavily based on the one from xchat by Peter Zelezny
- Fixed doc error in s_conf.c
- Made IPv6 compile atleast, and work. Current problems:
- Made you able to bind to specific IPv6 IPs (we don't have FFFF::*
  functionality yet)
- Made a crazed out IPv6 cloaking
- Made chghost/chgident able to do :'s
- Finished up IPv6 - Kudos to bball/NiQuiL (shells), perian/bunda/larne 
  (testing)
- Made listen format able to do:
     listen [ip]:port, for IPv6 - listen [3fff:ff::1]:6667
- Fixed some compilation error with IPv6
- Fixed-fixed listen format troubles, larne++
- Possible fixed some +d bug(s)
- Added doc/unrealircd.conf.txt (by devdev), doc/services-install-guide
  (zyrol, edited a bit by stskeeps)
- Added richedit 1.0 support so Credits,License, etc show the bold and underline formats in win32
  code by codemastr with help from McSkaf (still needs work to support reverse and color)
- Added code so the rich edit _should_ work with any version of the richedit dll
- Changed all TStime() to use timeofday - CPU SAVE
- Removed userload.c & userload.h
- Added McSkaf's patch for the richedit to be able to support reverse codes
- Fixed the problems with 100% cpu, hopefully
- Fixed the 100% cpu problem, again, HTM is screwed now though?
- Got /stats O working
- Made the topic for a +s channel hidden from non-members (reported by Bagge)
- Removed ce_vardatanum (wasted CPU and memory)
- Added code to make the config parser try and stay alive when an error is encountered
- Added events code and converted some stuff to events
- Converted htmcalc/lcf to events
- Fixed /stats L bug found by larne
- Fixed the loop, made htmcalc more clean
- Applied McSkaf's winlocal patch II, only changed Debug() and removed
  DEBUGMODE from config.h. Still cores, but we might be closer to a
  solution. Broken code, do not use devel right now
- Fixed to winlocal by McSkaf
- More fixes
- Made /die not show admins IP (fixed by Stskeeps after his users nuked him..)
- Added McSkaf's mIRC color parse patch
- More winlocal fixes, and a +f bugfix
- Added HOOKTYPE_LOCAL_CONNECT (aClient *)
- Fixed DEBUGMODE under win32
- Fixed /trace problem with slots (idea from ircu2.10.01+winnt)
- Fixed listener problem, reported by McSkaf
- Minor Win32 bug fix
- Fixed problem with addto_fdlist(cptr->fd) caused by slotpatch
- Fixed minor socksfd problem in read_message
- Fixed identd problem
- Commited McSkaf's tab patch for win32
- Possible fixed fdlist problem with default_fdlist
- Added some numeric checking in m_server*
- Made possible speedup of fdlist checking in s_bsd.c
- Updated makefile.win32 for events.c
- Added McSkaf's rehash patch
- Made the Status Dialog update its values every 5 seconds
- Made slot arrangement be different.
- Merged McSkaf's hostname patch, debug patch, s_misc patch
- Made validate_configuration check for !conf_listen
- Made newconf state unknown directives (found by Madkiss)
- Small s_socks.c bugfix possible causing indetectable socks
- Fixed /whois problem, maybe introduced some others?
- Removed send_out_svsmode, not in use and broken too
- Made Config say Unreal3.2
- Made a popup menu for the tray icon to contain the same 'buttons' as the GUI does
- Made Unreal run correctly on OpenBSD (thanks to PFAK for the shell)
- Fixed with bug with ircd not -r'ing users on nick switch
- Fixed the /stats C = crash if it is a leaf bug found by BaTmAn
- Added a patch by McSkaf to make Unreal reload its tray icon if explorer restarts
- Fixed a win32 bug found by eternal
- Fixed yet another win32 bug (I think I should test before I commit ;P)
- Changed how hooks work, making them support voidfuncs
- Added src/modules/scan.c and src/modules/scan_dummy.c
- Made militime() just as accurate on win32 as on linux
- Made match() a little bit faster
- Fixed codemastr's broken millitime patch (sys/timeb.h)
- Added scan_socks.c, added and moved some stuff to
  include/modules/scan.h (the dir too)
- Converted threads to IRC*Thread by codemastr. 
- Updated the win32 thread code (maybe it will work now?)
- One last final change for the win32 thread stuff, but at least it works now :)
- Added hooks to allow you to add config directives
  - HOOKTYPE_CONFIG_UNKNOWN sent after config parsing, look in conf_unknown for all the
  blocks the config parser didn't understand
  - HOOKTYPE_REHASH sent when a rehash is being done
  Note: if you parse a block in conf_unknown make sure to del_ConfigItem it from the list
  or Unreal will return an unknown directive error for it.
- Fixed problem with u_int32_t servicesstamps, with SVSMODE and SVS2MODE,
  found by Andrew Church
- Unknown ban * {}, except * {}, deny * {}, allow * {} are accessible to modules
- Fixed some scan_socks problems - this needs a good hand with
- Fixed up scan_dummy.c
- Fixed /quote sethost : and /quote setident : exploit, found by ac1d, fixed
  by Griever
- Allowed capturing of unknown set {} variables by modules
- Minor src/Makefile screwup fix
- Added some pthread checking support
- Fixed double dependicies bug.. stupid dlsym
- Added /version using numeric 105 for remove clients to show protoctl (idea from hybrid)
- Added HOOKTYPE_PRE_LOCAL_CONNECT to allow banning before connection. If the module parsing 
  this hook returns >0 the register_user exits
- Removed src/agent.c (empty file)
- Removed src/userload.obj from the win32 makefile
- Added link::options::quarantine suggested by DumbFish
- Made blackhole.so work
- Fixed a set_non_blocking bug
- Fixed a codemastr screwup in quarantine code
- Removed the old SOCKS check code.
- Fixed a quarantine bug
- Added NETWORK= numeric 005 token for mIRC 5.91
- Fixed some scan-socks and blackhole fuckups
- Added ./configure, autoconf generated configure script, (still need to update ./Config)
- Config fixes, settings.h and Makefile.dist are now dead. RIP.
- Fixed a typo in configure
- Rewrote Config, it is now perfectly suited for an autoconf interface rather than a standalone config
- Minor fixes to Config, a license, etc
- Made changes to Config (removed a few unnecessary loops)
- Made CRYPTOIRCD get cached in config.cache
- Fixed generation of certs, moved from configure.in to Config
- Fixed lack of -lssl
- Fixed the keywalk bug reported by BaTmAn (?)
- Fixed a few configure problems with sunos and amiga
- Fixed an OpenBSD bug reported by perian
- Moved config/ to autoconf/
- Some fixes to configure.in that seemly got deleted?
- Some more configure.in fixes, and made ./Config -q & -quick (do not ask
  questions, just run with data in config.settings)
- Some more more configure.in fixes, regarding -export-dynamic, and buffer
  pools, and some illegal if test $var = othervar
- Fixed a configure.in error with IRCDLOBS
- Taking some more Config changes
- Some more INET6 fixes
- Made Unreal use FSU Pthreads if the pthreads on the system will show multiple copies of Unreal in ps
- Fixed a /rehash bug dealing with echoing to stderr
- Added MAXCONNECTIONS to configure
- Added a little utility to make converting an m_* command to a module easier
- Moved m_svsmode and m_svs2mode to m_svsmode.so and updated modulize a bit
- Moved m_swhois and m_svsmotd to modules
- Fixed a bug where configure would pick both -ldescrypt and -lcrypt
- Fixed /stats to work fully with newconf
- Added mod_depend checking, see scan_socks.c for example
- Added in Griever's SJOIN fix
- Made mod_depend a bit cleaner to use
- Removed some remnants of umode +b
- Added configure check for glob.h
- Added the ability to use file globs in loadmodule and include (only if your system has glob)
- Added ./Config option to enable IPv6 (and made a configure check to make sure we can)
- Fixed autoconf/Makefile screwup caused by codemastr
- Fixed a problem with IPv6 always enabled (could you check this fix, code?)
- Fixed a bug allowing channek keys to have spaces
- Cleaned up some thread porting code
- Added a new versioning system to allow easy tracking of bugs
- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
- Fixed makeconf
- Changed the way modules work. We're now at MOD_VERSION 2
- Changed ALL MODULES to version 2
- Commited the +k fix to +L
- Made version.c depend on ../Changes
- Made the ircd call mod_unload when it shuts down
- Made use of the new module_load parameter in mod_init, and made commands.so use mod_load
- Fixed a module bug where loading == unloading
- Moved blackhole into scan.c and removed blackhole.c, and fixed some
  blackhole bugs.
- Updated thread porting code to support more functions
- Fixed a pthread_join
- Rewrote updconf a bit, should work flawlessly now (?)
- Made a minor message change to ./Setup
- Fixed some minor mod_load troubles, and made it go a little more sensible
  regarding retarded rehashes
- Added some thread debugging, and fixed a SVS2MODE bug
- Fixed a major scan bug caused by stskeeps(TM) lazy-coding
- Hmm .. minor s_bsd.c read_message fix
- Some /info stuff, updated docs, .CHANGES.NEW, .RELEASENOTES
- /htm fix by Griever
- Fixed a bunch of warnings reported by Red Hat 7
- Random cosmetic fixes
- Updated the stats help list for newconf
- Removed include/userload.h (not used)
- Removed a few missed userload.h references
- Minor cosmetic fixes, and SVSNLINE (ban realname).
   SVSNLINE + reason_why_moo :realname mask - Add global ban realname
    ('_' is converted into spaces)
   SVSNLINE - :realname mask             - Remove global ban realname
   SVSNLINE *                            - Wipes all global ban realname
- Fixed FIXME dcc_deny_wipe_services
- Fixed some IsToken / sendto_serv_butone screwups - Stskeeps(TM) coding
- Actually added m_svsnline.c
- Removed a bunch of unused coding
- Win32 fixes
- Made a /scan fix, and fixed some version numbers found by Morbid
- Updated m_template.c to use module version 2
- Removed a // comment in src/ircd.c
- Fixed a bunch of updconf bugs reported by DarkSypher
- Fixed an SVSFLINE bug when removing an unknown dccdeny
- Made win32 compile and work ..
- Made scan_socks & scan work under win32. Only bug is a \1 IP in /quote scan (?)
- Added set { blackhole "insideip:port" { "outsideip"; }; }; (useful if
  being behind firewall)
- Fixed a little scan.so bug
- Fixed so we compile without symbols in win32 .. 
- Fixed some rant stuff
- Fixed a documentation bug in unrealircd.conf.txt, made config_error
  actually bitch when loop.ircd_booted
- Made badword fix found by eternal/Jsmj
- Changed pthread process check to pthread_join on proposal and idea by
  codemastr
- Some configure.in fixes to pthread stuff
- Added possiblity to add parameters to configure in Config
- Minor SJOIN fix .. 
- Fixed a ban {} bug where temporary bans were not cleared on rehash
- Fixed a validate_conf problem found by Janos
- Fixed some minor invalid numeric stuff
- Fixed problem with MAXCONNECTIONS when no parameters given in ./configure
- Fixed some possible points of confusion with hash.c regarding unsigned int
  & signed int
- Fixed u_intXX_t problem
- Removed the redefining stuff in s_conf.c
- Documentation (example.conf from Osiris)
- Documentation bug fix
- Changed version to -beta1
- Various preparitions for beta1
- Commited the web server prototype made by Stskeeps, web design by WildChild
- Ripped out the old DF watch system, using bahamut's now
- Fixed some CHINESE_NICK stuff
- Fixed an sdesc bug reported by Alzirr
- Fixed a little gcc 3.0 bug with Unreal
- Fixed *** nick has quit (no Days come, days go), by defaulting to "Quit: "
- Fixed -nexus.nexusirc.org- *** Notice -- Trying to send [:Alzirr WALLOPS
  :test bug, found by Alzirr 
- Fixed struct IN_ADDR problems on some OS'es
- Fixed some more gcc 3.0 problems and made FSU pthreads a bit easier to install
- Fixed some updconf bugs reported by Joe
- Fixed a bug where 'fake direction' messages were sent to non-ops reported by Janos
- Made it so unreal searches harder for SSL headers and libraries
- Fixed possible bug with allowing :'s in +k/+L .. 
- Added a credit
- Fixed a typo in /stats and a /chatops bug found by Cas 
- Made oper {} (and vhost {}) allow you to enter an IP even if your host resolves by request of Cas
- Added set::options:show-klines and set::options::show-tkl to make /stats G and /stats K oper only
- Added a patch by Zogg to fix a socks scanner problem
- Fixed a /sapart bug found by SubZero
- Minor bugfix in scan_socks, + some comments
- Fixed some flaws in httpd, that made it break unmercifully
- Added correct uptime to web interface
- Patched in zogg's scan_socks patch, second edition
- Added in Ossie's example.conf v2
- Major changes to the win32 editor
- Fixed a bug in the new editor, hopefully now it works flawlessly (?)
- Fixed a bug in the win32 status dialog causing it to get screwed up, found by Auspice
- Fixed a scan_socks problem under win32
- Added a 3d border to the color selector in the win32 editor
- Fixed a win32 bug dealing with the new RTF parser
- Fixed a scan_socks problem under win32
- Fixed a MOTD rehash bug found by fryo
- Made CR compatilbity actually work, it autojoins now :)
- Started updating network files (remove all the obsolete ones)
- Fixed SQLINE problem 
- Added doc/coding-guidelines
- Readded header info to network files which was lost in the update
- Updated a few network files that managed to slip by the update process
- Updated networks/networks.ndx and alphabetized it and added all network files submitted in 3.2 format
  (didn't feel like converting right now ;P)
- Win32 code cleanup
- Made my_itoa use _itoa on win32
- Implimented SVSMODE #channel -b nick to remove all matching bans against a nick, idea from bahamut
- Added SVSMODE #channel -b to remove all bans
- Added SVSMODE #channel -qaohv to remove all users of that respective level, and made all the # SVSMODE 
  flags work in SVS2MODE
- Made a bunch of config errors non fatal
- Added 2 more network files (yea, I'm slow)
- Fixed SQLINE bug, FINALLY. (forgot to set type ..oops..)
- Added more network files...
- Fixed a bug affecting /oper and /vhost caused by IP checking
- Added wildcard support to include and loadmodule in win32
- Added SVSMODE # -e to work just like -b
- Fixed SVSMODE compile error
- Added tgf's patches for these bugs:
   * if you dont have a rules file and do "rehash -motd" then the server 
   segfaults.
   * setgid has to be called before setuid... cos if you change to a non-priv
      uid first then you are not allowed to setgid!
- Added more network files
- Fixed a possible restart/die bug
- Fixed a bug where /die didn't do anything on win32 reported by Gilou
- Fixed a bug where /restart didn't send out notices on win32
- Made /restart call mod_unload for all modules
- Fixed a typo in the win32 makefile
- Rewrote Addit, hopefully it fixes the SJOIN problems?
- Fixed fence post marker overwrite in /vhost, found and fixed by tgf
- Made the Win32 version report the actual OS to opers in /version rather than just say 'Win32'
- Removed some obsolete code
- Added set::oper-only-stats which allows you to set any/all stats as oper only (* = all). Code is kind of 
  ugly since some flags are case insensitive and C == H but it works and seems pretty fast.
- Added set::anti-spam-quit-message-time idea from hybrid7
- Made the config smarter, for yes/no options yes/true/on/1 = yes no/false/off/0 = no
- Made Unreal be able to recover from a bunch of config errors
- Added stats flag r to the stats help list
- Fixed bindip problem with it not being made
- Made even more config errors recoverable
- Added more network files
- Fixed some typos in s_conf.c
- Fixed a win32 bug where /restart didn't remove the tray icon, reported by PHANTOm and Gilou
- Fixed Osiris's example.conf
- Fixed IPv6 bindip error found by Madkiss
- Added log::maxsize, when this size is reached the log is cleared and started over again
- Fixed a codemastr-on-crack /version bug, and fixed some IPv6 stuff in
  scan*
- Fixed some more IPv6 stuff in httpd
- Implimented snomask (similar to IRCu) and moved several usermodes to it
- Added a config check to detect what order we should specify the SSL libraries in
- Fixed bug with SSL, detected properly and fixed by Chawmp
- Fixed an oper-only-stats bug
- Updated some documentation to prepar for release
- Docs prepare
- Fixed a major snomask bug found by narf
- Using bahamut /who now, this needs some testing.
- HCN fix
- /who fix .. removed nick matching functionality..
- Fixed a SNOMASK problem found by Arantis
- Fixed a umode2 bug that crashed the server
- Fixed vhost bug that forgot to add a \0 in the end of the string
- /who fix
- Another /who fix, what crashed it I assume - helped by narf to find this
- Fixed a bug were operflag eyes didn't work
- /who fixes regarding +I +H and crap
- Preparation for beta2
- Fixed sts on crack win32 code
- Fixed a win2000 bug causing Unreal to crash on the credits dialog, thanks to llthangel and WildChild for 
  helping fix the bug
- Fixed a win32 bug that can cause unexpected crashes while using the editor
- Some httpd stuff and a #define CHROOTDIR problem found by Zhadum
- Added scan_http, scans on 80, 3128, 8080 in a threaded manner
- Fixed a /gline crash bug found by DemOnBaBy
- Http proxy scanner cleanup
- Added SOCKS5 detection based on code in Epona
- Cleaned up /mode a bit
- Cleaned up command parsing a bit (faster)
- Added config directive alias for services/bot aliases
- Fixed some credits, recoded httpd (still in progress)
- Disabled #undef PROPER_CORE
- Added alias {} to doc/example.conf
- Fixed a bug in alias {} found by RaYmAn
- Fixed another alias {} bug
- Added Bahamut usermode +R (only accept private messages from +r users)
- Moved FAILOPER_WARN define to set::options::fail-oper-warn
- Fixed an alias {} bug found by James-Bond
- Moved SHOWCONNECTINFO define to set::options::show-connect-info
- Added support for nested comments in the configuration file (by chasm)
- Added chasm to /info
- Started work on usermode +V (WebTV mode)
- Some aClient cleanups to reduce memory usage
- Made a bunch of messages check +V and if +V use PRIVMSG instead of NOTICE
- Cleaned up NOSPOOF code a bit
- Cleaned up /oper (a lot)
- Fixed a bug where the /oper recode broke oper host masking (found by James-Bond)
- Fixed something that could cause a possible bug in /oper ?
- log::maxsize can now be entered in the format 1MB, 1MegaByte, 1MByte, etc (KB,MB,GB,TB are the only sizes 
  recognized)
- Fixed a bug where log::maxsize would say it started a new log file if the log file didn't exist
- Converted /mkpasswd, /away, and /svsnoop to modules
- Added the ability to add aliases like /identify (complex, so see example.conf for samples)
- Added a bug reporting tool (still alpha)
- Removed some win32 debug code that was left, reported by TheEggMan
- Win32 cleanup
- Made except socks become except scan, and made it actually WORK, and some
  bugreport fixes
- HTTPd VFS fixes
- Modified updconf to reflect the except socks -> except scan change
- Fixed a typo in the win32 makefile
- Made the config a bit more sturdy (would have done more, but got boring :P)
- Moved /svso and /svsnick to modules
- Updated the win32 makefile
- modulize documentation, some web server fixes, preparation for uabr
- Some more VFS/PHTML fixes, it actually works now, thanks to butter
- Fixed a IPv6 bindip problem
- Removed bsd.c and made socket.c, moving signal stuff to ircd.c, possible 
  fixing a IPv6 bug
- Made Inet_si2p (sin to presensation), fixing the "*", bug, some debugging
  fixes, fixed a lot of IPv6 bugs, hopefully - thanks to JK for borrowing
  his box
- Fixed a #undef INET6 bug
- Made Link denied error a little more descriptive
- Various coding regardign bugreport
- Made port default to 6667 when options autoconnect in link {}
- Made some changes to allow Unreal to compile on win32
- Fixed a scan.c bug on win32
- Made the http scanner work on win32
- Fixed a bug where /userhost would report oper status regardless of +H
- Added some stuff that should fix the bug in Windows when including files in other directories
- Added aliases/ which contains config files for aliases to some popular IRC services (more will be added)
- Made makeconf load scan_http.so
- Fixed a /who bug, found by IXpfah
- Updated makefile.win32 for all the new modules
- Added in Fish's patches
- Added bitching when you lack needed IRC commands
- Removed REMGLINE
- Fixed a typo in the win32 makefile
- Really removed remgline (since sts didn't really do it)
- Made changes so the new modules compile on win32
- Added headers to all the new modules
- Fixed a typo in config.h
- Final changes to prepare for beta3
- Fixed some bugreport stuff
- Fixed codemastr-on-crack bug regarding oflag
- Fixed a win32 bug where the http scanner didn't get loaded
- Hopefully fixed the weird Z:line bug on win32?
- Fixed the Z:line bug (caused by stskeeps-on-crack coding) reported by Power2All
- Removed the tokens for /users, /summon, and /samode (these never come from a server so they don't need
  it)
- Added a utility to auto create version.c for win32. It's the worst coding I've ever done, but it works :P
- Added a hell lot of DNS debugging code, and fixed the BIGENDIAN problem
  with resolver. Thanks to dawn and Trash.net for shell on a sparc
- Added umodes.c, long val = get_umode('c');
- Added new umode system to win32 makefile
- Made umode_delete(flag, mode);
- made the umodestring variable smaller to conserve memory
- Added M_RESETIDLE to fix a /privmsg bug
- Fixed a bug with nickserv passwords found and fixed by Mathieu
- Fixed a DEBUGMODE problem with umodes.c
- Fixed a snomask bug found by Rob
- Made the missing commands error a little more.. tardfriendly
- Preperation for beta4
- Made some nameser.h changes to work win win32
- Fixed a typo in makenet found by 'Eternal Bliss'
- Updated module dependancies to allow a module to load the module containing the symbol
- Fixed a win32 bug where the editor would cut off text, reported by Inter
- Added make install to copy files for you when you install unreal
- Replaced killircd, ircd, and rehash with ./unreal start|stop|rehash
- Fixed a bug where the win32 help dialog links were plain text
- IPv6 fixes to Inet_si2p & Inet_si2pB
- IPv6 fixes to make dual ipv4/ipv6 work
- IPv6 fixes for IP_OPTIONS (disables under IPv6, i mean .. IRC multicast.
  WTF?)
- Made ./unreal generated by configure to make sure it has the correct path of the exe
- Added autoconf check for setproctitle
- Added some setproctitle(.., me.name) for extra l33tness :P~
- Changed the setproctitle check to also check in -lutil (some OSes have it there)
- Added aliases/auspice.conf, and added a /register command to aliases/aliases.conf
- Fixed a win32 typo in the .rc
- VERSION M_SERVER fix by skold
- Fixed connecting with IPv6
- Ident requests now orgin with the listener that the user connected on
- More IPv6 fixes, DNS resolving actually works now too.. (crackhead IRCnet
  coding)
- Webserver caching fix
- A little bug fix that prevented the G:line hostmask checker from checking ?
- Made the /kline hostmask checker work like the G:line checker, (it was too easy to K:line *@*)
- Fixed a bug where ./unreal rehash would kill the IRCd instead of rehashing :P
- Made ./unreal restart (to restart Unreal) and made the pid file location more accurate
- Added support for PS_STRINGS and pstat to change the progrma name (couldn't test since I don't have an OS
  that uses them)
- Fixed a win32 bug where pasting text into the editor would not
  show up in the correct font
- Added hscroll bars to the win32 editor (if needed)
- The win32 editor now allows you to edit files included via tld {} (probably needs testing)
- Made the win32 editor allow you to edit include "" files
- Recoded the win32 rehash button to be much better
- Recoded the way the editor menu works (hopefully this is much
  better?)
- Added the ability to create new files via the win32 editor
- Fixed a win32 editor bug caused by me being drunk or something :P
- Fixed the last of the font and editor-cutting-text bugs (hopefully)
- Commented out three lines of code that were causing SSL to freeze on 
  /connect, TODO: code in new SSL error handling (Griever)
- Fixed password crash bug, found by \dev\NULL-Z-[Zap]
- Added new auth.c API and a lot of different crap .. will document later
- Made make install copy modules (oops)
- Added configure code to get the Auth crypt working
- Made Events do thread locking (so we can do funny things and kill small
  furry animals in the attempt for the perfect scanning module) .. yes, this 
  is drunken coding
- Made delayed module unloading possible, make a int mod_delay() adding
  an event, for e_unload_module_delayed
- Updated makefile.win32 for the Auth system
- Redid the event system somewhat
- Fixed a little event issue involving data types.
- Changed the name of the hook functions from add_Hook, del_Hook,
  add_HookX, del_HookX to HookAdd, HookDel, HookAddEx, HookDelEx
  so the names are more standard.
- Added host54.net to /credits
- Fixed a FSU Pthreads bug that caused it not to work on Slackware (help from Frank Mueller)
- Started some work on CIDR support (added some functions from hybrid7)
- Added some functions for generic linked list modifications
- Slightly improved +x v2 algo, win32 releases should be compiled with
  this improvement OFF, at least until 3.2 final. COMPAT_BETA4_KEYS makes 
  it compat w/ beta4 and pre.
- Made checking for redundant bans both ways an ifdef, off by default. 
  Note that undefing this might SLIGHTLY break compat w/ beta4 and pre
- Added "griever would like to thank" section to /credits
- Auth/SSL fixes, list.c fix, code: could you add auth.c and ssl.c to
  makefile.win32?. If SSL is enabled, we can use MD5, SHA1, and crypt()
  even on win32
- Added ssl.c and cidr.c to the win32 makefile
- Added ssl-pubkey auth method (parameter = pem file for public key)
- Converted tkl, events, commands, hooks, and all config structs to ListStruct
- can_gkline/t and can_gzline/Z flags added, docs not modded yet
- Added snomask +n (nick change notices) I personally hate it, but people wanted it...
- Added oper::snomask to allow you to specify a default snomask for an oper
- Added snomask +q (Qline notice), triggered when a nick is being denied from a user due to
  a Q:line.
- Added HOOKTYPE_SERVER_CONNECT and HOOKTYPE_SERVER_QUIT for when servers connect and
  disconnect respectively
- Added module v3 code. Needs testing, and NO MODULES DOES NOT COMPILE
- Fixed a win32 movude v3 bug
- Small v3 fix with no dependency problem
- Fixed some more module v3 problems and upgrade all modules
- Fixed a ton of module v3 problems (cause: Stskeeps is an idiot)
- Yes, even more module v3 bugfixes
- Module v3 bugfixes. cause: codemastr lack find n replace skill
- Moved the mkpasswd program into ./unreal mkpasswd <method> <password>
- Recoded m_oper almost completely, note that the fceT flags are ignored
  now (you still get them, they just dont do shit). Remove them for me 
  please, as well as the +T usermode. I haven't tested this completely but 
  I see nowhere a bug could happen.
- Removed umode +T (useless) and the fue oflags since
  oper::snomask supercedes them.
- Fixed another module v3 bug caused by Stskeeps drunkeness
- Started adding HP-UX module support (Not enough added where it actually works yet)
- Added some more HP-UX code
- Made "Module already loaded" a non fatal error (funny msg on rehash)
- Fixed typical codemastr "Let's delete this from a list we haven't even
  added it to yet *giggles and twirls around*" bug, do to with config_set_unknown
- Fixed events bug, added recoded scan module, got a lot of stuff to fix so
  far. Problems, unloading, (delay), tkl doesn't always sweep it all, 
- Some scan unloading stuff
- FIXED THE GOD DAMNED WHOIS BUG THAT I REPORTED *MONTHS* AGO! -Griev
- Added a new dynamic help system that allows you to add and modify /helpop items
- Made N also give you OaA, since its what most people use it for *sigh*
- A and a give you O, set::modes-on-oper
- Made link::hubmask and link::leafmask actually work properly
- Big mods to TKL, oper commands split into module, testing
- TKL mods compile and run fine, set{} stuff to decide what funcs are 
  avail forthcoming
- SMO recoded but wierd because sendto_umode and sendto_snomask are wierd
- chatops actually checks if sender is an oper, why did no one notice this?
- bugs in SMO ironed out, now sends to someone with ANY of the umodes/snomasks
- Added #undef SECURECHANMSGSONLYGOTOSECURE - send only channel msgs to +z
  people on +z channels
- win32 fixes
- Scan API cleanup (You don't use goto when break works just as good)
- Fixed other scanner bugs (hopefully it 100% works now?)
- Fixed a typo in s_misc.c
- Config parser fixes (bugs found by Souleh)
- Changed SERVICES-NAME warning to error
- Auth_Make fix for crypt method
- Fixed a /time GMT offset bug under Win32 reported by Dave337
- Documentation updates
- Made a few updconf changes
- Credits updates
- Added a few more network files (why do I think this job will never end?)
- CIDR IPv6 fixes, scan_* fixes
- Credits fixes
- Final release cleanups
- Updated /info
- Added back good old error reporting in ./unreal start
- Changed to beta5
- Fixed some slave work.. return MOD_SUCCESS; in all command modules..
- make install fix
- Fixed a last minute bug in win32
- Fixed a bug affecting DEFAULT_PERMISSIONS reported by ashukmin
- Fixes for ->user structures
- beta5 released
- Fixed a bug causing /map to give away Ulines
- Fixed a possible segfault in m_stats
- Bug with crypt not working for /oper fixed
- Fixed a bug where certain oflags were ignored for new-style config flags
- Actually enabled MD5, SHA1 methods when SSL was defined. (fix for drunk
  coding)
- Fixed yet another Win32 editor bug affecting Windows 95/98/NT4,
  found by HA|Raptor
- If host == null, don't set it (m_oper, was setting it to "eek.host.is.null.pointer")
- Small fix for #427583 mode bug
- Fixed it so /module load doesnt require you to do ./module.so if the module is in
  current dir
- Fixed a freeze bug in m_htm (pthreads now uses recursive mutexes)
- Reversed freeze bug fix, _NP means NON PORTABLE
- Fixed a freeze problem with conf_deny_link
- Fixed a bug under WinXP in the editor
- Someone removed tkl and opermotd from the command hash (breaks both commands)
- Made validate_configuration be called on /rehash, reported by Mick
- Fixed a /chgname bug reported by rob where you had to prefix
  the name with a : to set a realname with spaces.
- Fixed a major events bug caused by Stskeeps drunken coding
  reported by Dragon974
- Added mutex.c for our mutexes
- Fixed makenet so techadmin-host is gone
- Removed set::hosts::techadmin from all network files
- doh, missing a ! in m_tkl.c that allows us to do bad things(TM)
- Fix for nested comments, found by lnxgk
- C++ comment fix, lnxgk again.
- Crash in scan_http fixed, h->in instead of &h->in = bad
- Made tld::mask be user@host instead of just host
- Fixed problem with EventDel, doing eventptr instead of eventptr->name
- Fixed bug #0000019 reported by Syzop, and bug found by same to deal with
  individual module loading
- Fix for svsnoop symdep problem
- Fixed sts's fix for svsnoop (since he failed to test his fix)
- Fixed a bug where the win32 editor would always say the file
  was modified even if it wasn't
- Fixed .1081 problem, see bug #0000020 for more information about how
  it REALLY should be fixed
- Fixed a typo reported by Tracer (bug #0000022)
- Made support in *nix for encrypted SSL private keys,
  "make encpem" to make an encrypted server key if you already have one
- Removed some ancient debugging code (num - %s)
- Wiped out FLAGS_TS8 because I want to move ->flags into the local section and
  FLAGS_TS8  had 0 purpose except setting CHFL_SERVOPOK (which did nothing)
- Fixed typo I made in previous fix causing non-compileness
- Moved some members of the Client structure to the local section, should be
  a nice cutdown on memory.
- Recoded the win32 editor to use a toolbar, and added support
  for XP style controls
- Made a few additional cleanups to the win32 code
- // comments are not supported by many compilers and should not be used
- Fixed a bug where teh SAJOIN/SAPART/SVSJOIN/SVSPART tokens were screwed up found by 
  Andy Church
- Made even more changes to the win32 editor (undo/redo buttons,
  and current line number display)
- Fixed yet another serious sts bug, we have to release beta6 soon :P~
- Fixed check_for_target_limit, should be more lenient now
- Sts is going for a record here, fixed ANOTHER auth bug in the SAME function
- Added hunt_server_token (the same as hunt_server except if the
  server supports tokens, the token is used)
- Added the ability to go to a specific line in the win32 editor
  by clicking the current line number in the status bar
- Converted all calls to hunt_server to hunt_server_token
- Preparation for release
- Changed version to beta6 and added final cleanups
- Added the TKline, TZline, and GZline commands to the documentation
- Fixed bug in m_tkl_line causing segfaultage
- Any reason why HOOKTYPE_SERVER_QUIT was being called for clients?
- Fixed exit_client to do NOQUIT type thing for SQUITs
- Moved around a lot of aClient/anUser members, hopefully wont cause
  segfaults
- Fixed res.c not managing to pass the proper type of parameter to inet_ntoa ONCE
- Lots of commands were using MAXPARA when they shouldnt have been
- passworded allow{} in example.conf doesnt match anyone anymore
- Fixed oper{} locop stuff
- Added can_gzline to doc/conf.doc
- Replaced EventModEvery with EventMod (allows broader modification)
- Maybe (but I doubt it) fixed bug #0000040 (Win32 resolver crash) reported by Kyver
- Hey everyone it's point release time... I completely screwed up check_for_target_limit
- Made the kline-address error easier to understand (must be instead of is not)
- Made a SNOMASK for the +s notices, so you arent forced into hearing them if you just
  want say +k
- Fixed some return values, can't gline masks with a ! in them anymore
- ARGH
- Recoded the module system somewhat, events are now 'stable' meaning if a module doesn't unload an 
  event the IRCd will not crash. Also fixed a crash involving delayed unloads and cleaned up notices
- Problem with sendto_ops and !aClient->user  fix
- Fixed bug in m_tkl_line and various m_line functions (was checking for wrong # of paras)
- Recoded hooks to take advantage of the module object code
- Fixed a memory leak in hooks
- Fixed a bug with module objects involving static linking
- Recoded hooks to work just like events
- Fixed a listener bug reported by Dragon974
- Removed some useless tkl code
- Fixed #0000046 regarding Module_free memory leak
- Added patch in #0000053 by |savage|, speedup in can_send
- Possible fix of #0000042 regarding duplicate scans at same time causing
  one to slip through, reported by Zogg
- Fixed a win32 editor bug reported by Jens that limited text additions to 32KB
- Really fixed bug #0000011 reported by Dragon974 (listener bug)
- Added link::cipher for #define USE_SSL, use this to select
  ciphers, read example.conf for more. Closes #000016. Suggested by narf
- Added a dialog interface to .pem SSL passwords. (Suggestion #0000025)
- Fixed some minor issues with dialog interface for .pem SSL passwords
- Added makecert.bat / encpem.bat to src/win32, which are used in SSL release
- Fixed some t.next's and replaced with codemastr method(tm)
- Fixed a t.next recode typo
- Added a ./Config check to see if gcc supports -pipe (speeds up compilation)
- Made SHOW_SECRET (allow opers to see +s chans in /whois) defined by default, suggested by Sid-V (#0000037)
- Added except tkl to allow exceptions from tklines, tzlines, shuns, glines, and gzlines, suggested by
  funraiser [still need to design a way to report in /stats] (#0000044)
- Documented link::cipher and except tkl in doc/conf.doc
- Changed umode +I behavoiur to you have to be loading invisibility.so to have
  the +I functionality. Code is still in IRCd, but isn't used until module
  is loaded. Loading of this will cause an "R" to be added to /version
  flags. Hopefully this will satisify some people's thoughts about a so 
  called spy tool being enabled by default. Also added flag_add(char *) 
  and flag_del(char) for modules to add to flags string. -Sts
- Removed -win32 postfix for wircds, look in /version for "W" instead
- Removed ircnetwork part of /version
- Cleaned up a bunch of -Wall warnings (unused variables, etc)
- -Wall cleanup cleanup with SSL AUTH problem
- Fix for /version crash, reported by RaYmAn
- Made all functions use new-style parameter lists
- Moved set::socks::ban-time to set::scan::bantime, and remove the other set::socks::* (not used)
  also added set::scan::timeout to specify how long the scanner should wait for a response 
  before giving up
- Added HOOKTYPE_STATS - allows modules to respond to certain /stats (so far only S is supported)
- Changed some m_ functions into CMD_FUNC(m_*)
- Fixed a win32 bug with the scanner code changes
- Added a win32 menu item that lets you view log files
- Documented the net set::scan::* directives in doc/conf.doc
- Fixed a bug in the new usermode system that caused odd Unknown mode flag reporting.
- Added a shutdown confirm message box to the X button on the win32 GUI 
  (suggested by dimplesx #0000058
- Made the win32 version set log files to writable if they are
  read only (reported by dimplesx #0000057)
- Removed useless stuff in m_oper (null ptr thing, just dont set them)
- Fixed auth.c to use random salt
- Fixed loadmodule invisibility.so: undefined symbol: 
  get_umode bug, reported by James-Bond, #0000060)
- BEFORE you use event functions, LockEventSystem(), after,
  UnlockEventSystem(). In EVENT() functions, the system _is_ locked.
  This might fix the double recursion mutex problem we got.
- More -Wall cleanups
- Fixed hunt_server_token (use IsToken on acptr->from, not acptr)
- Unbroken Griever's broken hunt_server_token broken token fix
- Various fixes to virthost system, may fix some memory corruptions,
  and potential exploits.
- Made makefile ability to "make custommodule MODULEFILE=m_zline"
  if m_zline.c is in src/modules/, it will get compiled. This SHOULD
  help 3rd party modules atleast
- Added "tainted" variable. 3rd party modules must ++ this upon load,
  -- upon unload. Will show a "3" in flags.
- Added extras/m_rawto.c - 3rd party module. Fixed some documentation
- Added andi's OpenBSD fix for the symbol issue with prefix _
- Added SJOIN fix so it won't accept NULL channels
- Fixed a problem with Mod_Handler being **, found by andi
- Fixed an issue with -x and /quit and whowas, found by RaYmAn
- Modified the OpenBSD fix to work for all OSes that add an _
- Fixed m_rawto.c problem found by TheDarkOne
- Possibly fixed the /who flags bug reported by sbalmos (#0000063)
- lack of time sucks. openbsd problem
- Fixed a typo in the docs found by TheEggMan
- Fixed a m_htm.c problem
- Updated supporters list in /credits
- Fixed s_conf.c so a) It uses MyMalloc b) It doesn't cast the return
  from MyMalloc!
- Clean compile under -Wunused
- Clean compile under -Wformat
- Clean compile under -Wparentheses
- Clean compile under -Wall -Wno-implicit
- Fixed #undef STRIPBADWORDS problem, patch by light
- Blah blah new cloaking shit blah
- Added a patch by Syzop fixing a memory leak in StripColors
- Added a patch by Syzop fixing a +k issue using a key with a , and when using long keys
- Added a patch by Syzop to fix a MyMalloc/MyFree debugmode error
- Added yet another patch by Syzop to fix a /vhost bug when using very long args
- Added a patch by Syzop to fix a possible hash bug with /list
- Made the server pass extraflags at linking for deny version validation
- Added a patch by Syzop to fix a bug preventing +I from being used (fixes #0000073)
- Readded examples to doc/conf.doc by request of several users
- Clean compile with -Wall
- Win32 cleanup of the -Wall cleanup
- REALLY clean compile with -Wall (except for wierd TStime stuff)
- Removed all remnants of PROTO()
- Removed src/cio_main.c, src/cio_init.c, include/cio.h, include/ciofunc.h extremely old unused code
- Win32 fix with u_int16_t
- Removed my_name_for_link (unused)
- Preparation for release
- Changed to beta7
- Fixed a IPv6 problem reported by Zerwas
- Fixed -Wall warnings for TStime
- Compile fix for TS2ts 
- Small release tricks
*** beta7 released ***
- Fixed a win32 editor bug where the line count didn't display right away (reported by
  iDW-badSol)
- Module Insanity Recode (part 1) if the module version is 3.2-b8* we now pass a ModuleInfo struct
  to Mod_Init which contains extended information. This replaces the Mod_Handle method in beta7
- Module Insanity prototype fix
- Fixed a listen::options::serversonly bug reported by swissSolaris (#0000084)
- Fixed leftovers of non- char *configfile compliance. Thanks to ace and
  various other people ..
- Fixed a /mkpasswd typo and added the updated /mkpasswd syntax to doc/unrealircd.doc, both
  reported by peck
- Made the command system use module objects (haven't yet converted modules to use it)
- Fix with DEBUGMODE
- Fixed a Chinese nick bug found and fixed by Xuefer
- Fix with status needed for remote clients too. Found by
  Craig/FrostyCoolSlug <Craig@e-tidalwave.org>
- Fixed m_oper setting +O on globops
- Fixed bug with mode buffer overflow .. I'm not 100% positive it works..
  Thanks to larne, Luke, SciFi, panda, ^Tux^.. Syzop .. and the countless
  people bitching about their servers going down.
*** beta8 released ***
- Added log {} syslog support (appears to work fine) [#0000099]
- Added HOOKTYPE_JOIN
- Converted all modules to 3.2-b8 format (passes ModuleInfo)
- Updated doc/conf.doc
- Fix for desynch problem with the fix in /mode system, Thanks to Luke
- One little patch for humanity, one giant step for science..
- Cosmetic fix for /setident, found by juli ..
- Implimented a dynamic hooktype system to allow modules to create their own hooktypes
- Fixed a conf_unknown bug
- Added EXLIBS= to make custommodule so a module can specify additional libraries it needs
- Changed version to beta9 and updated documentation
- Made +I once again work in win32
*** beta9 released ***
- Fixed a stupid m_oper bug
- Fixed a win32 editor bug causing a crash when you click save multiple times
- Fixed a /stats q bug where it would crash if there was an sqline with no reason, reported by toji (#0000120)
- Fixed a bug that caused locops to see client exiting but not client connecting notices while +s +c,
  reported and fixed by cmx (#0000123)
- Fixed a bug reported by dimplesx where +H did not decrease the oper count (#0000129)
- Documentation bug #0000152 reported by Tony at sexnet.org fixed regarding
  example.conf being wrong about set::socks
- First part of skyper's security audit patch
- Some more of skyper's security audit patch. Some of them were simply
  unfair in regards to performance or blindly added strlcats/strlcpy
- Fixed some problems with skyper's patch (typos)
- Fixed a cloak problem on OSes with 64bit integers (reported by wolven)
- Updated credits
- Memory leak fixes with scanners
- Some fixes with connect(). Knowing my luck this will fuck up to hell
- Fixed another memory leak with the scanners
- Fixed some helpop typos reported by BiGi (#0000144)
- Fixed a typo in /stats ? where T/t were reversed, reported by Zer0
- Fixed a typo displaying a message to edit config.h after compiling reported by dimplesx
  (#0000133)
- Fixed a bug where except ban didn't work (reported by Hercules)
- Fixed a scanner memory leak, and made some changes to make the HTTP scanner work
- Fixed a bug in the socks scanner causing it to fail
- Removed some typecasts from free calls, *hopefully* it will fix some problems
- Fixed a bug with \r\n being mistakenly parsed wrong. Thanks to John_z
- Fixed a config parser bug that would cause a crash under certain conditions. Reported by 
  roskecr (#0000173)
- Rewrote check_pings and the whole way banning people are handled. Do loop.do_bancheck = 1
   to provoke a bans check. This possibly fixes #00001702, #0000137 and other
  funny bugs.
- Fixed a number of bugs in the upper patch. 
- Fixed an OpenBSD bug reported by RaYmAn, k0adh, and numerous others (#0000104)
- Credits changes
- Fixed problem in dopm (short and char should NEVER be passed to va_arg)
- Fixed HCN so it uses IP instead of sockhost.
- Changed version to beta10 and updated documentation
- Removed obsolete network files
- Added some new network files (hopefully I'll be able to get all the submissions added soon)
*** beta10 released ***
- Added a config check to see which (if any) gethostbyname_r exists (based on a macro by Caolan McNamara)
- Removed some SOCKS scanner debug code that was forgotten
- Finally REALLY fixed the scanner (note to Stskeeps: bcmp returns 0 when there IS a match)
- Added OpenIRC-CA in .SICI
- Fixed a openssl+ipv6 bug, pointed out by Aragon .. This probably breaks some other crap, but what
  the heck..
- Made ident checking work on IPv6 as well
- Fixed a /stats L/l bug reported by dimplesx [#0000190]
- Fixed some typos in validate_configuration, fixed a hostilename problem when ident
  checking is off
- Fixed a hostilename problem reported by Xuefer [#0000158]
- Fixed some stuff to deal with #136 - Please note that we do NOT compress our addies
  - reason for this is because for example ::ffff:192.168.1.5 would really fuck up stuff
  in the IRC protocol
- Fixed a typo in doc/example.conf that I believe is causing ident not to work
- Fixed a /stats Z bug where it didn't correctly report local clients
- Made /stats Z once again report the # of classes and memory used by classes
- Added an allow::options this fixes some problems with allow, ident is now used
  unless allow::options::noident is set, also if the user matches an allow by IP rather
  than by host the hostname is still used for the u@h, unless allow::options::useip is set
  (idea inspired by danielek)
- Fixed a bug in the new allow system reported by danielek
- Fixed a maxperip and a maxunknownconnectionsperip bug in IPv6 reported by danielek
- Fixed another scanner bug causing the scanner to never timeout
- Fixed a module bug when there is an include between a module-config-directive and the loadmodule
- Made it so if a module fails to load it is non-fatal, reported by Adiga007 (#0000194)
- Made hosts converted to lowercase before run through hidehost() this way ABC.com is the
  same as abc.com, reported by Magnet (#0000065)
- Converted the status window in the win32 GUI to a modeless dialog
- Fixed a win32 bug where the tray config menu didn't contain anything, reported by Jens (#0000127)
- Fixed a /who bug where + wasn't shown for voices, reported by Wcc (#0000202)
- Included larne's /who patch, adding a multitude of symbols? :P
- Split 005 and 105 up in order to conform to the RFC1459 limit of 15 parameters per
  command
- Failsafe check (to be removed again) in s_bsd.c
- [nighthawk 2002-06-16] Added myself to s_serv.c:m_info().
- Fixed a doc/conf.doc typo reported by SciFi
- Documented the new allow::options in doc/conf.doc
- [nighthawk 2002-06-17] Rewrote m_who.c from scratch.  It's slightly different,
                         help.conf explains exactly how.
- [nighthawk 2002-06-17] Changed m_quit.c slightly, removed a redundant strlen,
                         made prefix-quit of "no" not use one at all, since this
                         is in example.conf and is sensicle..
- Couple of updates to INSTALL.
