UnrealIRCd 6.1.7.1 released
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@un...> - 2024-07-18 13:37:54
|
(You can unsubscribe from this list here <https://sourceforge.net/projects/unreal/lists/unreal-notify/unsubscribe>) Today I have released UnrealIRCd 6.1.7.1. This fixes a completely harmless log message to IRCOps popping up sometimes ("[BUG] trying to modify fd -2"). This issue did not affect everyone, it happens with certain DNSBL hits and only if you are using c-ares library version 1.31.0 or later (which happens if you don't have c-ares installed as a system library and it falls back to the UnrealIRCd shipped one). UnrealIRCd 6.1.7.1 fixes the case that caused that log message, and it also adds ASN support in WHOWAS. If you are not seeing the log messages or are not bothered by them then there is no reason to upgrade. The original 6.1.7 announcement is below 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: * 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: * 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: * 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: * 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 |