From wobst.michael at web.de Sat Aug 14 04:07:39 2021 From: wobst.michael at web.de (Michael Wobst) Date: Sat, 14 Aug 2021 10:07:39 +0200 Subject: [hybrid] ircd-hybrid release notification - ircd-hybrid-8.2.39 Message-ID: <2f1075b3-55fe-18b5-86dd-6526acec65f4@web.de> https://sourceforge.net/projects/ircd-hybrid/files/ircd-hybrid/ircd-hybrid-8.2.39/ircd-hybrid-8.2.39.tgz/download sha1: 54f01a309c4dc143c459c2351baf970bff7601ef ircd-hybrid-8.2.39.tgz sha256: 035d271f6b0dd451157f80146d189bc1c9b84cc9ba1b7ad06fd72ee5108e6e4d ircd-hybrid-8.2.39.tgz -- Noteworthy changes in version 8.2.39 (2021-08-14) * `hidechans` and `hideidle` may now be set in `general::oper_only_umodes` * OpenSSL 3.0 compatibility improvements * Fixed crashing issue in the mkpasswd tool with older glibc * Fixed issue where the ircd wouldn't listen on both IPv4 and IPv6 ports in case only a port but no address has been specified in a listen {} block * Fixed a `STATS P` displaying issue with compressed ipv6 loopback/inaddr_any -- Noteworthy changes in version 8.2.38 (2021-01-17) * Backwards compatibility mode for ircd-hybrid 8.2.22 and below has been removed * Minimum supported version of the Anope IRC services is now 2.0.8 * Fixed displaying issue with channel `MODE` messages * Characters valid for user names (ident) for local clients are now `[A-Za-z0-9._-]`. Special characters like ``}|{`^]\[$``, that were allowed previously, are no longer valid. Also user names may not begin with `.`, `_`, or `-`. * The `general::dots_in_ident` configuration directive has been renamed to `general::specials_in_ident` and now covers the `-` and `_` characters in addition to `.` * Fixed issue with clients connected from IPv6 localhost that, depending on the system's `getaddrinfo` implementation, could lead to a crash of remote servers * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.37 (2020-12-26) * Implemented IRCv3 `CAP 302` * Implemented IRCv3 `cap-notify` capability * In case a client sends multiple `PASS` messages, ircd only accepts the password sent in the first `PASS` message instead of the last one * Missing help file for `MONITOR` has been added * Fixed slightly off memory count for motds in `STATS z` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.36 (2020-12-04) * The old WATCH implementation has been replaced with IRCv3.2 MONITOR. For this, the `general::max_watch` configuration directive has been renamed to `general::max_monitor`. * User mode `B` has been implemented. Clients with that mode set are marked as a bot in both `WHOIS` and `WHO`. This mode can only be set by IRC operators (as long as the `bot` directive is set in `general::oper_only_umodes`), servers, and services. This mode can for example be used to mark HOPM as official network bot. * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.35 (2020-11-14) * Fixed issue where servers could propagate truncated ban masks during net-join * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.34 (2020-11-01) * Re-implement backwards compatibility mode for old ircd-hybrid 8.2.23 and below. Final removal is scheduled for early 2021. * For consistency, the `general::network_desc` configuration directive has been renamed to `general::network_description` * Server notices that previously have been sent to user modes +f and +u are now sent to user mode +j (reject notices) instead. Due to this change, `unauth` and `full` have been removed from `general::oper_only_umodes`, `general::oper_umodes`, and `operator::umodes`. * User mode +b (bots) has been replaced with +f (flood). Spam/flood notices are now sent to this user mode. For this, `bots` has been removed from `general::oper_only_umodes`, `general::oper_umodes`, and `operator::umodes`. `flood` has been added instead to these configuration directives. * Stricten server/user ID validation. IDs have to be all uppercase everywhere now. * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.33 (2020-09-07) * Added `client` option to `listener::flags` * Added `defer` option to `listener::flags` * IRC operators may now use CIDR notation in `WHO` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.32 (2020-08-16) * `RESV` couldn't be issued in case no reason has been supplied. This has been fixed. * Fixed possible `RPL_WHOISCHANNELS` line truncation of remote replies * Extban $t of type `matching` has been implemented. This extban allows matching based on TLS protocol version and/or cipher suite * Implemented channel mode `K`. `KNOCK` cannot be used on channels with that mode set * `STATS ?` is now oper-only * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.31 (2020-05-03) * macOS compatibility fixes * Removed `spoof_notice` from `auth::flags`. With vhosts now this notice doesn't make much sense anymore * Fixed issue where ban masks might become malformed if set by remote clients/servers * Fixed issue with channel mode +c where high ascii characters can be erroneously detected as control characters * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.30 (2020-03-01) * `QUOTE HELP extban` didn't work because the extban help file hasn't been installed properly during `make install` * Fixed broken libcrypto detection which caused the ircd not to work with OpenSSL under certain circumstances * Extban $n of type `acting` has been implemented. This extban prevents matching users from changing their nick while in the channel. Users with voice or above are not affected. * Channel mode +N has been changed so channel members with +v can change their nick name as well * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.29 (2020-02-19) * Extbans have been implemented. Currently supported extbans: Matching: * `$a:` Matches users logged into a matching account. * `$c:` Matches users that are on the given channel. An additional prefix of either @, %, or + can be specified to test for certain channel privileges. * `$o:` Matches IRC operators that have joined a class matching the mask. * `$r:` Matches users with a matching realname. * `$s:` Matches users that are connected to a server matching the mask. * `$u:` Matches users having the specified user modes set or not set. * `$z:` Matches users having the given TLS certificate fingerprint. Acting: * `$j:` Prevents matching users from joining the channel. * `$m:` Blocks messages from matching users. Users with voice or above are not affected. For more details, see `help/extban`. * Added `channel::enable_extbans` configuration option. See `doc/reference.conf` for more information. * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.28 (2020-01-26) * Fixed issue with topics set by `TBURST` not being propagated properly to clients * Allow IRC operators to search for real hosts in `WHO` * Ban/exempt/invex masks are now also tested against realhosts to prevent clients from bypassing channel bans by activating a fakehost * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.27 (2020-01-22) * Experimental support for wolfSSL has been implemented. Minimum supported version is 4.3.0 * The `--enable-openssl`, `--enable-gnutls` switches, and their disabling counterparts `--disable-openssl` and `--disable-gnutls`, have been replaced with the `--with-tls` switch which takes one of the following options: `openssl`, `wolfssl`, `gnutls`, and `none`. If nothing has been specified, configure tries to autodetect in the following order: OpenSSL/LibreSSL -> GnuTLS -> wolfSSL. * Fixed segfault with GnuTLS/libgmp in case there's no DH parameters file defined in `serverinfo::ssl_dh_param_file` or if that file is missing * The connection timeout for connect {} blocks can now be configured via the `connect::timeout` configuration directive * Minimum supported OpenSSL version is 1.1.1 now * Minimum supported GnuTLS version is 3.6.5 now * Supported TLSv1.3 cipher suites can now be configured explicitely via the new `serverinfo::tls_cipher_suites` configuration directive * In the serverinfo {} block, the following configuration directives have been renamed: `ssl_certificate_file` -> `tls_certificate_file` `ssl_dh_param_file` -> `tls_dh_param_file` `ssl_dh_elliptic_curve` -> `tls_supported_groups` `ssl_cipher_list` -> `tls_cipher_list` `ssl_message_digest_algorithm` -> `tls_message_digest_algorithm` * In the operator {} block, the following configuration directives have been renamed: `ssl_certificate_fingerprint -> `tls_certificate_fingerprint` `ssl_connection_required -> `tls_connection_required` * In the connect {} block, the following configuration directives have been renamed: `ssl_cipher_list -> `tls_cipher_list` `ssl_certificate_fingerprint -> `tls_certificate_fingerprint` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.26 (2019-05-31) * The `general::tkline_expire_notices` configuration directive has been replaced with user mode `X`. *LINE expiration notices are sent to IRC operators with that mode set * Fixed issue with `/rehash conf` creating duplicated class entries instead of updating existing ones that are already in use * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.25 (2019-04-24) * The `class::number_per_ip`, `class::max_local` and `class::max_global` configuration directives have been replaced with just `class::number_per_ip_local` and `class::number_per_ip_global`. The `class::max_local` basically was redundant as it had the same functionality as `class::number_per_ip` * Adding RESVs with wildcards no longer requires administrator privileges * The `general::ignore_bogus_ts` configuration option has been deprecated * TLSv1.1 and TLSv1.0 are no longer supported and have been disabled in the OpenSSL and GnuTLS module * Minimum supported OpenSSL version is 1.0.1f now * Minimum supported GnuTLS version is 3.5.8 now * The `serverinfo::vhost` and `serverinfo:vhost6` configuration directives have been deprecated. If you need to bind a specific address you can specify one in the connect {} block * The `connect::vhost` configuration directive has been renamed to `connect::bind` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.24 (2018-04-05) * Added `STATS s` to show configured pseudo {} blocks * Implemented channel mode `N` which prevents users from changing their nick while in a channel with that mode set * Services clients are now shown with `is a Network Service` in `WHOIS` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.23 (2018-03-26) * IRC operators are now able to see a user's resolved hostname in `WHOWAS`, and `WHOIS` even if the user has a fakehost/vhost * `RPL_WELCOME` now does use the rfc2812 style nick!user at host format * Removed rudimentary libgeoip support * Added `--enable-efence` switch to allow easy linking with the electric fence memory debugger library * `JOIN 0` is no longer supported * Fixed bug where ircd would not remove `RPL_WHOISOPERATOR` based svstags when deoppering * Fixed `unknown closes` statistic in `STATS t` showing invalid values sometimes * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.22 (2017-03-26) * Implemented channel mode `L`. Channels with that mode set can make use of an extended ban list size specified with the new `channel::max_bans_large` configuraton option. This mode can be set only by IRC operators or servers. * Implemented channel mode `u` which hides bmask (+b/+e/+I) lists and mode changes to non-chanops everywhere * Fixed an issue with `TRACE` where remote servers would reply with `RPL_TRACEUSER` numerics containing UIDs * `STATS z` now shows simple memory stats of servers linked to the network * Added support for remote `ETRACE` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.21 (2016-11-27) * The `general::default_floodtime` configuration option has been added along with the `SET FLOODTIME` command. These allow to fine-tune the message throttling better * Fixed an issue with `INVITE` not showing the list of channels the sender is invited to * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.20 (2016-11-05) * `INFO` now shows GnuTLS/OpenSSL library/header versions * Added `channel::max_invites` configuration option. See `doc/reference.conf` for more information. * `INVITE` expirations have been implemented. Expire time can be adjusted with the `channel::invite_expire_time` configuration directive * `WHOIS` notices to IRC operators have been re-added. User mode +y is required to see them * The maximum line length for motd files has been increased to 320 bytes to support multibyte encodings better * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.19 (2016-08-21) * Fixed a possible server name leak in `WHO` with server hiding enabled * `WHO` now allows IRC operators to search by IP address * Admins no longer can see IP addresses in `STATS P` with `serverhide::hide_server_ips` enabled * User mode `n` now shows nick name changes from remote clients, too * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.18 (2016-06-22) * Fixed an assert when a client sends invalid `LIST` options * Fixed invalid memory stats of channel invites in `STATS z` * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.17 (2016-04-21) * Fixed core on `REHASH CONF` with `general::whowas_history_length` set to 0 * Fixed possible core on `INVITE` with `channel::max_channels` set to 0 * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.16 (2016-03-20) * Added `general::whowas_history_length` configuration option which allows to define the maximum length of the `WHOWAS` nickname history * Services are now allowed to override `general::min_nonwildcard`, and `general::min_nonwildcard_simple` settings * Minor updates to help files * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.15 (2016-02-24) * Added proper support for Raspbian/ARM. Gracias to Beave/2600.net for providing a box for testing purposes. * Fixed an assert with empty `user = ""` directives in auth {} blocks * `STATS z` now shows allocated listeners * Fixed bug where `can_flood` auth {} flags did not work on channels * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.14 (2016-02-09) * Fixed server clustering * Major cleanups to the configuration subsystem * Improvements to libGeoIP support: - Works now with IPv6 addresses - Added `libgeoip_database_options`, `libgeoip_ipv4_database_file`, and `libgeoip_ipv6_database_file` configuration directives to the serverinfo {} block * Further improvements to GnuTLS support * For a full list of all changes in this release, see -- Noteworthy changes in version 8.2.13 (2016-02-02) * Implemented support for GnuTLS. Currently ./configure's autodetection intentionally prefers OpenSSL over GnuTLS, so OpenSSL detection needs to be disabled explicitely by using the `--disable-openssl` switch. * Minimum supported GnuTLS version is 3.3.8 now * Minimum supported OpenSSL version is 1.0.1d now * Added support for remote `REHASH`: `REHASH