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:
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
$ curl -#LO "https://ngircd.barton.de/pub/ngircd/ngircd-25~rc1.tar.gz"
$ tar xzf "ngircd-25~rc1.tar.gz"
$ cd ngircd-25~rc1
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:
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!
• 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(a)gmail.com> for discovering and reporting this
• 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,
• 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.
• 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.