Commit Briefs

f11b01ccc2 GitHub

Implement new configuration option "DefaultChannelModes" (master)

The new configuration option "DefaultChannelModes" lists channel modes that become automatically set on new channels on creation. Default: set no modes. Closes #333.


b932baab52 GitHub

Handle clients which erroneously send passwords for non-password protected servers

Ignore passwords sent by clients when not configured/needed. Closes #332.


3e4ca16dc2 GitHub

Improve "CloakHostModeX" documentation

Closes #334.


512af135d0 Alexander Barton

Use the last value set for "Listen" (Global) and "Mask" (Operator)

Do not ignore newer configuration value, always use the latest value set. And do not assert() SSL-related string options and break, but properly free them and use the latest value set – even in debug mode. In non-debug mode, this was already the case anyway, but we leaked some memory ...


7012d41b07 Alexander Barton

Update manual page dates


0b8d3d23d9 Alexander Barton

Add labels to the containers


37c31eeae0 GitHub

Update documentation on CAFile

ngIRCd 27 now checks server certificates, and without `CAFile` set will reject all server/server connections with a confusing error. Update documentation to say that `CAFile` is needed to accept incoming server connections. Closes #320.


acf8409c60 GitHub

MODE: Reply with ERR_NOSUCHCHANNEL when the target is a channel (#319)

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.



4ad7de02d6 Alexander Barton

ngIRCd Release 27


6cb09e4c98 Alexander Barton

Explicitely cast NumConnections etc. (size_t) to "long"

This fixes the following compiler warning, for example on OpenSolaris: conn.c: In function 'Conn_Handler': conn.c:798:28: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=]


e348ac04e7 Alexander Barton

Update ChangeLog, NEWS & AUTHORS.md for ngIRCd 27


7ccf98edfa Alexander Barton

Update doc/Platforms.txt


3e3f6cbece Alexander Barton

Clarify that "CAFile" is not set by default


75ef4e14e0 Alexander Barton

Add am example filter file for "Fail2Ban"


d4fb21f354 GitHub

Fix channel symbol returned by RPL_NAMREPLY for secret channels

References: - https://modern.ircdocs.horse/#rplnamreply-353 - https://datatracker.ietf.org/doc/html/rfc2812#page-47 - (RFC 1459 is irrelevant here, as https://datatracker.ietf.org/doc/html/rfc1459#page-51 uses a different format) Closes #313.


90fb3cf0a2 Alexander Barton

Don't abort startup when setgid/setuid() fails with EINVAL

Both setgid(2) as well as setuid(2) can fail with EINVAL in addition to EPERM, their manual pages state "EINVAL: The user/group ID specified in uid/gid is not valid in this user namespace ". So not only treat EPERM as an "acceptable error" and continue with logging the error, but do the same for EINVAL. This was triggered by the Void Linux xbps-uunshare(1) tool used for building "XBPS source packages" and reported by luca in #ngircd. Thanks!


b77b9432c4 Alexander Barton

Test suite: Correctly test for LOGNAME and USER


a33d15751b Alexander Barton

Test suite: Don't use "pgrep -u" when LOGNAME and USER are not set

Thanks for reporting this on IRC, luca!


b362b5a945 Alexander Barton

ngIRCd Release 27~rc1


e3f96d446d Alexander Barton

Test suite: Use $USER in getpid.sh when $LOGNAME is not set

The LOGNAME environment variable is not set in GitHub "actions", for example ...


0d42ea7709 Alexander Barton

Update doc/Platforms.txt


4b1eb0e3ee Alexander Barton

ngircd.service: Redirect stdout and stderr to the journal


ff0a9b9c2a Alexander Barton

Prepare documentation for ngIRCd 27~rc1


791778d7b6 Alexander Barton

Ping the service manager and set a status message

Periodically "ping" the service manager (every 3 seconds) and set a status message showing connection statistics. This enables using the systemd(8) watchdog functionality for the "ngircd.service" unit.