UnrealIRCd 6.1.7 released
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@un...> - 2024-07-16 11:04:09
|
(You can unsubscribe from this list here <https://sourceforge.net/projects/unreal/lists/unreal-notify/unsubscribe>) Hi everyone, It has been only a month since previous release, but I'm happy to announce UnrealIRCd 6.1.7. The main purpose of this release is adding new features, such as ASN support, more flexible ban user { } and ban authentication { } blocks and more. See the release notes below for all details. Enhancements: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#enhancements> * In the ban user { } <https://www.unrealircd.org/docs/Ban_user_block> and require authentication { } <https://www.unrealircd.org/docs/Require_authentication_block> blocks the |mask| is now a Mask item <https://www.unrealircd.org/docs/Mask_item>. This means you can use all the power of mask items and security groups and multiple matching criteria. * The GeoIP module now contains information about Autonomous System Numbers <https://www.unrealircd.org/docs/ASN>: o The asn is shown in the user connecting notice as |[asn: ###]|, is shown in |WHOIS| (for IRCOps) and it is expanded in JSON data such as JSON Logging <https://www.unrealircd.org/docs/JSON_logging> and JSON-RPC <https://www.unrealircd.org/docs/JSON-RPC> calls like |user.list|. o Can be used in Extended server ban <https://www.unrealircd.org/docs/Extended_server_bans>: |GLINE ~asn:64496 0 This ISP is banned|. o Can be used in security groups and mask items <https://www.unrealircd.org/docs/Mask_item> so you can do like: |require authentication { mask { asn { 64496; 64497; 64498; } } reason "Too much abuse from this ISP. You are required to log in with an account using SASL."; }| o In Crule <https://www.unrealircd.org/docs/Crule> functions as |match_asn(64496)| o Also available in regular extbans/invex, but normally users don't know the IP or ASN of other users, unless you use no cloaking or change set::whois-details::asn <https://www.unrealircd.org/docs/Set_block#set::whois-details>. * JSON-RPC <https://www.unrealircd.org/docs/JSON-RPC>: Similar to oper and operclass, in an rpc-user <https://www.unrealircd.org/docs/Rpc-user_block> you now have to specify an rpc-user::rpc-class. The rpc-class is defined in an rpc-class block <https://www.unrealircd.org/docs/Rpc-class_block> and configures what JSON methods can be called. There are two default json-rpc classes: o |full|: access to all JSON-RPC Methods o |read-only|: access to things like /server_ban.list/ but not to /server_ban.add/ * set::spamfilter::except <https://www.unrealircd.org/docs/Set_block#set::spamfilter::except> is now a Mask item <https://www.unrealircd.org/docs/Mask_item> instead of only a list of exempted targets. A warning is created to existing users along with a suggestion of how to use the new syntax. Technically, this is not really new functionality as all this was already possible via the Except ban block <https://www.unrealircd.org/docs/Except_ban_block> with type spamfilter, but it is more visible/logical to have this also. * New option set::hide-killed-by <https://www.unrealircd.org/docs/Set_block#set::hide-killed-by>: We normally show the nickname of the oper who did the /KILL in the quit message. When set to |yes| the quit message becomes shortened to "Killed (Reason)". This can prevent oper harassment. * set::restrict-commands <https://www.unrealircd.org/docs/Restrict_commands>: new option |channel-create| for managing who may create new channels. * New option set::tls::certificate-expiry-notification <https://www.unrealircd.org/docs/Set_block#set::tls::certificate-expiry-notification>: since UnrealIRCd 5.0.8 we warn if a SSL/TLS certificate is (nearly) expired. This new option allows turning it off, it is (still) on by default. * Add the ability to capture the same data as Central Spamreport <https://www.unrealircd.org/docs/Central_spamreport> by providing an spamreport::url option. Changes: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#changes> * IRCOps with the operclass |locop| can now only |REHASH| the local server and not remote servers. * Comment out some more in example.conf by default * Update shipped libraries: c-ares to 1.31.0, PCRE2 to 10.44, Sodium to 1.0.20 Fixes: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#fixes> * Crash when removing the |websocket| option on a websocket listener. * Silence some compiler warnings regarding deprecation of c-ares API in src/dns.c. * Memory leaks of around 1-2KB per rehash Developers and protocol: <https://github.com/unrealircd/unrealircd/blob/unreal60_dev/doc/RELEASE-NOTES.md#developers-and-protocol> * We use numeric 569 (RPL_WHOISASN) for displaying ASN info to IRCOps: |:irc.example.net 569 x whoiseduser 64496 :is connecting from AS64496 [Example Corp]| As always, you can download UnrealIRCd from https://www.unrealircd.org/. On *NIX you can upgrade with: ./unrealircd upgrade |