.r 5.0.2 Release
22.12.2002
.  The last bug to be fixed, which caused stack overflow in s_send.c
   was removed. Special thanks to Andreas Haeberlen.
05.12.2002
.  Fixed logical errors in check_server causing invalid error
   messages
27.11.2002
.  Removed the blockheap for the user structures.
23.11.2002
.  Finalized m_fakeip.c
.  Solved bugs in m_umode
.  Do not clear module paths after rehash.
11.10.2002
.  Made delays about flush_connections shorter.
10.11.2002
.  Cleaned up some defines.
09.11.2002
.  Added helpop mode +h, and some whois extensions for this mode.
.  Added ability to display modes in whois.
05.11.2002
.  Fixed bugs with RPL_ENDOFSTOPLIST
28.10.2002
.  Added boot scripts and sysconfig files for
   Linux operating systems.
.  Fixed bug with m_set.

.r 5.0.1 Release
19.10.2002
.  Fixed NICK change bug sptr -> nick; %~C -> %s
15.10.2002
.  Fixed "static" init_serveropts in m_version.c
	Reported by smjones
14.10.2002
.  Fixed the bug about the ircd coring down when calling
   find_client after a buggy del_from_client_hash_table! oops!
07.10.2002
.  Fixed problems related to %!C because of non-id capable
   servers.
.  Fixed DOUBLE SERVER problem.
.  Fixed INSTALL file for misleading information about 
   the example configuration file.
.  Fixed the bug in m_setlang.

.r 5.0 Release
06.10.2002
.  Fixed problems with sendto_channel_butserv
05.10.2002
.  Reworked on flush_connections code for zipped links.
.  Redid the sendto_channel_butserv with a new prefix
   preparation function.
01.10.2002
.  Fixed m_sjoin not setting modes correctly.
.  Reworked on the splitmode checking code.
25.09.2002
.  Added the forgotten use_remoteconnect feature. (oops)
24.09.2002
.  Cleaned up the config file even more.
.  Changed the iphash system to comply with the one of hybrid7
20.09.2002
.  Made valid_username use IsAlnum instead of IsAlpha.
	Reported by dg (dgl@dgl.cx)
18.09.2002
.  Cleaned up unused items in the config file.
.  Reworked on the way capab is sent, added EXCAP capability
   for the new EXCAP command.
15.09.2002
.  Cleaned up most of the free_* code.
.  Fixed bugs with free client.
.  Removed PwdItem structure.
.  Fixed documentation about the missing floodcontrol item
14.09.2002
.  Fixed key remove bug.
13.09.2002
.  Added forgotten code to read maxclients file back.
.  Removed /zline and all related code.
.  Fixed kline behavior oddities.
17.08.2002
.  Redesigned channel.h and rewrote buggy send_mode_burst.
.  Fixed channelmode modules to work correctly with the new
   send_mode_burst.
16.08.2002
.  A first attempt has been made to fix send_mode_burst by chanmode
   +x
14.08.2002
.  ListOptions structre is now no longer bound to the user
   structure. 
	Reported by Teoman Özdemir (teoman@anet.net.tr)

.rc4
10.08.2002
.  Fixed auth, which did not really read the reply.
 	Reported by toxic (toxic@rt.mipt.ru)
09.08.2002
.  Added fixes to prepare_channel_prefixes_localremote
08.08.2002
.  Bugs in free_client and sendto_channel_butserv were solved.
.  Added a small test environment for GNU Makefiles
.  Made fixes to dependent module loader.
.  Fixed odd behavior when adding and removing bans.
07.08.2002
.  Sendto_gnotice from samode/operdo has been replaced with sendto_ops 
	Demanded by "FireHazard"
.  Rewrote all chanmember case, and removed it and made channel
   dlink lists use client structures instead.
.  Removed totally unnecessary code from some chanmode modules.
.  Added helper functions as protocol flags to help block heaps
   run correctly.
06.08.2002
.  Rewrite of all sendto_channel_butserv to use Tokens and also
   buffer prepare functions. Moreover, function call has been
   shortened.
.  Made /stats F, L, X, h, p use NUMERICs instead of NOTICEs.
.  Garbage collecting will now be run with the event manager.
.  Totally unnecessary events were removed.
05.08.2002
.  initblockheap fixes
.  Replacement of some initialization functions in ircd.c main loop.
03.08.2002
.  Fixed bugs with the text to be sent when talking in a +c channel.
	Reported by Teoman Özdemir (teoman@anet.net.tr)
