Hi All! I just published the next release of ngIRCd – a free, portable and lightweight Internet Relay Chat server for small or private networks: In this release, the most notable change is a fix for a bug that could result in a 100% CPU usage on a single core (DoS), which can be triggered on any connection. ngIRCd does not crash and keeps serving other connections, but can render the system slow and unstable because of the high CPU usage, until the malicious connection times out. --> Therefore all users of ngIRCd are advised to upgrade to ngIRCd 28! You can download ngIRCd 28 from the download section on our homepage at https://ngircd.barton.de. The primary download locations are: - https://github.com/ngircd/ngircd/releases - https://ngircd.barton.de/pub/ngircd/ Please report any issues and glitches you find to the GitHub issue tracker (https://github.com/ngircd/ngircd/issues) and use the mailing list (ngircd@lists.barton.de) and the #ngircd channel on IRC (<irc://irc.barton.de/ngircd>) for questions and discussions. Enhancements and additions to the documentation, manual pages and the homepage are welcome as well! The following noteworthy changes are listed in the `NEWS` file (https://github.com/ngircd/ngircd/blob/master/NEWS): - Truncate long KICK reasons and topics: KICKLEN is advertised in ISUPPORT but was not enforced. And TOPICLEN is advertised, but was so high it was guaranteed not to be fully sendable to other clients. Thanks to Valentin Lorentz <progval+git@progval.net>! Closes #339. - Properly disconnect clients that send data without a command terminator: A connection that sent 512 or more bytes (the maximum length of an IRC command) containing no CR or LF -- for example binary garbage or a TLS ClientHello accidentally (or deliberately) sent to a plain-text listening port -- was never processed and only closed after a timeout. And until then it kept the main loop busy-spinning pinning one CPU core at 100%! Thanks to James <admin@floretos.com>! Closes #343. - Implement new configuration option "DefaultChannelModes": This new configuration option lists channel modes that become automatically set on new channels on creation. Default: set no modes (like before). Closes #333. - Handle clients which erroneously send passwords for non-password protected servers by ignoring passwords when not configured/needed. Closes #332. - Use the last value set for "Listen" (Global) and "Mask" (Operator). Do not ignore newer configuration value, always use the latest value set. - MODE: Reply with ERR_NOSUCHCHANNEL when the target is a channel While it is common for IRC servers to use ERR_NOSUCHNICK instead of ERR_NOSUCHCHANNEL when a target can be either a channel or a nick, it seems every other IRCd but UnrealIRCd uses ERR_NOSUCHCHANNEL in this particular case. Closes #319. And the ChangeLog (https://github.com/ngircd/ngircd/blob/master/ChangeLog) has even more details and lists all the fixes, minor enhancements and tweaks. Thanks a lot to all contributors & testers! And as usual: Happy IRC'ing! Alex
Teilnehmer (1)
-
Alexander Barton