Re: UnrealIRCd 6.1.8 released / 6.1.8.1 release tomorrow
Status: Beta
Brought to you by:
wildchild
From: Bram M. <sy...@un...> - 2024-10-17 16:06:02
|
Sadly, a crash bug in the new vhost auto-login feature in UnrealIRCd 6.1.8 was found. If you use the vhost auto-login functionality then we recommend to remove such a vhost block temporarily until a fix release is published on Friday. Regular vhost blocks are all ok. Fortunately vhost auto-login is a very new feature that is only out since a week, so hopefully it doesn't affect many people. The issue will also be hot patchable without restart. On Fri 11-10-2024 09.13, Bram Matthys wrote: > UnrealIRCd 4.0.0 released > > Hi everyone, > > I'm happy to announce the release of UnrealIRCd 6.1.8 stable. This is > mostly a bug fix release but also adds a new extban ~inherit and > auto-login support for vhosts. See the full release notes below. > > As always, you can download UnrealIRCd from unrealircd.org > <https://www.unrealircd.org/>. If you want to upgrade on *NIX, then > use: *./unrealircd upgrade* > > Do you like UnrealIRCd? Consider making a donation > <https://www.unrealircd.org/index/donations> or order something from > the shop <https://shop.unrealircd.org>. > > > 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: > > * 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: > > * 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: > > * 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. > > |