.  Fixed misbehavior with channelmode +b and /nick commands.
	Reported by Teoman Özdemir (teoman@anet.net.tr)

.rc3
31.07.2002
.  Added a kludge into adns/check.c to reinit resolver if dns_state
   got unexpectedly NULL.
30.07.2002
.  Wordfilters now use dlink lists.
.  Fixed buggy behavior of user_parse();
.  Added /stats ~, report configured dns servers.
.  Fixed bugs in m_nick.c, resulting in failure to load the module
   if fakehost support has been disabled.
28.07.2002
.  find_client and find_channel have been revisited.
.  Found out why some clients were exited multiple times:
   The quit/squit was sent more than once.
.  Cleaned up SJOIN sjbuf filling code.
.  added logevent_personal, to create and use personal debug text.
.  Removed do_identd directive since it served no purpose.
.  Modified comm_connect_tcp like h7 and added the timeout field.
.  Timeout value for identd connections can be set via the 
   server configuration file with identd_timeout option.
.  Changed outofmemory() to tell what it was doing.
.  watch.c separated from hash.c
27.07.2002
.  Fixed de-MODE problems with SJOIN.
.  Rewrote the copybuf totally, added waitlen and restbuf to
   the client structure, and prevented the ircd using a single
   buffer for all clients.
26.07.2002
.  Fixed problems with /display showing part of comments
.  Fixed /rehash throttles not working correctly.
.  Added kludge for the lexer pretending having errors.
.  Modified failed-oper notices to show more information.
.  Fixed IsOperMode to not trigger for local operators, unless
   /operdo or /samode has been used.
.  Removed dgets() forever, fbgets is being used for this.
.  Reworked on PARSE_AS_SERVER and added code to ensure that
   server_parse is not revoked for client connections.
.  Fixed problems not setting client_p->servptr correctly.
.  Fixed operdo allowing only ONE mode change due to misplaced 
   ClearOperMode();
25.07.2002
.  Small fixes for invisible counter added.
.  Small fixes for languages added.
.  Small fixes for idle time checker added.
.  Small fixes for signal and sigio issues.
24.07.2002
.  Bugs with is_nuhed solved.
.  Watch list management rewritten.
.  Pointer problems with nick_is_nuhed solved.
.  Problems in m_kick with pointers solved.
.  Problems with exit_client not returning solved.
.  Problems with m_pseudo not checking the hostname solved.
.  Problems with pointers in remove_nuh, send_nuh solved.
.  Invisible counter fixed.
.  Added workarounds for channel svsmode
23.07.2002
.  Fixed m_join, looking to be setting +Tn, where it set +tn
.  Added --enable-root, otherwise the ircd will not be run as root
.  Rewrote aNUH * issues, and made channels use double linked lists also
   for banlist, invitelist, exceptionlist, zapchanlist, modhostlists
   This also helps solving memory leaks with SVSMODE when used for channels.
22.07.2002
.  Fixed more compilation problems with kqueue and devpoll
	reported by Alex Dupre (sysadmin@alexdupre.com)

.rc2
22.07.2002
.  Fixed bug in logfiles.c preventing logevents from being written to multiple files
.  Fixed compilation problems with kqueue.
	reported by Alex Dupre (sysadmin@alexdupre.com)
21.07.2002
.  Added a way to prevent modules from being unloaded : persistent modules
.  Fixed bugs with dependent modules
.  Added buffer cleaning code to s_send.c
17.07.2002
.  A bug with adns code was fixed.
.  Added --disable-mmap option to configure, to disable mmap with mmap
   problematic operating systems like solaris.
16.07.2002
.  Bug with too many connections, caused by wrong sequence of adns/auth
   calls, removed with the help of Electric Fence
11.07.2002
.  Fixed problems with D_MAX_CLIENTS, max number of clients was
   mistakenly hard coded.
.  Fixed problems with errno.h on SunOS
.  Fixed problems with Makefile, when running on /bin/sh which is
   not bash.

.rc1
08.07.2002
.  Bug in privmsg nick@server was not working correctly.
07.07.2002
.  Added a new serveropts string to /version, cleaned up patchlevel.h
.  Added uninstallation option to the Makefile
.  Revisited version.c.SH and fixed some oddities with md5sums
.  Added a way to reload dependent modules from ircd.conf
.  Fixed throttle_stats to not work when block heap allocation is not used
06.07.2002
.  Fixed bugs with /display, match() was replaced by strstr().
.  Added documentation about TS5.

