Commits


ngIRCd Release 24~rc1


Debian: Use "dh_prep" instead deprecated "dh_clean -k"


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!


Install systemd service file in Debian package


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.


Update NEWS and ChangeLog files


Log privilege violations and failed OPER as "error" and to &server


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.


Xcode: Fix "duplicate symbols" error in current Xcode


x-Line synchronization: Don't send negative durations


List expiration: use same log level as when setting And log this event to the &SERVER channel, too.


Remove leftover debug message. Oops!


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) ...


Make scripts and init-files in ./contrib executable


autogen.sh: Fix some shellcheck(1) warning messages


Fix building ngIRCd with OpenSSL 1.1 At the moment, ngIRCd fails to build against OpenSSL 1.1 since the configure check probes for the SSL_library_init symbol which was removed, but probing for a different function availabe in both versions solves that problem: SSL_new(). And as SSL_library_init is no longer needed, the patch boils down to probing SSL_new to assert libssl is available, and disabling the SSL_library_init invokation from OpenSSL 1.1 on, see also another application[1] (NSCA-ng) that did pretty much the same. Patch was compile-tested on both Debian jessie (OpenSSL 1.0.2) and stretch (OpenSSL 1.1). [1] <https://www.nsca-ng.org/cgi-bin/repository/nsca-ng/commit/?id=8afc22031ff174f02caad4afc83fa5dff2c29f8a> (Patch by Christoph, commit message cherry-picked from the email thread on the mailing list by Alex. Thanks!)


gcc 6.2 warnings: fix code indentation This fixes the following correct -Wmisleading-indentation warning messages of gcc 6.2: irc-write.c: In function ‘IRC_SendWallops’: irc-write.c:521:4: warning: this ‘if’ clause does not guard... irc-write.c:524:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ irc-write.c:526:4: warning: this ‘if’ clause does not guard... [] irc-write.c:529:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ irc-info.c: In function ‘IRC_STATS’: irc-info.c:895:3: warning: this ‘else’ clause does not guard... irc-info.c:897:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’ No functional changes, the code has been correct, but the indentation was wrong ...


Update config.guess and config.sub to recent versions - config.guess: 2016-04-02 - config.sub: 2016-03-30


Platforms.txt: Update systems - Update x86_64/apple/darwin15.6.0 (Apple clang 8.0) - Update x86_64/unknown/linux-gnu (gcc 4.9.2) - Update i386/pc/solaris2.11 (gcc 4.8.2), tests have been run both on Solaris 11.2 and Solaris 11.3 successfully, but the system identifier is the same ... Thanks to Götz Hoffart <goetz@hoffart.de>!


PAM.txt: Add note about /etc/pam.d/ngircd permissions


autogen.sh, ngindent, platformtest.sh: Fix warnings of "shellcheck" - SC2006: Use $(..) instead of legacy `..`. - SC2015: Note that A && B || C is not if-then-else. C may run when A is true. - SC2086: Double quote to prevent globbing and word splitting. - SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.


Update Xcode project for latest Xcode version (8.0)