UnrealIRCd 6.1.8-rc1 available for testing
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@un...> - 2024-09-27 08:25:40
|
Hi everyone, The release candidate for 6.1.8 is now available. The actual 6.1.8 stable release will be around mid-October. Testing is appreciated. If you find anything, please report the issue at https://bugs.unrealircd.org<https://bugs.unrealircd.org>. This release fixes a number of bugs and also adds a new extban ~inherit and auto-login for vhosts. See the release notes below. Enhancements: * New Extended ban <https://www.unrealircd.org/docs/Extended_bans#Group_4:_special> to inherit channel bans from another channel: o If in channel |#test| you add |+b ~inherit:#main| then anyone banned in |#main| will be unable to join |#test|. o This only applies for on-join ban checking, not for quiet bans, nick-changes, text bans, etc. o If the other channel (|#main| in this example) also has |~inherit| bans then we do not follow these (no nesting). o The maximum number of ~inherit bans in a channel is limited to only 1 by default, see set::max-inherit-extended-bans <https://www.unrealircd.org/docs/Set_block#set::max-inherit-extended-bans> o This can also be used in |+I|, which entries are counted separately and have their own limit. * Vhosts <https://www.unrealircd.org/docs/Vhost_block>: We now support vhost::auto-login, which means you can set vhosts on users automatically and we support variables in vhost::vhost (this works similar to Gottem's autovhost module) o An example would be: |/* Give users who identify to Services using SASL a nice vhost */ vhost { auto-login yes; vhost $account.users.example.net; mask { identified yes; } }| o On-connect we will go through all vhost blocks that have auto-login set to yes. Blocks are processed in the same order as they are in the config (top-down). The first match wins. o Note that you could already use Services to do this task. This is just an extra feature so you can also do it in UnrealIRCd itself. o The variables that are supported now use a generic framework called Standard variables <https://www.unrealircd.org/docs/Standard_variables> o At the moment these can be used in vhost::vhost, oper::vhost, blacklist::reason and set::oper-vhost * New option set::oper-vhost <https://www.unrealircd.org/docs/Set_block#set::oper-vhost> which sets a default oper::vhost. For example: |set { oper-vhost $operclass.admin.example.net; }| o If both set::oper-vhost and oper::vhost are present, the oper::vhost takes precedence. * In the ban ip { } <https://www.unrealircd.org/docs/Ban_IP_block> and the ban nick { } <https://www.unrealircd.org/docs/Ban_nick_block> blocks you can now have multiple masks. * JSON-RPC <https://www.unrealircd.org/docs/JSON-RPC>: o New call |log.send| <https://www.unrealircd.org/docs/JSON-RPC:Log#log.send> to send a log message / server notice. Fixes: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#fixes> * In some circumstances users could hang during the handshake when their DNS lookup result was cached and using c-ares 1.31.0 or later (which was released on June 18 2024 and shipped with UnrealIRCd 6.1.7 to be used as a fallback for systems which don't have the c-ares library installed). * Websockets of type 'text' had IRC messages from server to client cut off too early when message tags were in use. Type 'binary' was unaffected. * The require authentication { } block <https://www.unrealircd.org/docs/Require_authentication_block> was broken in 6.1.7.*. * JSON-RPC <https://www.unrealircd.org/docs/JSON-RPC> call |spamfilter.get| could not retrieve information about config-based spamfilters. * The |decode_authenticate_plain()| was reading OOB. This function is not used by UnrealIRCd itself but could affect third party modules. * Crash on invalid server-to-server command regarding |REHASH| (This only affected trusted linked servers) Changes: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#changes> * Security group blocks <https://www.unrealircd.org/docs/Security-group_block> are now hidden in lists by default. If you want the security group to be shown in things like |MODE #channel +b ~security-group:x| (which shows a list) then you need to use |public yes;|. The default security groups like known-users, webirc-users, etc. are public by default. * When retrieving cold or hot patches we now do proper GPG/PGP checks. Just like we do on |./unrealircd upgrade| * Update shipped libraries: c-ares to 1.33.1 * Move +/- 1000 lines of code from core to modules (regarding throttling, maxperip, vhost, exit_client). Developers and protocol: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#developers-and-protocol> * The |MD| S2S command now supports |BIGLINES|, allowing synching of 16K serialized moddata per entry. We don't plan to use this anytime soon, this is mostly so all UnrealIRCd servers support this in a year or two. However, if you do plan to serialize big moddata results in your third party module then be sure all UnrealIRCd servers are on 6.1.8 or higher to prevent cut-off. You can download UnrealIRCd from https://www.unrealircd.org/ |