.rc0
29.06.2002
.  Implemented a totally new Logging System. Based on LogEvents
.  Fixed small bug in commandline parser.
26.06.2002
.  Fixed evil bug with /rehash, a not correctly initialized array in
   the parsed caused invalid ports be initialized.
.  Removed totally unnecessary logging information about connection
   classes.
25.06.2002
.  Fixed bug with /rehash and listeners.
.  Fixed bug causing crashes when freeing NULL ConfItem structures.
24.06.2002
.  Fixed bug preventing compilation on non-zlib enabled systems. 
	Reported by Emrah@hotmail.com
.  Added new channelmode +N preventing users from joining, when they do
   not have a resolved hostname.
23.06.2002
.  Fixed some odd behavior with MODE, user was not informed of unknown
   modes.
.  Added another configure parameter to skip the usage of 64bit code
   for hpux systems, since on some, there are missing 64bit libraries
   even though the compiler can produce 64bit code.
   --enable(disable)-wide-longs
.  Dumb bug in halfops, where the user was added into chanops list :-/
   was removed.
22.06.2002
.  Added a faster BASENAME protection code.
21.06.2002
.  Added 64bit checks into configure for HPUX, the ircd can now be 
   compiled with +DA2.0W, objects will be PA-RISC 2.0 objects with
   wide longs.
19.06.2002
.  Bugs with help file installation solved.
.  Old LOCKFILE code removed totally.
.  Bugs with server_parse and user_parse solved.
.  Zapped channels mode is now functional. Additional checks have been
   added to prevent non channel arguments from being added. Only arguments
   beginning with # or & will be accepted
.  Wordfilter code has been seperated into its own directory and files
.  Bugs with /stats w not showing filtered word entries are removed.
.  Makefile was changed to be GNU-ish, so it wont work on systems with
   non-gnu Makefiles

.pre8
18.06.2002
.  Obvious bugs with MODE letters eliminated.
.  Tokens can now only be used by servers.
.  parse() is now separated into server_parse and user_parse to make
   the parse call faster by elimintating unnecessary checks.
.  Rehash functions were moved to s_boot.c
.  unkline * removes all klines.
.  Ominous bugs with match() removed.
17.06.2002
.  Pseudo commands are bound into src/pseudo.c
.  Bugs in do_nick_name solved, clean_nick_name from h7 taken.
.  Bugs in /hs command solved.
.  Bugs with single modes, where no mode was really set, solved.
.  /unkline and /ungline can now work again.
.  The installation routine forgot creation of localstatedir, var/
.  A Bug in /join 0, which resulted in PART of one single channel
   is now removed.
.  converter.sh has been convinced to use TestNet as default network name.
16.06.2002
.  Klines and Zlines are no longer permanent, they are not
   written down to the server kline files. 
   The pending_kline case is totally removed. Klining permanently
   should be something services should do, anyway.
07.06.2002
.  Merged many independent server variables into the
   GeneralOpts Structure, and made them be usable.
.  A new command line options parser is written and usable.
.  It also supports GNU-like options (--debuglevel, for example)
06.06.2002
.  Added some more checking into can_send()
.  Added consistency for struct pending_kline.
.  Cosmetic fixes for numeric 005
05.06.2002
.  Removed cluster(). Klines use *username@host when invoked
   by a nickname as a parameter, and Zlines use the IP when
   invoked by a nickname as a parameter. No more *.domain
   issues will be taken.
.  Changed Makefile, that the conversion can take place with
   the correct path information for the ircpasswd file, which
   is required for md5 based password entries.
04.06.2002
.  Added a converter script, which can also be invoked by
   configure, when --with-old-config=/path/to/old/ircd.conf
   This converts the old server config file to the new format.
.  Rewrote the code which does command line options parsing, 
   and added gnuish options.
.  Did some additional initializations for memory, as well as
   core file creation, with code from hybrid.

.pre7
03.06.2002
.  Strlcat was buggy, it has been re-replaced by strncat again.
02.06.2002
.  Another attempt has been made to solve the buffer allocation 
   bug with encryption and zip enabled.
.  Counters for user connects were removed, they have been added
   back to the ircd.
.  Small changes to m_error.c
31.05.2002
.  Bugs in m_getlang and sys_errlist issues with HPUX are solved.
29.05.2002
.  uintptr_t case solution taken from hybrid7.
.  Block heap code patched again with mmap issues.
28.05.2002
.  Added --with-fakehost-postfix= directive to configure to change
   default top level domain postfix used when creating fakehosts.
