Commit Briefs
ngIRCd Release 24 (tags/rel-24)
Platforms.txt: Add and update systems
- Update i386/unknown/freebsd7.3 (gcc 4.2.1) - Update i386/unknown/netbsdelf4.0 (gcc 4.1.2) - Update x86_64/apple/darwin16.3.0 (Apple clang 8.0) - Update x86_64/unknown/freebsd8.4 (gcc 4.2.1) - Update x86_64/pc/linux-gnu (gcc 4.4.5) - Update x86_64/pc/linux-gnu (gcc 4.8.4) - Update x86_64/pc/linux-gnu (gcc 4.9.2) - Update x86_64/pc/linux-gnu (gcc 6.2.1) - Add x86_64/pc/linux-gnu (gcc 6.3.1)
Update config.guess and config.sub to recent versions
- config.guess: 2016-10-02 - config.sub: 2016-11-04
Build Debian packages with OpenSSL instead of GnuTLS
OpenSSL allows to reload used certificates on runtime for example (which is very useful when using Let's Encrypt), and therefore is preferred ...
Fix handling of connection pool allocation and enlargement
The daemon only enlarged its connection pool when accepting new client connections, not when establishing new outgoing server links. Thanks to Lukas Braun (k00mi) for reporting this! In addition this patch streamlines the connection pool allocation, so that there is only one place in the code allocating the pool: the now updated Socket2Index() function. The name doesn't quite fit, but this existing and today quite useless function (because the mapping from socket number to connection index is 1:1 today) already became called in almost all relevant code paths, so I decided to reuse it to keep the patch small ...probably we want to fix the naming in a second patch? Closes #231.
ngIRCd Release 24~rc1 (tags/rel-24-rc1)
ngircd.conf.5.tmpl: Fix spelling
Thanks to Christoph Biedl.
Platforms.txt: Add and update systems
- Add x86_64/apple/darwin16.3.0 (Apple clang 8.0) - Update x86_64/pc/linux-gnu (gcc 4.9.2) - Add x86_64/pc/linux-gnu (gcc 6.2.1.)
Further enhance systemd unit file
- Add more comments/documentation. - Add dependencies for services and proxy scanners. - Add more limit configurations. - Allow AF_UNIX address family, required for syslog!
Enhance systemd service file
- Add homepage :-) - Remote CAP_SETUID and CAP_SETGID from CapabilityBoundingSet: This is nor needed, because the unit already sets User=irc and Group=irc. - Add RestrictAddressFamilies, and restrict it to AF_INET and AF_INET6. - Read in the Debian "default files", but note: only PARAMS is supported!
Update Debian package
- Update debhelper compatibility to version 9. - Update build-dependencies. - Change group of ngircd.conf to "irc" in postinst script (this makes starting ngIRCd as user "irc" easier, for example when using systemd). - Don't create /var/run/ircd during installation: this is handled by the SysV init script and the systemd service already.
Immediately shut down connection on receiving ERROR
Don't wait for the peer to close the connection. This allows us to forward the ERROR mesage in the network, instead of the very generic "client closed connection" message.
List expiration: use same log level as when setting
And log this event to the &SERVER channel, too.
G-LINES: Forbid remote modifications if "AllowRemoteOper" is not set
Explicitely forbid remote servers to modify "x-lines" (G-LINES) when the "AllowRemoteOper" configuration option isn't set, even when the command seems to originate from the remote server itself: this prevents GLINE's to become set during server handshake in this case (what wouldn't be possible during regular runtime when a remote IRC Op sends the command) and what can't be undone by IRC Ops later on (because of the missing "AllowRemoteOper" option) ...