UnrealIRCd 6.0.7 released
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@un...> - 2023-03-24 12:50:31
|
UnrealIRCd 6.0.7 makes WHOWAS show more information to IRCOps and adds an experimental spamfilter feature. It also contains other enhancements and quite a number of bug fixes. One notable change is that on linking of anope or atheme, every server will now check if they have ulines { } for that services server, since it's a common mistake to forget this, leading to desyncs or other weird problems. As a reminder, since previous release the UnrealIRCd Administration Webpanel <https://github.com/unrealircd/unrealircd-webpanel/> is very much usable. It allows admins to view the users/channels/servers lists, view detailed information on users and channels, manage server bans and spamfilters, all from a web browser. You can download UnrealIRCd from unrealircd.org <https://unrealircd.org/>, and on *NIX you can easily upgrade with |./unrealircd upgrade| Enhancements: * Spamfilter <https://www.unrealircd.org/docs/Spamfilter> can now be made UTF8-aware: o This is experimental, to enable: |set { spamfilter { utf8 yes; } }| o Case insensitive matches will then work better. For example, for extended Latin, a spamfilter on |ę| then also matches |Ę|. o Other PCRE2 features such as \p <https://www.pcre.org/current/doc/html/pcre2syntax.html#SEC5> can then be used. For example the regex |\p{Arabic}| would block all Arabic script. See also this full list of scripts <https://www.pcre.org/current/doc/html/pcre2syntax.html#SEC7>. Please use this new tool with care. Blocking an entire language or script is quite a drastic measure. o As a consequence of this we require PCRE2 10.36 or newer. If your system PCRE2 is older, then the UnrealIRCd-shipped-library version will be compiled and |./Config| may take a little longer than usual. * |WHOWAS| now shows IP address and account information to IRCOps * Allow services to send a couple of protocol messages in the unregistered / SASL stage. These are: |CHGHOST|, |CHGIDENT| and |SREPLY| o This allows services to set the vhost on a user during SASL, so the user receives the vhost straight from the start, before all the auto-joining/re-rejoining of channels. o Future anope/atheme/etc services will presumably support this. * WebSocket <https://www.unrealircd.org/docs/WebSocket_support> status is now synced over the network and an extra default security group <https://www.unrealircd.org/docs/Security-group_block> |websocket-users| has been added. Similarly there is now security-group::websocket and security-group::exclude-websocket item. Same for mask items <https://www.unrealircd.org/docs/Mask_item> such as in set::restrict-commands::command::except <https://www.unrealircd.org/docs/Restrict_commands>. * Support for IRCv3 Standard Replies <https://ircv3.net/specs/extensions/standard-replies>. Right now nothing fancy yet, other than us sending |ACCOUNT_REQUIRED_TO_CONNECT| from the authprompt module when a user is soft-banned <https://www.unrealircd.org/docs/Soft_ban>. * Add support for sending IRCv3 Standard Replies intra-server, eg from services (|SREPLY| server-to-server command) * Support |NO_COLOR| environment variable, as per no-color.org <https://no-color.org>. Changes: * We now verify that all servers have ulines { } <https://www.unrealircd.org/docs/Ulines_block> for Anope and Atheme servers and reject the link if this is not the case. * The |FLOOD_BLOCKED| log message now shows the target of the flood for |target-flood-user| and |target-flood-channel|. * When an IRCOp sets |+H| to hide ircop status, only the swhois items that were added through oper will be hidden (and not the ones added by eg. vhost). Previously all were hidden. * Update shipped libraries: c-ares to 1.19.0, Jansson to 2.14, PCRE2 to 10.42, and on Windows LibreSSL to 3.6.2 and cURL to 8.0.1. Fixes: * Crash if a third party module is loaded which allows very large message tags (e.g. has no length check) * Crash if an IRCOp uses |unrealircd.org/json-log| <https://www.unrealircd.org/docs/JSON_logging#Enabling_on_IRC> on IRC and during |REHASH| some module sends log output during MOD_INIT (eg. with some 3rd party modules) * Crash when parsing deny link block <https://www.unrealircd.org/docs/Deny_link_block> * The Module manager <https://www.unrealircd.org/docs/Module_manager> now works on FreeBSD and similar. * In |LUSERS| the "unknown connection(s)" count was wrong. This was just a harmless counting error with no other effects. * Silence warnings on Clang 15+ (eg. Ubuntu 23.04) * Don't download |GeoIP.dat| if you have |blacklist-module geoip_classic;| <https://www.unrealircd.org/docs/Blacklist-module_directive> * Channel mode |+S| stripping too much on incorrect color codes. * Make |@if module-loaded()| <https://www.unrealircd.org/docs/Defines_and_conditional_config> work correctly for modules that are about to be unloaded during REHASH. * Some missing notices if remotely REHASHing a server, and one duplicate line. * Check invalid host setting in oper::vhost, just like we already have in vhost::vhost. -- Bram Matthys Security and software eng...@vu... Website:www.vulnscan.org PGP key:www.vulnscan.org/pubkey.asc PGP fp: EBCA 8977 FCA6 0AB0 6EDB 04A7 6E67 6D45 7FE1 99A6 |