X-Git-Url: https://arthur.barton.de/gitweb/?p=ngircd.git;a=blobdiff_plain;f=ChangeLog;h=83a4bc5c0f5533e5e99502a7547718d52340d9e4;hp=423adc462d542bfac44e2b3bf74bde5a966b2f9a;hb=54fac576030d7aaf8bce4a982c880fe18680741e;hpb=263c5edb606459a74bc3d18f455ae117c1268f69 diff --git a/ChangeLog b/ChangeLog index 423adc46..83a4bc5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,15 +2,127 @@ ngIRCd - Next Generation IRC Server http://ngircd.barton.de/ - (c)2001-2018 Alexander Barton and Contributors. + (c)2001-2020 Alexander Barton and Contributors. ngIRCd is free software and published under the terms of the GNU General Public License. -- ChangeLog -- - -ngIRCd 25 - +ngIRCd 26 + + ngIRCd 26~rc1 + - Remove deprecated legacy configuration options and related functions that + have been marked for removal for quite some time: + - PredefChannelsOnly (v22) + - NoticeAuth (v24) + - NoXXX (v19) + - Old '[GLOBAL]' section handling (v19) + Thanks to Michi for the patch! + - Increase read buffer size for server connections: This applies the same + logic we have for write buffers to distinguish between server and client + connections and sets the maximum buffer size accordingly. As a result + peering with servers with many GLINE/KLINEs does not kill the connecting + server connection anymore. Thanks to Michi ! + - Fix recursion bug on write errors: Depending on the stack size, too many + clients on the same channel quitting at the same time would trigger a crash + due to too many recursive calls to Conn_Close(). Thanks to Michi + for the patch! + - Fix builds using GCC option -fno-common, which is the default starting with + GCC 10. Thanks to Michi for the patch! + Closes #266. + - Convert INSTALL and README files to Markdown. + - Allow setting arbitrary channel modes in the configuration file by handling + them like in MODE commands, and allow multiple "Modes =" lines per [Channel] + section. Thanks to Michi ! + Closes #55. + - Add "FNC" (forced nick changes) to ISUPPORT(005) numeric. Most probably + this doesn't make any difference to any client, but it seems correct. + See for details. + - Reuse old SSL key if loading a new one failed. + - Remove outdated OpenBSD/NetBSD systrace.policy. + - Enhance handling of command line errors, and return with exit code 0 ("no + error") when "--help" or "--version" is used (which resulted in exit code 1, + "error" before). Exit with code 2 ("command line error") for all other + invalid command line options, and show the error message itself on stderr + (instead of stdout and exit code 1, "generic error", as before). + This new behaviour is more in line with the GNU "coding standards", + see . + - Fix and update Xcode project: Reference correct contrib/Makefile.am file, + correctly sort contrib/nglog.sh and add "ORGANIZATIONNAME" setting. + - contrib/ngindent.sh: Add more GNU indent options for better results, and + add the ".sh" suffix to bring this script in line with the others in the + contrib/ folder. + - Add ./contrib/nglog.sh: This script parses the log output of ngircd(8), + and colorizes the messages according to their log level. Example usage: + ngircd -f $PWD/doc/sample-ngircd.conf -np | ./contrib/nglog.sh + - Log received signals with their names using strsignal(3), when available. + - Make test suite compatible with Haiku OS. + - Fix host mask cloaking bug, don't cloak multiple times: Previously, each + server would cloak every user's host mask. The problem is that if a network + has more than one server, then a user's host mask would get cloaked twice. + This patch ensures that a server only cloaks the host mask if it has not yet + been cloaked (the period indicates it's still an IP address). Thanks to + JRMU for the patch! + Closes #228. + - Enlarge buffers of info texts to 128 bytes. This includes: + - "Real name" of a client (4th filed of the USER command). + - Server info text ("Info" configuration option). + - Admin info texts and email address ("AdminInfo1", "AdminInfo2" and + "AdminEmail" configuration options). + - Network name ("Network" configuration option). + The limit was 64 bytes before ... + Closes #258. + - Streamline handling of invalid and unset server name: Don't exit during + runtime (REHASH command, HUP signal), because the server name can't be + changed in this case anyway and the new invalid name will be ignored. + - Fix and extend documentation: Fix some typos, fix syntax of LINKS and LIST + commands, whitespace and spelling fixes, update dependencies and add some + more information about IRCv3 support. + Thanks to Thanks Windree, Étienne Mollier and + Christoph Biedl . + Closes #264. + - Slightly reorder startup steps, and enhance logging: + - Show name of configuration file at the beginning of start up. + - Add a message when ngIRCd is ready, including its host name. + - Show name of configuration file on REHASH (SIGHUP), too. + - Change level of "done message" to NOTICE, like "starting" & "ready". + - Initialize IO functions before channels, connections, clients, ... + - configure.ng: OpenSSL can depends on lz or latomic so use pkg-config to + find those dependencies and fallback to existing mechanism. + Closes #256. + - ngircd.conf.5: Fix wording as suggested by lintian. + +ngIRCd 25 (2019-01-23) + + - Fix documentation of MotdPhrase length, which actually is 126 characters: + update sample configuration file as well as the man page. Thanks to + shankari . + Closes #254. + - Implement new configuration option "MaxPenaltyTime", which configures the + maximum penalty time increase in seconds, per penalty event. Set to -1 for + no limit (the default), 0 to disable penalties altogether. ngIRCd doesn't + use penalty increases higher than 2 seconds during normal operation, so + values higher than 1 rarely make sense. + Disabling (or reducing) penalties can greatly speed up "make check" runs + for example, see below, but are mostly a debugging feature and normally + not meant to be used on production systems! + Some example timings running "make check" from my macOS workstation: + - MaxPenaltyTime not set: 4:41,79s + - "MaxPenaltyTime = 1": 3:14,71s + - "MaxPenaltyTime = 0": 25,46s + Closes #249 and #251. + - Fix compilation without deprecated OpenSSL APIs. Thanks to Rosen Penev + for the patch! + Closes #252. + - Update Xcode project for latest Xcode version (10.0) + - Fix some compiler warnings of Apple Xcode/Clang + - Allow a 5th parameter in WEBIRC. Thanks to "ItsOnlyBinary". + Closes #247. + - Update some more documentation files and source code comments. + - Platforms.txt: Add and update systems. + + ngIRCd 25~rc1 (2018-08-11) + - Update config.guess (2018-03-08) and config.sub (2018-03-08) files. - Correctly retry to establish an outgoing connections when forking of the resolver sub-process failed (for example because of lack of free memory). Until now, such a connection was never retried once this error was hit. @@ -33,6 +145,7 @@ ngIRCd 25 messages from servers, services, and IRC Operators, too. Change proposed by "wowaname" back in 2015 in #ngircd, thanks! - Fix some compiler warnings. + - Add contrib/ngircd.logcheck: Some sample logcheck(8) rules. - Allow IRC Ops and remote servers to KILL service clients: such clients behave like regular users, therefore IRC operators and servers should be able to KILL them: for example to resolve nick collisions. @@ -171,7 +284,7 @@ ngIRCd 23 (2015-11-16) Idea and implementation by LucentW, Thanks! Closes #207. - Update ngircd.conf.5: "CloakUserToNick" hides user _and_ real name. This closes #208. - - Fix case insensitive pattern matching: Up to now, only the the input + - Fix case insensitive pattern matching: Up to now, only the input string became lowercased and was then compared to the pattern -- which failed when the pattern itself wasn't all lowercase! - Streamline the effect of "MorePrivacy" option: Update documentation @@ -524,7 +637,7 @@ ngIRCd 20.3 (2013-08-23) ngIRCd 20.2 (2013-02-15) - Security: Fix a denial of service bug in the function handling KICK - commands that could be used by arbitrary users to to crash the daemon + commands that could be used by arbitrary users to crash the daemon (CVE-2013-1747). - WHO command: Use the currently "displayed hostname" (which can be cloaked!) for hostname matching, not the real one. In other words: don't display all