.  Fixed bugs with devpoll/kqueue LOG_CRIT -> LOG_ERROR
27.05.2002
.  Patched block heap allocator code.
.  Fixed bugs in m_stats
26.05.2002
.  Finalized code for s_packet.c where the failures about the
   incomplete buffers existed.
.  Redesigned char *_version to use CVS Revision information.
.  Introduced a path generation script, which will allow the usage
   of all variables of configure path definitions
25.05.2002
.  Removed old local[] totally. lclient_list is used for this.
21.05.2002
.  Removed strncat and strncpy and strncpyzt. Implemented strlcat 
   and strlcpy for this task.
.  Redesigned some information used for versioning.
20.05.2002
.  Added md5sums also for the include/ directory, updated m_hash
   for this.
.  Added Bahamut style control for acebots. GCOS check function
   discovered by PB@dal.net
.  Redesigned listen { }, added subblocks to define a listen set.
   This allows to use { ip, port }; as well as { port, ip }; 
   And so is this appropriate with the rest of the block
   theory, and the listen subblock elements do no longer
   require a predefined queue like: first the ip, then its ports.
   Now you can freely write things the way you like it.
   In plan is also a way of specifying multiple ip addresses
   in the same listen subblock. Also updated manpage and the
   example configuration file for this.

.pre6
18.05.2002
.  The Problem with %T and casts and sizeof is solved.
   This required modification of client and channel structures
   and renaming tsinfo and channelts fields to tsval.
17.05.2002
.  Finally, the line/char skip problems in server connection
   buffers solved. 
.  Removed old GMP support, was unnecessary.
02.05.2002
.  Bugs in AKILL-RAKILL-EXCLUDE-REXCLUDE with regards to
   Uline issues solved.
01.05.2002
.  Bug in MODE command a la MODE #channel +. nick solved.
29.04.2002
.  When compiling as static, some modules were forgotten to
   be initialized. This has been solved.
.  Enforced the usage of the %T determiner in timestamp issues.
28.04.2002
.  Cosmetic fixes to procotol reply functions.
.  Bug in /stats O solved.
.  Bug in SVSJOIN solved.
.  Tests show that Ipv6 support can be compiled with cygwin 
   and using Microsofts IPV6 API.

.pre5
25.04.2002
.  Changes to /list so that it now works.
.  Unused code about motd cleaned up, motd section is now in
   server/s_motd.c
22.04.2002
.  Cleaned up bugs in the parser.
.  Added u_int32_t fix for cygwin.
.  Bug in linker with static modules solved.
21.04.2002
.  Implemented protocol changes to the CLIENT line to
   inform the remote server about the ipv6 ip address
   of the client.
.  Made /userip command be able to display IPv6 hosts.
.  Implemented hostmask match algorithms from hybrid7 to
   make match_ipmask() better. This now also works for
   ipv6 addresses.
.  Ipv6 Protocol support is now fully functional.
20.04.2002
.  Implemented some IPv6 technologies to make the ircd listen
   and accept on IPv6 addresses. The code for this is currently
   not finished.
19.04.2002
.  Added a new way of Timestamp checking modes: TMODE, token ~
   This will prevent modes from being inconsistent on two 
   sides of the network after a netjoin.
.  Added the determiner %T for ircvsnprintf, stating a
   channelts or tsinfo value for the given structure.

.pre4
19.04.2002
.  Missing checks in cm_flood.c and cm_limit.c are filled.
   These would have prevented the ircd from correctly setting
   modes when parameters of +l or +f were incorrect.
18.04.2002
.  The SJOIN case seems to be solved. The problems about
   inconsistent letters in the MODE lines have now vanished.
   They happened due to a misplaced check of buffers.
17.04.2002
.  Added a contributional module for GETLANG command, to get
   the ID of the given language.
.  Created a way to inform other servers about the chosen
   language of a user. This is done with the MODE command,
   it uses the +L <number> as a parameter and informs
   other servers about language changes (/setlang)
   Initial language is already propagated with the CLIENT
   line, and the NICK line are used by software which is
   unable to use Identities, tokens and languages.
.  Modified the SVSMODE command, to support the +L mode
   for a user to change their language.
   It is also possible to use multiple mode flags with
   SVSMODE line (+rdL <servicesid> <langnum>)
.  Added the +L flag to the /who command to search for
   users with the given language
.  Also made general fixes to the m_who.c
08.04.2002
.  get_channel() has been updated and is now create_channel.
   To find existing channels, find_channel shall be used.
.  After a test compilation with -Wmissing-declarations
   those cases are now solved.
