stable

unrealircd-6.0.5-1.fc36

FEDORA-2022-a9d88822df created by robert 2 years ago for Fedora 36

UnrealIRCd 6.0.5

This release adds experimental JSON-RPC support, a new TLINE command, logging to files has been improved and there are several other enhancements.

There are also two important changes:

1) servers that use websockets now also need to load the "webserver" module (so you may need to edit your config file). 2) upstream now requires by default TLSv1.2 or higher and a modern cipher for IRC clients. This should be no problem for clients using any reasonably new SSL/TLS library (from 2014 or later).

Enhancements

  • Internally the websocket module has been split up into 3 modules: websocket_common, webserver and websocket. The websocket_common one is loaded by default via modules.default.conf, the other two are not.
    Important: If you use websockets then you need to load two modules now (instead of only one): loadmodule "websocket"; loadmodule "webserver";
  • JSON-RPC API for UnrealIRCd. This is work in progress.
  • New TLINE command to test *LINEs. This can be especially useful for checking how many people match an extended server ban such as TLINE ~C:NL
  • When an IRCOp is outside the channel and does MODE #channel they will now get to see the mode parameters too. This depends on the channel:see:mode:remote operclass permission which all IRCOps have by default if you use the default operclasses.
  • Logging to a file now creates a directory structure if needed.
  • You could already use: log { source { !debug; all; } destination { file "ircd.%Y-%m-%d.log"; } }
  • But now you can also use: log { source { !debug; all; } destination { file "%Y-%m-%d/ircd.log"; } } This is especially useful if you output to multiple log files and then want them grouped by date in a directory.
  • Add additional variables in blacklist::reason:
  • $blacklist: name of the blacklist block
  • $dnsname: the blacklist::dns::name
  • $dnsreply: the DNS reply code
  • Resolved technical issue so opers can REHASH from Websocket connections.
  • In the TLD block the use of tld::motd and tld::rules is now optional.
  • Log which oper actually initiated a server link request (CONNECT)

Changes

  • SSL/TLS: By default upstream now requires TLSv1.2 or later and a modern cipher with forward secrecy. Otherwise the connection is refused.
  • Since UnrealIRCd 4.2.2 (March 2019) users see an on-connect notice with a warning when they use an outdated TLS protocol or cipher that does not meet these requirements.
  • This move also reflects the phase out of versions below TLSv1.2 which happened in browsers in 2020/2021.
  • In practice on the client-side this requires at least:
    • OpenSSL 1.0.1 (released in 2012)
    • GnuTLS 3.2.6 (2013)
    • Android 4.4.2 (2013)
    • Or presumably any other SSL/TLS library that is not 9+ years old
  • If you want to revert back to the previous less secure settings, then look under ''Previous less secure setting'' in TLS Ciphers and protocols.
  • The code for handling set::anti-flood::everyone::connect-flood is now in its own module connect-flood. This module is loaded by default, no changes needed in your configuration file.
  • Similarly, set:max-unknown-connections-per-ip is now handled by the new module max-unknown-connections-per-ip. This module is loaded by default as well, no changes needed in your configuration file.
  • When timing out on the authprompt module, the error (quit message) is now the original (ban) reason for the prompt, instead of the generic Registration timeout.

Fixes

  • Crash when linking. This requires a certain sequence of events: first a server is linked in successfully, then it needs to REHASH, and then a new link attempt has to come in with the same server name (for example because there is a network issue and the old link has not timed out yet). If all that happens, then an UnreaIRCd 6 server may crash, but not always.
  • Warning message about moddata creationtime when linking.
  • Snomask +j was not showing remote joins, even though it did show remote parts and kicks.
  • Leak of 1 file descriptor per /REHASH (the control socket).
  • Ban letters showing up twice in 005 EXTBAN=
  • Setting set::authentication-prompt::enabled to no was ignored. The default is still yes.

Developers and protocol

  • Add CALL_CMD_FUNC(cmd_func_name) for calling commands in the same module, see this commit. Benefit of this is that it will keep working if we ever change command paramters.
  • Add CALL_NEXT_COMMAND_OVERRIDE() which can be used instead of CallCommandOverride(), see also this commit. This too, will keep working if we ever change command parameters.
  • During loading and rehash we now set loop.config_status to one of CONFIG_STATUS_* so modules (and core) can see at what step we are during configuration file and module processing.
  • New RPC API. See the src/modules/rpc/ directory for examples.
  • New function get_nvplist(NameValuePrioList *list, const char *name)

How to install

Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:

sudo dnf upgrade --refresh --advisory=FEDORA-2022-a9d88822df

This update has been submitted for testing by robert.

2 years ago

This update's test gating status has been changed to 'ignored'.

2 years ago

This update has been pushed to testing.

2 years ago

This update has been submitted for stable by bodhi.

2 years ago

This update has been pushed to stable.

2 years ago

Please log in to add feedback.

Metadata
Type
enhancement
Severity
medium
Karma
0
Signed
Content Type
RPM
Test Gating
Autopush Settings
Unstable by Karma
-3
Stable by Karma
3
Stable by Time
7 days
Dates
submitted
2 years ago
in testing
2 years ago
in stable
2 years ago
BZ#2151482 unrealircd-6.0.5 is available
0
0

Automated Test Results