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.
Enhancements:
- Spamfilter can now be made UTF8-aware:
- This is experimental, to enable:
set { spamfilter { utf8 yes; } }
- Case insensitive matches will then work better. For example, for extended Latin, a spamfilter on
ę
then also matchesĘ
. - Other PCRE2 features such as \p can then be used. For example the regex
\p{Arabic}
would block all Arabic script. See also this full list of scripts. Please use this new tool with care. Blocking an entire language or script is quite a drastic measure. - 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.
- This is experimental, to enable:
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
andSREPLY
- 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.
- Future anope/atheme/etc services will presumably support this.
- WebSocket status is now synced over the network and an extra default security group
websocket-users
has been added. Similarly there is now security-group::websocket and security-group::exclude-websocket item. Same for mask items such as in set::restrict-commands::command::except. - Support for IRCv3 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. - 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.
Changes:
- We now verify that all servers have ulines { } 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 fortarget-flood-user
andtarget-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
on IRC and duringREHASH
some module sends log output during MOD_INIT (eg. with some 3rd party modules) - Crash when parsing deny link block
- The 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 haveblacklist-module geoip_classic;
- Channel mode
+S
stripping too much on incorrect color codes. - Make
@if module-loaded()
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.
Friday, March 24, 2023
Powered by WHMCompleteSolution