Hello ngIRCd users!
A very long time has passed since our last release, more than 1.5 years. But finally I managed to prepare the "release candidate 1" for the next version, which will be ngIRCd 25, our lightweight and portable Internet Relay Chat server for small and private networks.
I started by tagging the source code in Git, creating the archive files and uploading them to GitHub and the mirrors, and then "forgot" to write the announcement here... but finally, here we go! But please don't be surprised that the dates in the NEWS and ChangeLog files are already a little bit older ...
You can download this release candidate from the download section on our homepage https://ngircd.barton.de (https://ngircd.mirror.3rz.org) and GitHub. The primary download locations are:
• https://github.com/ngircd/ngircd/releases • https://ngircd.barton.de/pub/ngircd • https://ngircd.mirror.3rz.org/pub/ngircd
Please help test this release candidate, and report any issues you find to this mailing list or on IRC: irc://irc.barton.de/ngircd. Enhancements to the documentation and the homepage are welcome, too!
The easiest way to test ngIRCd is to run the ./contrib/platformtest.sh script:
$ curl -#LO "https://ngircd.barton.de/pub/ngircd/ngircd-25~rc1.tar.gz" $ tar xzf "ngircd-25~rc1.tar.gz" $ cd ngircd-25~rc1 $ ./contrib/platformtest.sh
This script runs quire some time, which is normal, but please report all problems! The result should look something like this:
the executable works ("runs") as expected --+ tests run successfully ("make check") --+ | ngIRCd compiles ("make") --+ | | ./configure works --+ | | | | | | |
Platform Compiler ngIRCd Date Tester C M T R *
x86_64/pc/linux-gnu gcc 6.3.0 25~rc1 18-08-29 alex Y Y Y Y 1
Please feel free to use the issue tracker on GitHub and/or create "pull requests" there, so we can easily keep track of them:
• https://github.com/ngircd/ngircd • https://github.com/ngircd/ngircd/issues
The ChangeLog lists the following items since release 24:
• 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. Thanks to Robert Obermeier for reporting this bug! Closes #243. • Fix a "use after free" bug which can be triggered on a newly established connection when the daemon handles an ERROR command received from the peer during client login. Thanks a lot to Joseph Bisch joseph.bisch@gmail.com for discovering and reporting this issue! • Only send TOPIC updates to a channel when the topic actually changed: This prevents the channel from becoming flooded by unnecessary TOPIC update messages, that can happen when IRC services try to enforce a certain topic but which is already set (at least on the local server), for example. Therefore still forward it to all servers, but don't inform local clients (still update setter and timestamp information, though). • Update Xcode project for latest Xcode version (9.2). This includes adding missing and deleting obsolete file references. • Handle user mode "C" ("Only users that share a channel are allowed to send messages") like user mode "b" ("block private messages and notices"): allow 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. Closes #242. • Don't forward KILLs to other servers if they've been blocked locally: This prevents clients from killing IRC services, for example. Closes #238 and #239. • Fix a cross-compiler issue related to the Get_Error() function. Closes #240 and #241. • Update ./doc/Services.txt, enhance configuration examples.
Thanks a lot to all contributors!
Ah, and sorry Götz: I forgot to merge your updates to the Platforms.txt file for this release candidate, oh my! But I already merged it into "master" a few seconds ago, so that it will definitely be included in the final release.
Alex