ngIRCd - Next Generation IRC Server
http://ngircd.barton.de/
- (c)2001-2020 Alexander Barton and Contributors.
+ (c)2001-2022 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
-- ChangeLog --
-ngIRCd 26
-
- ngIRCd 26~rc1
+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 <bengen@hilluzination.de> 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) <sam@cmpct.info>!
+ 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 <bengen@hilluzination.de>!
- Remove deprecated legacy configuration options and related functions that
have been marked for removal for quite some time:
- PredefChannelsOnly (v22)
- NoXXX (v19)
- Old '[GLOBAL]' section handling (v19)
Thanks to Michi <michi+ngircd@dataswamp.org> 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 <michi+ngircd@dataswamp.org>!
- 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