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
|