05.04.2002
.  In order to prevent collisions, %-C has been renamed
   to %~C.
03.04.2002
.  Problems with mode letters in CHFL_ case solved.
.  Removed list.c and moved its contents to client.c and
   channel.c
.  Bug with +l or +k in SJOIN solved.
02.04.2002
.  Small debug fixes for parse.c
.  Conflict case in the bison/flex parser solved. timespec
   values shall no longer be added.
01.04.2002
.  Merged %D %E %F %I into %C -> %-C %^C %*C %!C
.  Rewrote ircsprintf.c. Is now shorter and faster.
.  Found a new way of parsing hooks faster. hook_call_event
   no longer uses strings, but hook ids to call the hooks.
31.03.2002
.  Fixed tons of typos in ircd.conf.5 and example.conf
30.03.2002
.  Fixed evil buffer owerflow case in line buffering.

.pre3
27.03.2002
.  Logical fixes to client exit case.
.  Made SJOIN Halcyon capable
26.03.2002
.  Made fixes into server/s_numeric.c due to multilanguage support.
.  Made fixes to m_services.c to make /services better.
.  Ircd will start correctly even if aliasname= is missing.
.  Problems in /stats K|k output solved. 
.  Made fixes to m_unkline.c, made /ungline simpler.
.  Typos in del_silence fixed.
.  Made links_from_file work again.
.  Made fixes to sendto_common_channels To prevent duplicate sends.
.  Made fixes to cm_key.c the MODE was not set, only the key value.
25.03.2002
.  Bug in /stats a|A output about the duration of an autokill solved.
.  Bug in find_conf*, where the absolute status instead of inclusion
   was used, solved. 
.  Turkish language module mostly finalized.
.  Fixes in the parser for newer versions of bison (taken from h7)
24.03.2002
.  Created a makecontrib script, which makes the user choose which
   modules to include from contrib/ if the ircd is compiled with
   STATIC_MODULES defined.
23.03.2002
.  Added new options to configure to make the ircd be able to compile
   with static modules and support trircd4 and Bahamut.
.  Added example protocol and example language modules under contrib/
.  Made channel svsmode work again. Return value problems with hooks
   in remove_matching_nuhs solved.
22.03.2002
.  Privilege problems in MODE-TOPIC-KICK solved. Was due to a failure
   in the handling of dlink lists.
21.03.2002
.  OpenSSL coredump case solved. Was due to a pointer dereference problem.
.  Events resceduled to not start all at the same time.
.  Writing down links to a file case is solved.
.  Compatiblity problems with channelmode +T solved.
.  Problems in /operdo and /samode solved

pre2.
20.03.2002
.  Halcyon compatibility in PRIVMSG/NOTICE Directed finished.
.  Added REHASH HELP
.  Added HASH command to check MD5 summaries.
.  IRCD now supports OpenSSL
19.03.2002 
.  Added MD5SUM code into the ircd.
.  Enabled the ircd to send different CAPAB lines for
   Different compatibility modes.
.  Added Support for Greeklish.
.  Problems with aliasname in send_me_* solved.
18.03.2002
.  Finished first step of protocol modules. Missing is a way
   to support different SERVER, NICK, CAPAB lines.
.  Made NICK and SERVER introduction code hook based, 
   Protocol modules add the correct hooks.
17.03.2002 
.  Created a way to support more than two protocols.
   Protocol support is now done on a modular basis, and it is
   possible to support Bahamut pelennor and halcyon ircds.
   Due to the high amount of necessary changes, it is not
   planned to support other ircds.
16.03.2002 
.  Finally Fixed the problem leading into core after /rehash
   It was due to removal of the CONF_CLIENT multiple times.
15.03.2002 
.  Changed m_services.c so that it also uses tokens.
13.03.2002 
.  Added cm_flood.c, support for floodmode in channels (+f).
12.03.2002 
.  Bug in m_squit solved: The function should not return FLUSH_BUFFER
.  port directive in auth { } is now functional.
.  Problem in next_client() about wildcard matching solved.
.  Language string in /server: /server server port pass:host:language:nickservpass
.  ChannelConf structure made better.
.  The Ircd is now TS5 capable, no_chanops_when_split is removed.
11.03.2002 
.  rewrote total SJOIN command.
09.03.2002 
.  sendto_operators and sendto_users added
.  flood control in m_message.c
08.03.2002
.  Makefile.in changed for versioning
pre1.

$Id: ChangeLog,v 5.50 2002/12/22 01:48:56 tr-ircd Exp $
