ngIRCd - Next Generation IRC Server
- (c)2001-2003 by Alexander Barton,
+ (c)2001-2006 Alexander Barton,
alex@barton.de, http://www.barton.de/
ngIRCd is free software and published under the
-- ChangeLog --
-ngIRCd CVS-HEAD
-
- - (none)
-
-ngIRCd 0.7.0
-
- ngIRCd 0.7.0-pre2
+ngIRCd HEAD
+
+ - When using epoll() IO interface, compile in the select() interface as
+ well and fall back to it when epoll() isn't available on runtime.
+ - New configure option "--without-select" to disable select() IO API
+ (even when using epoll(), see above).
+ - Added support for IO APIs "poll()" and "/dev/poll".
+ - Reorganized internal handling of invite and ban lists.
+
+ngIRCd 0.10.1 (2006-12-17)
+
+ - Fixed validation of server names containing digits.
+ - Update the "info text" of the local server after re-reading configuration.
+ - Changed Numerics 265 and 266 to follow ircd 2.11.x "standards".
+ - Allow PASS syntax defined in RFC 1459 for server links, too.
+ - Enhanced ISUPPORT message (005 numeric).
+ - New configuration option "PredefChannelsOnly": if set, clients can only
+ join predefined channels.
+ - Code cleanups: use "LogDebug(...)" instead of "Log(LOG_DEBUG, ...)", use
+ "strcspn()", unsigned vs. signed, use "const", fix whitespaces, ...
+
+ngIRCd 0.10.0 (2006-10-01)
+
+ - Fixed file handle leak when daemon is not able to send MOTD to a client.
+
+ ngIRCd 0.10.0-pre2 (2006-09-09)
+ - Fixed build problems with GCC option -fstack-protector.
+ - Minor documentation updates.
+
+ ngIRCd 0.10.0-pre1 (2006-08-02)
+ - Validate "ServerName" (see RFC 2812, section 2.3.1).
+ - Enhanced DIE to accept a single parameter ("comment text") which is sent
+ to all locally connected clients before the server goes down.
+ - The ngIRCd handles time shifts backwards more gracefully now (the
+ timeout handling doesn't disconnect clients by mistake any more).
+ - Internal: Restructured connection handling (the connection ID is equal
+ to the file descriptor of the connection).
+ - Internal: Simplified resolver code.
+ - JOIN now supports more than one channel key at a time.
+ - Implemented numeric "333": Time and user name who set a channel topic.
+ - Enhanced the handler for PING and PONG commands: fix forwarding and enable
+ back-passing of a client supplied additional argument of PING.
+ - Changed handling of timeouts for unregistered connections: don't reset
+ the counter if data is received and disconnect clients earlier.
+ - Removed unnecessary #define of "LOCAL", now use plain C "static" instead.
+ - Channel topics are no longer limited to 127 characters: now the only limit
+ is the maximum length of an IRC command, i. e. 512 bytes (in practice, this
+ limits the topic to about 490 characters due to protocol overhead).
+ - Reverse DNS lookup code now checks the result by doing an additional
+ lookup to prevent spoofing.
+ - Added new IO layer which (optionally) supports epoll() and kqueue() in
+ addition to the select() interface.
+
+ngIRCd 0.9.2 (2005-10-15)
+
+ - Fixed a bug that could cause the daemon to crash when outgoing server
+ connections can't be established.
+ - Fixed a bug that caused the daemon to leak file descriptors when no
+ resolver subprocesses could be created.
+ - Fixed server NOTICEs to users with "s" mode ("server messages").
+ - Fixed a format string bug in "connection statistics" messages to clients.
+
+ngIRCd 0.9.1 (2005-08-03)
+
+ - The KILL command killed much more than desired (including server links!)
+ when the target user is connected to a remote server. Bug introduced in
+ ngIRCd 0.9.0 ... Reported by <qssl@fastmail.fm>, Thanks!
+ - Changed some constants to be "signed" (instead of unsigned) to solve
+ problems with old (pre-ANSI) compilers.
+
+ngIRCd 0.9.0 (2005-07-24)
+
+ ngIRCd 0.9.0-pre1 (2005-07-09)
+ - Fixed maximum length of user names, now allow up to 9 characters.
+ - Cut off oversized IRC messages that should be sent to the network instead
+ of shutting down the (wrong) connection.
+ - Don't generate error messages for unknown commands received before the
+ client is registered with the server (like the original ircd).
+ - Never run with root privileges but always switch the user ID.
+ - Make "netsplit" messages RFC compliant.
+ - Fix handling of QUIT Messages: send only one message, even if the client
+ is member of multiple channels.
+ - Don't exit server if closing of a socket fails; instead ignore it and
+ pray that this will be "the right thing" ...
+ - Implemented the IRC function "WHOWAS".
+ - Don't enable assert() calls when not ./configure'd with --enable-debug.
+ - Fixed ./configure test for TCP Wrappers: now it runs on Mac OS X as well.
+ - Enhanced configure script: now you can pass an (optional) search path
+ to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".
+ - Removed typedefs for the native C datatypes.
+ Use stdbool.h / inttypes.h if available.
+ - New configuration option "OperServerMode" to enable a workaround needed
+ when running an network with ircd2 servers and "OperCanUseMode" enabled
+ to prevent the ircd2 daemon to drop mode changes of IRC operators.
+ Patch by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Implemented support for "secret channels" (channel mode "s").
+ - New configuration option "Mask" for [Operator] sections to limit OPER
+ commands to users with a specific IRC mask. Patch from Florian Westphal.
+ - Write "error file" (/tmp/ngircd-XXX.err) only if compiled with debug
+ code ("--enable-debug") and running as daemon process.
+ - Don't create version information string each time a client connects
+ but instead on server startup. By Florian Westphal.
+ - New configuration variable "PidFile", section "[Global]": if defined,
+ the server writes its process ID (PID) to this file. Default: off.
+ Idea of Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Code cleanups from Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Raised the maximum length of passwords to 20 characters.
+ - Fixed a memory leak when resizing the connection pool and realloc()
+ failed. Now we don't fall back to malloc(), which should be sane anyway.
+ Patch from Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Added support for the Howl (http://www.porchdogsoft.com/products/howl/)
+ Rendezvous API, in addition to the API of Apple (Mac OS X). The available
+ API will be autodetected when you call "./configure --with-rendezvous".
+ - Made ngIRCd compile on HP/UX 10.20 with native HP pre-ANSI C compiler and
+ most probably other older C compilers on other systems.
+ - When the daemon should switch to another user ID (ServerID is defined in
+ the configuration file) and is not running in a chroot environment, it
+ changes its working directory to the home directory of this user. This
+ should enable the system to write proper core files when not running with
+ root privileges ...
+
+ngIRCd 0.8.3 (2005-02-03)
+
+ - Fixed a bug that could case a root exploit when the daemon is compiled
+ to do IDENT lookups and is logging to syslog. Bug discovered by CoKi,
+ <coki@nosystem.com.ar>, thanks a lot!
+ (http://www.nosystem.com.ar/advisories/advisory-11.txt)
+
+ngIRCd 0.8.2 (2005-01-26)
+
+ - Added doc/SSL.txt to distribution.
+ - Fixed a buffer overflow that could cause the daemon to crash. Bug found
+ by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Fixed a possible buffer underrun when reading the MOTD file. Thanks
+ to Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Fixed detection of IRC lines which are too long to send. Detected by
+ Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+ - Fixed return values of our own implementation of strlcpy(). The code has
+ been taken from rsync and they fixed it, but we didn't until today :-/
+ It has only been used when the system didn't implement strlcpy by itself,
+ not on "modern" systems. Florian Westphal, <westphal@foo.fh-furtwangen.de>.
+
+ngIRCd 0.8.1 (2004-12-25)
+
+ - Autoconf: Updated config.guess and config.sub
+ - Added some more debug code ...
+ - Fixed wrong variable names in output of "ngircd --configtest".
+ - Debian: Fixed the name of the "default file" in the init script for
+ ngircd-full packages. And do the test if the binary is executable after
+ reading this file.
+ - Enhanced the "test suite": please have a look at src/testsuite/README!
+
+ngIRCd 0.8.0 (2004-06-26)
+
+ - Fixed wrong buffer size calculation for results of the resolver.
+
+ ngircd 0.8.0-pre2 (2004-05-16)
+ - Enhanced logging to console when running in "no-detached mode": added
+ PID and log messages of resolver sub-processes.
+ - Fixed host name lookups when using IDENT user lookups.
+ - "make clean" and "make maintainer-clean" remove more files now.
+
+ ngIRCd 0.8.0-pre1 (2004-05-07)
+ - Two new configuration options: "ChrootDir" and "MotdPhrase", thanks to
+ Benjamin Pineau <ben@zouh.org>. Now you can force the daemon to change
+ its root and working directory to something "safe". MotdPhrase is used
+ to define an "MOTD string" instead of a whole file, useful if the
+ "real" MOTD file would be outside the "jail".
+ - INVITE- and BAN-lists become synchronized between IRC+ servers when
+ establishing new connections, if the peer supports this as well.
+ - Reorganized autogen.sh and configure scripts.
+ - Fixed a wrong assert() which could cause the daemon to exit spuriously
+ when closing down connections.
+ - Better logging of decompression errors returned by zlib.
+ - Servers other than the destination server didn't clean up the invite
+ list of an "invite-only" channel properly when an INVITE'd user joined.
+ - Changed the reply of the MODE command to match the syntax of the
+ original ircd exactly: the unnecessary but missing ":" before the last
+ parameter has been added.
+ - Fixed TRACE: don't output "Serv" lines for ourself; display more info.
+ - Results of the resolver (hostnames and IDENT names) are discarded after
+ the client is successfully registered with the server.
+ - Better logging while establishing and shutting down connections.
+ - The type of service (TOS) of all sockets is set to "interactive" now.
+ - Added short command line option "-t" as alternative to "--configtest".
+ - Added optional support for "IDENT" lookups on incoming connections. You
+ have to enable this function with the ./configure switch "--with-ident".
+ The default is not to do IDENT lookups.
+
+ngIRCd 0.7.7 (2004-02-05)
+
+ - The info text ("real name") of users is set to "-" if none has been
+ specified using the USER command (e. g. "USER user * * :"). Reason:
+ the original ircd doesn't like empty ones and would KILL such users.
+ - Fixed (optional) TCP Wrapper test which was broken and could result in
+ false results. Thanks to Fuminori Tanizaki <tany@mcnet.ad.jp>!
+ - Removed "USE_" prefixes of configuration #defines.
+
+ngIRCd 0.7.6 (2003-12-05)
+
+ - Fixed abort() ("server crash") when INVITE'ing users to nonexistent
+ channels. Bug found by <hiddenx@wp.pl>.
+ - Extended version numbering of CVS versions (added date).
+ - Enhanced/fixed doc/Protocol.txt;
+
+ngIRCd 0.7.5 (2003-11-07)
+
+ - Fixed ban behavior: users which are banned from a channel can't no
+ longer send PRIVMSG's to this channel (fixes Bug #47).
+ - Fixed and enhanced the "penalty handling" of the server: commands that
+ require more resources block the client for a short time.
+ - Changed the internal time resolution to one second.
+ - New configuration variable "MaxConnectionsIP" to limit the number of
+ simultaneous connections from a single IP that the server will accept.
+ This configuration options lowers the risk of denial of service attacks
+ (DoS), the default is 5 connections per client IP.
+ - Fixed build problems under Mac OS X 10.3.
+ - Use "-pipe" when compiling with gcc, speeds things up a little :-)
+ - Added new configuration variable "Listen" to bind all listening
+ sockets of the server to a single IP address.
+ - Suppress misleading error message of diff during make run.
+ - Enhanced test-suite and made it work on GNU/Hurd.
+ - Fixed minor typo in debug output :-)
+
+ngIRCd 0.7.1 (2003-07-18)
+
+ - Included files to build Debian packages (located in "debian/").
+ - Updated config.guess and config.sub to newer upstream versions.
+ - NJOIN propagates user channel modes correctly again ... Upsa.
+ - Made Makefile more compatible with "make -j<n>".
+ - Added support for GNU/Hurd.
+ - Fixed a compiler warning related to an unnecessary assert().
+ - Enhanced VERSION command when using debug versions.
+
+ngIRCd 0.7.0 (2003-05-01)
+
+ - "ServerName" is checked better now: a dot (".") is required.
+ - The KILL command verifies and logs more parameters.
+
+ ngIRCd 0.7.0-pre2 (2003-04-27)
- CVS build system fixes (made autogen.sh more portable).
- - Fixed compilation and test-suite on SunOS (tested with 5.6).
+ - Fixed compilation and test-suite on Solaris (tested with 2.6).
- New documentation file "doc/Platforms.txt" describing the status of
ngIRCd on the various tested platforms.
+ - Test for broken GCC on Mac OS X and disable "-pedantic" in this case.
+ - Disable "-ansi" on Cygwin: system headers are incompatible.
+ - The server tried to connect to other servers only once when DNS or
+ socket failures occurred.
+ - Fixed --configtest: There is no variable "ServerPwd", it's "Password".
ngIRCd 0.7.0-pre1 (2003-04-22)
- New signal handler (more secure, actions are executed outside).
--
-$Id: ChangeLog,v 1.193 2003/04/22 23:55:06 alex Exp $
+$Id: ChangeLog,v 1.312 2006/12/26 16:00:45 alex Exp $