X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=ChangeLog;h=b0d9c526fa25ae394d649281774ca6a000973d87;hb=71ae2b7d7f9ae7bc02ed072c07100de0027373d6;hp=0ff0245b1d798492707035ce723422523e7337ae;hpb=e954b59d414fb32b89291514d0d690c9ebabba49;p=ngircd.git diff --git a/ChangeLog b/ChangeLog index 0ff0245b..b0d9c526 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,12 +2,172 @@ ngIRCd - Next Generation IRC Server http://ngircd.barton.de/ - (c)2001-2019 Alexander Barton and Contributors. + (c)2001-2021 Alexander Barton and Contributors. ngIRCd is free software and published under the terms of the GNU General Public License. -- ChangeLog -- +ngIRCd 26.1 (2021-01-02) + + - Fix a "format string" compiler warning (detected on OpenBSD). + - No longer set "AI_ADDRCONFIG" when resolving host names, even when it + exists: with this option set, on an IPv6-only host, we prevent 127.0.0.1 + to get translated properly, even when the loopback interface has this + address configured! And as the test suite uses 127.0.0.1, it was broken + on IPv6-only hosts. + The drawback is that the resolver possibly returns more addresses now, + even of an unsupported/not connected address family; but this shouldn't + do much harm in practice, as ngIRCd iterates over all returned addresses + while trying to establish an outgoing connection. + Closes #281. + - Revert "Show allowed channel types in ISUPPORT(005) numeric only", which + was introduced in 26~rc1: This lead to some IRC clients assuming "oh, no + channel prefix characters at all, so no channels at all, so no PRIVMSG can + go to any channel" when "AllowedChannelTypes" was set to the empty string + ("") -- which is not the case when there are pre-defined channel set up or + other servers still having channels! + So "allowed channel types" != "supported channel types", and we always have + to list all supported ones in the ISUPPORT(005) numeric! + Closes #285. + - Test suite: Wait 2 seconds after reloading the daemon, which is required + because on reload, all listening ports are closed, configuration updated, + and then opened again. This lead to subsequent tests running while the + daemon isn't listening on any ports, and that's why some tests could fail. + Closes #280. + - platformtest.sh: Try to mangle CLang name more intelligently. + - Documentation: Fixed URLs of Atheme IRC services, updated all mentions + from CVS to Git, and updated Platforms.txt -- Oh, and it is 2021 now! ;-) + +ngIRCd 26 (2020-06-20) + + ngIRCd 26~rc2 (2020-06-11) + - Add AppStream metadata file (contrib/de.barton.ngircd.metainfo.xml). + - Don't send invalid CHANINFO commands when a channel has mode +k set but no + key is known to the server. This can happen with a misconfigured predefined + channel, for example, and looked like this: "CHANINFO #test +Pk 0 :" -- + note the unset key represented by the two spaces. Fix this by sending a + "*" in this case and update the CHANINFO documentation, too. + - 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)