X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=ChangeLog;h=75adf7011dbc750190aa1d873d94a5a079678ac1;hp=423adc462d542bfac44e2b3bf74bde5a966b2f9a;hb=b003d469f18c843725de4f6f46b7ca0714e0a984;hpb=263c5edb606459a74bc3d18f455ae117c1268f69 diff --git a/ChangeLog b/ChangeLog index 423adc46..75adf701 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,15 +2,167 @@ 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~rc2 + - ngircd.spec: Fix names of README.md and INSTALL.md, add ".md" extension. + - Update description texts in the README.md file, the RPM and Debian package + files and the manual page: bring them in line with the updated homepage. + - Server-Server protocol: Fix use-after-free when unregistering a directly + connected server sending a SQUIT for itself. + - Server-Server protocol: Detect bogus SERVER commands lacking a prefix. + Thanks Hilko Bengen (hillu) for finding & reporting this as well for the + patch & pull request (even if fixed differently). + Closes #275. + - Fix the PING-PONG logic: In ngIRCd 26~rc1 this was completely broken (while + trying to fix timeouts during server handshakes in bigger networks): the + daemon never disconnected any stale peers but kept sending out PINGs over + and over again ... + - Test suite: Add missing files needed to test SSL support to "EXTRA_DIST", + so that they are included in distribution archives: in rc1, "make check" + fails when using sources from an archive and enabling SSL support. + Thanks to Hilko Bengen for the patch! + + ngIRCd 26~rc1 (2020-05-10) + - Tweak & update doc/HowToRelease.txt, .mailmap and AUTHORS files. + - Allow up to 512 characters per line in MOTD and help text files (but keep + in mind that lines can't get that long, because they have to be prefixed + before being sent to the client). But this allows for more fancy MOTDs :-) + Closes #271. + - Show the actually allowed channel types in the ISUPPORT(005) numeric which + are configured by the "AllowedChannelTypes" configuration variable. + Closes #273. + - Handle commands in the read buffer before reading more data and don't wait + for the network in this case: If there are more bytes in the read buffer + already than a single valid IRC command can get long (513 bytes), wait for + this/those command(s) to be handled first and don't try to read even more + data from the network (which most probably would overflow the read buffer + of this connection soon). + - Update Travis-CI configuration, "sudo" is deprecated. + - Log G-/K-Line changes only when not initiated by a server: this prevents + the log from becoming spammed during "net bursts". + - Update test suite to include SSL tests, including checking for reloading + certificates during runtime. + - Makefile.am: Replace "make" with "${MAKE}". This fixes warnings like this: + "warning: jobserver unavailable: using -j1. Add `+' to parent make rule." + Thanks to Sam James (sam_c) ! + Closes #270. + - Add support for GnuTLS certificate reload, which is quite handy when using + Let's Encrypt, for example. Until now this was only supported when linked + with OpenSSL. Thanks a lot, Hilko Bengen ! + - 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! + - 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 +185,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 +324,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 +677,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