UnrealIRCd 6.0.2 released
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@vu...> - 2022-01-28 15:47:31
|
Hi everyone, See the other announcement a few minutes ago for an important crash fix in 5.x and 6.x, that one can be hot-patched without restart for most users, so you don't have to upgrade to 6.0.2. The post below is about the new release UnrealIRCd 6.0.2 and what it has to offer, since it includes _much more_ than just the previous announced small crash fix. Upgrading to 6.0.2 may be worth it if you want these new features and fixes. And of course you can also decide to hot-patch the important crash issue first and consider upgrading later in the next few weeks. Or wait for a 6.0.3 release in feb/march. It's up to you. If you are not using UnrealIRCd 6 yet and want to migrate from 5.x to 6.x, then check out the general item What's new in UnrealIRCd 6 <https://www.unrealircd.org/docs/What's_new_in_UnrealIRCd_6> and Upgrading from 5.x <https://www.unrealircd.org/docs/Upgrading_from_5.x>. Fixes: * Fix crash that can be triggered by regular users if you have any deny dcc blocks in the config or any spamfilters with the d (DCC) target. NOTE: You don't *have* to upgrade to 6.0.2 to fix this, you can also hot-patch this issue without restart, see the other news announcement. * Windows: fix crash with IPv6 clients (local or remote) due to GeoIP lookup * Fix infinite hang on "Loading IRCd configuration" if DNS is not working. For example if the 1st DNS server in |/etc/resolv.conf| is down or refusing requests. * Some |MODE| server-to-server commands were missing a timestamp at the end, even though this is mandatory for modes coming from a server. * The channeldb <https://www.unrealircd.org/docs/Set_block#set::channeldb> module now converts letter extbans to named extbans (eg |~a| to |~account|). Previously it did not, which caused letter extbans to appear in the banlist. Later on, when linking servers, this would cause duplicate entries to appear as well, with both the old and new format. The extbans were still effective though, so this is mostly a visual +b/+e/+I list issue. * Some Extended Server Bans <https://www.unrealircd.org/docs/Extended_server_bans> were not working correctly for WEBIRC proxies. In particular, a server ban or exempt (ELINE) on |~country:XX| was only checked against the WEBIRC proxy. Enhancements: * Support for logging to a channel <https://www.unrealircd.org/docs/Log_block#Logging_to_a_channel>. Similar to snomasks but then for channels. * Command line interface changes: o The CLI tool <https://www.unrealircd.org/docs/Command_Line_Interface> now communicates to the running UnrealIRCd process via a UNIX socket to send commands and retrieve output. o The command |./unrealircd rehash| will now show the rehash output, including warnings and errors, and return a proper exit code. o The same for |./unrealircd reloadtls| o New command |./unrealircd status| to show if UnrealIRCd is running, the version, channel and user count, .. o The command |./unrealircd genlinkblock| is now documented <https://www.unrealircd.org/docs/Linking_servers_(genlinkblock)> and is referred to from the Linking servers tutorial <https://www.unrealircd.org/docs/Tutorial:_Linking_servers>. o On Windows in the |C:\Program Files\UnrealIRCd 6\bin| directory there is now an |unrealircdctl.exe| that can be used to do similar things to what you can do on *NIX. Supported operations are: |rehash|, |reloadtls|, |mkpasswd|, |gencloak| and |spkifp|. * New option set::server-notice-show-event <https://www.unrealircd.org/docs/Set_block#set::server-notice-show-event> which can be set to |no| to hide the event information (eg |connect.LOCAL_CLIENT_CONNECT|) in server notices. This can be overridden per-oper in the Oper block <https://www.unrealircd.org/docs/Oper_block> via oper::server-notice-show-event. * Support for IRC over UNIX sockets (on the same machine), if you specify a file in the listen block <https://www.unrealircd.org/docs/Listen_block> instead of an ip/port. This probably won't be used much, but the option is there. Users will show up with a host of |localhost| and IP |127.0.0.1| to keep things simple. * The |MAP| command now shows percentages of users * Add |WHO| option to search clients by time connected (eg. |WHO <300 t| to search for less than 300 seconds) * Rate limiting of |MODE nick -x| and |-t| via new |vhost-flood| option in set::anti-flood block <https://www.unrealircd.org/docs/Anti-flood_settings>. Changes: * Update Russian |help.ru.conf|. Developers and protocol: * People packaging UnrealIRCd (eg. to an .rpm/.deb): o Be sure to pass the new |--with-controlfile| configure option o There is now an |unrealircdctl| tool that the |unrealircd| shell script uses, it is expected to be in |bindir|. * |SVSMODE #chan -b nick| will now correctly remove extbans that prevent |nick| from joining. This fixes a bug where it would remove too much (for |~time|) or not remove extbans (most other extbans, eg |~account|). |SVSMODE #chan -b| has also been fixed accordingly (remove all bans preventing joins). Note that all these commands do not remove bans that do not affect joins, such as |~quiet| or |~text|. * For module coders: setting the |EXTBOPT_CHSVSMODE| flag in |extban.options| is no longer useful, the flag is ignored. We now decide based on |BANCHK_JOIN| being in |extban.is_banned_events| if the ban should be removed or not upon SVS(2)MODE -b. As always, you can download UnrealIRCd from https://www.unrealircd.org/ -- 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 |