[hybrid] ircd-hybrid release notification - ircd-hybrid-8.2.39

Michael Wobst wobst.michael at web.de
Sat Aug 14 04:07:39 EDT 2021


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 <https://git.io/Jts3u>


-- 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 <https://git.io/JtkgJ>


-- 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 <https://git.io/JLMnJ>


-- 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 <https://git.io/JIUa6>


-- 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 <https://git.io/JkeID>


-- 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 <https://git.io/JTftW>


-- 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 <https://git.io/JUZa1>


-- 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 <https://git.io/JUZa6>


-- 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 <https://git.io/JfOyF>


-- Noteworthy changes in version 8.2.29 (2020-02-19)
* Extbans have been implemented. Currently supported extbans:

   Matching:

   * `$a:<account>`   Matches users logged into a matching account.
   * `$c:<channel>`   Matches users that are on the given channel. An
additional
                      prefix of either @, %, or + can be specified to
test for
                      certain channel privileges.
   * `$o:<class>`     Matches IRC operators that have joined a class
                      matching the mask.
   * `$r:<realname>`  Matches users with a matching realname.
   * `$s:<server>`    Matches users that are connected to a server
matching the mask.
   * `$u:<modes>`     Matches users having the specified user modes set
or not set.
   * `$z:<certfp>`    Matches users having the given TLS certificate
fingerprint.

   Acting:

   * `$j:<banmask>`   Prevents matching users from joining the channel.
   * `$m:<banmask>`   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 <https://git.io/JvgAL>


-- 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 <https://git.io/Jv37M>


-- 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 <https://git.io/Jvq9g>


-- 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 <https://git.io/fjEbq>


-- 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 <https://git.io/fjRVk>


-- 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 <https://git.io/fjRVt>


-- 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 <https://git.io/fjRVq>


-- 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 <https://git.io/fjRVO>


-- 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 <https://git.io/fjRVG>


-- 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 <https://git.io/fjRVZ>


-- 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 <https://git.io/fjRVC>


-- 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 <https://git.io/fjRSx>


-- 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 <https://git.io/fjRSp>


-- 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 <https://git.io/fjRSj>


-- 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 <https://git.io/fjR9v>


-- 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 <https://git.io/fjR9f>


-- 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 <server> <option>`
* Added `rehash:remote` IRC operator privilege flag
* Added `rehash` type to shared {} blocks
* Fixed minor memory leak with shared {} and cluster {} blocks
* For a full list of all changes in this release, see <https://git.io/fjR9J>


-- Noteworthy changes in version 8.2.12 (2016-01-05)
* **IMPORTANT:** Character case mapping is `ascii` now. It is recommended
   to update all servers on the network to prevent possible channel
   desynchronizations and nick name collision kills
* Added channel mode `T` which forbids `NOTICE` to be sent to a channel
* Fixed minor `SVSTAG` memory leak
* Fixed broken `PART` message blocking mechanism
* ircd now makes use of up to 8 name servers that are specified in
   `/etc/resolv.conf`
* The `-klinefile`, `-dlinefile`, etc. switches didn't work at all
* Fixed possible core on ident lookups if ircd is out of file descriptors
* Far client exit notices (+F) now show IP addresses, too
* Made idle time look nicer in `STATS v|p` by using a formatted time string
* `general::ts_warn_delta`, and `general::ts_max_delta` can be set to 0 now
* For a full list of all changes in this release, see <https://git.io/JvLtj>


-- Noteworthy changes in version 8.2.11 (2015-11-19)
* Implemented IRCv3.2 `invite-notify` extension
* Implemented IRCv3.2 `chghost` extension
* Added `channel::invite_delay_channel` configuration option
* For a full list of all changes in this release, see <https://git.io/JvLqe>


-- Noteworthy changes in version 8.2.10 (2015-11-06)
* **IMPORTANT:** renamed `serverhide::links_delay` configuration directive
   to `serverhide::flatten_links_delay`
* Added `serverhide::flatten_links_file` configuration option
* Fixed bug where changing `serverhide::flatten_links_delay` on runtime
   would not have any effect
* mkpasswd (tools): fixed broken bcrypt support on *BSD in conjunction with
   the `-s` and `-l` switches. Dropped MD5, DES and Extended DES support.
* Removed `CHALLENGE` in favor of ssl certificate fingerprint enabled
   operator {} blocks
* RSA keys with less than 2048 bits are no longer supported; same applies
   to the DH param file
* Added missing IRC operator privilege flags to `STATS o`. For a full list
   of flags see `doc/reference.conf`
* For a full list of all changes in this release, see <https://git.io/JvLqJ>


-- Noteworthy changes in version 8.2.9 (2015-09-13)
* **IMPORTANT:** database files and links.txt are now stored in `/var/lib`
   instead of `/etc`, so make sure to move your k/d/x-line database files
   to the new path before (re)starting the ircd
* **IMPORTANT:** the splitmode logic has been removed along with the
   following channel {} block configuration directives:
   `default_split_user_count`, `default_split_server_count`,
   `no_create_on_split`, `no_join_on_split`
* Added `xline_exempt` to auth {} block flags
* `serverinfo::sid` is now optional. A unique SID is now automatically
   generated based on the server's name and description
* Various fixes to the mkpasswd tool
* If supported by the compiler, ircd-hybrid now compiles with
   `-fstack-protector-strong` instead of `-fstack-protector`
* Services can now add RESVs (SQLINEs) that have wildcards in it
* Channel name RESVs are now sanity checked for too broad masks
* `class::connectfreq` now works properly with values lower than 300 seconds
* Implemented IRCv3.1 `account-notify` extension
* The `general::oper_pass_resv` configuration directive has been deprecated
   in favor of the new `join:resv`, and `nick:resv` IRC operator flags.
   See `doc/reference.conf` for more information.
* Added `resv`, and `unresv` IRC operator flags. Previously, all
   IRC operators were allowed to `RESV` and `UNRESV`, regardless of
configured
   privileges.
* Added `close` to IRC operator flags
* ircd is using ISO 8601 date and time notation in most places now
* For a full list of all changes in this release, see <https://git.io/JvLqI>


-- Noteworthy changes in version 8.2.8 (2015-05-10)
* ircd now rejects remote k-line requests for user at host mask that don't
   have at least `general::min_nonwildcard` non-wildcard characters in it
* Configuration related server notices are now sent to admins only as
   they potentially could leak passwords and other sensitive data to IRC
   operators that don't have administrator privileges
* The `GLINE`/`GUNGLINE` commands have been removed. `KLINE` in conjunction
   with cluster {} and/or shared {} blocks is now the recommended
   way to add global user at host mask based server bans
* Added `dline_min_cidr`, `dline_min_cidr6`, `kline_min_cidr`, and
  `kline_min_cidr6` configuration options to the general {} block
* Fixed bug where a `REHASH` would clear all X-Lines and RESVs that have
   been set with the `XLINE`/`RESV commands`
* Fixed broken temporary remote XLINEs
* The `general::havent_read_conf` configuration directive has been removed
* For a full list of all changes in this release, see <https://git.io/JvLqq>


-- Noteworthy changes in version 8.2.7 (2015-04-05)
* Fixed a potential buffer overflow with the `BMASK` inter-server command
* Fixed undefined behavior in the `HELP` command module which could
   lead to stack corruption
* Removed useless help files for inter-server commands
* For a full list of all changes in this release, see <https://git.io/JfOyA>


-- Noteworthy changes in version 8.2.6 (2015-03-29)
* `INFO` now shows configured values of `max_watch` and `stats_m_oper_only`
* `WHOWAS` now shows IP addresses to IRC operators
* Fixed bug that would allow remote clients to bypass the hard
   limit of max `WHOWAS` entries to be returned
* For a full list of all changes in this release, see <https://git.io/JTTuf>


-- Noteworthy changes in version 8.2.5 (2015-02-24)
* Fixed core on Mac OSX 10.10 and possibly some other systems when parsing
   the `ircd.conf` with configured pseudo {} blocks
* For a full list of all changes in this release, see <https://git.io/JTTuI>


-- Noteworthy changes in version 8.2.4 (2015-02-17)
* Added `SVSTAG` command which services may use to add tags to users
which can
   be seen in `WHOIS`
* Added `oper::whois` configuration option which allows to override the
default
   `RPL_WHOISOPERATOR` numeric string shown in `WHOIS`
* IRC operators may now use +O on a channel even if they are only a half-op
* Fixed bug where `TOPIC` messages were not n!u at h prefixed in case of
`TBURST`
   issued by services clients
* For a full list of all changes in this release, see <https://git.io/JTTut>


-- Noteworthy changes in version 8.2.3 (2015-02-11)
* **IMPORTANT:** the following configuration directives have been renamed:
    `max_clients` -> `default_max_clients`
    `join_flood_count` -> `default_join_flood_count`
    `join_flood_time` -> `default_join_flood_time`
* Fixed bug where `REHASH` would always reset the `MAX`, `JFLOODTIME`, and
   `JFLOODCOUNT` values that have been changed from within IRC via the `SET`
   command
* Added channel mode `C` which prevents users from sending CTCPs to a
channel
* Fixes to the `NOTICE`/`PRIVMSG` anti-flood logic
* Allow to disable the `NOTICE`/`PRIVMSG` anti-flood mechanism by
setting the
   `general::default_floodcount` configuration option to 0
* Updated some help files
* IRC operators may now see certificate fingerprints, user modes and hidden
   channels via `WHOIS` as well. This used to be admin only.
* For a full list of all changes in this release, see <https://git.io/JTQP3>


-- Noteworthy changes in version 8.2.2 (2015-01-20)
* Implemented IRCv3.1 `extended-join` extension
* Channel half-ops can now use `INVITE` as well
* Fixed broken `make install -jX`
* `m_opme.c` has been added to `modules/extra`. Can be used on opless
channels only.
* Added `opme` to IRC operator flags
* Updated several help files
* The `general::hide_spoof_ips` configuration option has been deprecated
* The `general::true_no_oper_flood` configuration option has been
deprecated.
   IRC operators still can have higher `flood` limits with
`no_oper_flood = yes;`
   hoewever, they are no longer allowed to bypass RecvQ limits.
* Added `general::stats_m_oper_only` configuration option
* Remote client connection notices (user mode +F) now do show IP
addresses, too
* For a full list of all changes in this release, see <https://git.io/JTQPG>


-- Noteworthy changes in version 8.2.1 (2014-10-21)
* Fixed bug where `UNDLINE remote.server IP` did not work as expected
* Servers are now allowed to add/remove K-/D-/X-lines and RESVs
* User mode +G now no longer allows to override +g
* Due to potential weakness, TLS session caching and session tickets
   have been disabled
* Minor improvements to TS6 implementation
* `WHOWAS` now shows the name of the services account a user was logged in
* For a full list of all changes in this release, see <https://git.io/JTQP8>


-- Noteworthy changes in version 8.2.0 (2014-08-24)
* Successful IRC operator logins are now announced globally via `GLOBOPS`
* Cleanups and improvements to the resolver code
* Cleanups and improvements to the `poll` I/O event notification support
* A topic mask can now be specified within the `LIST` options
* All users may now see channel modes in the `LIST` reply
* Fixed bug where `NOTICE +#somechan` did allow bypassing resv {} channels,
   or channels that are set +c (no control codes)
* pseudo {} blocks also known as service aliases have been implemented.
   See `doc/reference.conf` for more information.
* Removed `general::services_name` configuration option. This is now no
   longer needed.
* For a full list of all changes in this release, see <https://git.io/JTQPR>


-- Noteworthy changes in version 8.2.0rc2 (2014-08-03)
* Improved AWAY throttling to allow for better fine-tuning. See the
   newly added `away_count` and `away_time` configuration directives
   in the general {} block
* Support for the `select` I/O event notification has been dropped
* For a full list of all changes in this release, see <https://git.io/JkeIF>


-- Noteworthy changes in version 8.2.0rc1 (2014-07-20)
* Miscellaneous code cleanups and stabilization fixes
* `./configure` now requires OpenSSL 0.9.8o or above in order
   to enable TLS/SSL support
* For a full list of all changes in this release, see <https://git.io/JkeLI>


-- Noteworthy changes in version 8.2.0beta4 (2014-07-06)
* **IMPORTANT:** channel halfops are now an integral part of ircd-hybrid
   and can't be disabled anymore
* Added flood control for the `INVITE` command. See channel {} block in
`reference.conf`
* Changed flood control logic for the `KNOCK` command. See channel {}
block in `reference.conf`
* `INVITE` without any parameters now shows a list of channels a client
is invited to
* The `OPERWALL` command has been removed. Use `GLOBOPS` instead
* Added `max_channels` to class {} blocks
* Added `throttle_count` configuration option to the general {} block
* Added `ssl_message_digest_algorithm` configuration option to
serverinfo {} block.
   See `doc/reference.conf` for more information.
* Added support for Elliptic Curve Diffie-Hellman (ECDH). Also an
elliptic curve can be
   specified via the `serverinfo::ssl_dh_elliptic_curve` configuration
option.
* Removed `ssl_server_method` and `ssl_client_method` configuration options.
   ircd now only allows TLSv1, TLSv1.1 and TLSv1.2 protocols depending
   on the OpenSSL version. SSLv3 is no longer supported.
* For a full list of all changes in this release, see <https://git.io/JkeLO>


-- Noteworthy changes in version 8.2.0beta3 (2014-05-26)
* Code cleanups/performance improvements
* For a full list of all changes in this release, see <https://git.io/JkeLW>


-- Noteworthy changes in version 8.2.0beta2 (2014-05-15)
* **IMPORTANT:** renamed `general::warn_no_nline` configuration directive to
   `general::warn_no_connect_block`
* Fixed bug with `WHOIS` not showing a list of channel names as expected
* Added user mode +q which hides idle and signon time in `WHOIS`
* Added user mode +p which hides channel list in `WHOIS`
* For a full list of all changes in this release, see <https://git.io/JkeLB>


-- Noteworthy changes in version 8.2.0beta1 (2014-04-29)
* TS6 is now mandatory. ircd is no longer backwards compatible with TS5
   and below.
* `SVSJOIN` and `SVSPART` commands have been added
* Major code cleanups and refactoring. Improved overall performance
* `INFO` now also reports `MPATH` (path to main motd (Message of the
Day) file)
   and `SPATH` (Path to server executable)
* Updated several help files


-- Noteworthy changes in version 8.1.20 (2014-07-20)
* Fixed `XLINE` not working as expected
* Fixed build with LibreSSL which hasn't compression support
* Miscellaneous stabilization and cosmetical fixes
* EGD support has been dropped


-- Noteworthy changes in version 8.1.19 (2014-07-05)
* Fixed `EOB` logic for remote servers
* Fixed bug where IRC operators that have the +g/+G/+R umodes set won't
receive
   server notices for remote CONNECT/KLINE/DLINE/XLINE/RESV attempts
* Sending messages to user at server to local targets is now no longer
possible,
   as this was an easy way to bypass +R/+G/+g user modes.
* Fixed splicode logic so `SPLITNUM` now works as expected
* Fixed `UNDLINE` not to require the IP address to be prepended with *@


-- Noteworthy changes in version 8.1.18 (2014-06-09)
* Fixed `CAP` issue for certain clients
* Fixed bug where `STATS p` would show an invalid amount of IRC operators
   in case there are any +H opers
* IRC operators may now no longer set a channel +O if they are only
halfops (%)
* Channel halfops (%) may now no longer (de)halfop other channel members
* Channel halfops (%) may now no longer `KICK` other channel halfops
* Fixed compile warnings; code cleanups
* Fixed bug where the configuration parser wouldn't truncate the network
name
   if `general::network_name` contains spaces


-- Noteworthy changes in version 8.1.17 (2014-05-01)
* Fixed possible `WATCH` core
* Fixed bug where the configuration parser wouldn't take time units
   into consideration for the `join_flood_time` and `throttle_time`
   configuration options
* Minor `LIST` optimization


-- Noteworthy changes in version 8.1.16 (2014-04-20)
* Fixed undefined behaviour with `crypt` returning `NULL`
   since glibc2.17 in certain cases
* Admins may now see all channel members via `WHO #channel`
   regardless of channel mode +s
* Fixed corrupted `STATS U` output


-- Noteworthy changes in version 8.1.15 (2014-03-29)
* **IMPORTANT:** ircd binary is now again placed into `bin/` instead of
`sbin/`
* mkpasswd in tools/ now defaults to MD5 instead of DES
* The `USERS` command has been removed
* Fixed issue with `SVSNICK` where clients self-collided when changing
   just the case of the nick name, i.e. somenick -> SomeNicK


-- Noteworthy changes in version 8.1.14 (2014-02-25)
* WHOWAS now honors `serverhide::disable_remote_commands`
* Improved TS6 inter-server communication
* Added `unxline` IRC operator flag
* Implemented IRCv3.2 `userhost-in-names` extension
* ircd now allows private RSA keys larger than 2048 bits
* Fixed bug where signals stopped from working after restarting
   the ircd via SIGINT
* Fixed bug where certain irc clients could not reconnect via TLS/SSL
* Fixed long-standing bug where +p channels have been shown
   in the `WHOIS` reply


-- Noteworthy changes in version 8.1.13 (2014-01-07)
* Fixed `EOB` not working for remote servers (resulted in fake direction
notices)
* Fixed remote client connection notices for servers that are
   more than one hop away
* Fixed bug where the ircd didn't timeout SSL connections that
   haven't finished the SSL handshake
* Fixed several bugs with server hiding
* Updated/fixed help files
* `WHOIS` no longer sends a notice to +y operators


-- Noteworthy changes in version 8.1.12 (2013-12-22)
* `RPL_WHOISMODES` now uses the 379 numeric
* Serial number is now shown on start up
* Fixed possible channel mode desynch with services
* Fixed TS6 support with `LOCOPS`
* Minor code cleanups
* Fixed file descriptor leak with empty help files
* Fixed issue with `WEBIRC` where hostnames were not validated


-- Noteworthy changes in version 8.1.11 (2013-12-06)
* Administrators may now see channel modes in `LIST`
* Fixed compile error on BSD systems when building with `kqueue`


-- Noteworthy changes in version 8.1.10 (2013-11-25)
* Fixed bug with `kqueue` where it occasionally dropped updates
* Changed `WHOIS` to show certificate fingerprint to administrators only
* The `WHO` reply now shows if a nickname has been registered
   with NickServ. (`r` status flag)
* Fixed some flaws with server hiding
* Fixed bug where `STATS P` would leak ip addresses to remotely connected
   administrators, even if `serverhide::hide_server_ips` was set to `yes`
* Added `SVSKILL` command


-- Noteworthy changes in version 8.1.9 (2013-11-08)
* Added user mode +W. Users connected via a webirc gateway get this
   mode set by servers.
* `WHOIS` now shows if a client is connected via a webirc gateway
* Administrators may now see +s channels a user is in with `WHOIS`.
   Secret channels are prepended with a tilde in the `WHOIS` reply.
* Administrators are now able to see all the user modes a user has
   set via `WHOIS`


-- Noteworthy changes in version 8.1.8 (2013-10-25)
* Fixed bug that could lead to a desynchronized nick database
   throughout the entire network if using services enforced
   nick names (`SVSNICK`)
* Cleaned up/modernized build system
* Add `-fstack-protector` to `CFLAGS` if available. Basically checks for
   buffer overflows/stack-smashing attacks
* When using anope 1.9/2.0 services, `WHOIS` now shows the account name
   of a registered/identified client (numeric 330)
* Administrators can now see +s channels in the `LIST` reply


-- Noteworthy changes in version 8.1.7 (2013-08-18)
* Fixed issue with channel mode +n having no functionality at all
* Fixed SSL certificate fingerprint validation for outgoing server connects
* Updated several documentation files


-- Noteworthy changes in version 8.1.6 (2013-08-02)
* Fixed possible core with empty motd files


-- Noteworthy changes in version 8.1.5 (2013-07-16)
* Fixed bug that would prevent servers from linking together
   if `connect::aftype` isn't set


-- Noteworthy changes in version 8.1.4 (2013-07-05)
* Added `xline` and `resv` logging types. See `doc/reference.conf`
   for more information
* Fixed bug where remote `STATS` requests were not rate limited
* Fixed core with empty `auth::spoof` entries
* Increased oper/auth/connect password length limit from 20 to 128
* Minor fixes to nickflood control code


-- Noteworthy changes in version 8.1.3 (2013-06-23)
* Fixed possible core on `STATS z`
* Revised `doc/reference.conf`
* Fixed broken `--disable-libgeoip` switch


-- Noteworthy changes in version 8.1.2 (2013-06-20)
* Added `general::cycle_on_host_change` configuration option
* Added `general::stats_u_oper_only` configuration option
* Added support for SHA-256 ssl certificate fingerprint based operator {}
   and connect {} blocks.
   In conjunction with Anope 1.9/2.0 IRC-services, clients are now also able
   to automatically identify for their nick with ssl certificate
   fingerprints
* Added `operator::ssl_connection_required` configuration option. See
   `doc/reference.conf` for more information
* Added user mode +S (client is connected via SSL/TLS). Allows services
   to keep track of what users are connected via SSL, and allows to see
   ssl-status of remote clients in a `WHOIS`
* Fixed a server name leak with server hiding enabled


-- Noteworthy changes in version 8.1.1 (2013-06-06)
* **IMPORTANT:** moved `disable_remote_command` configuration directive from
   general {} block to serverhide {} block
* Minor code cleanups/performance improvements
* Fixed bug where IRC operators could see `LOCOPS` messages even if they
don't
   have the +l mode set
* Fixed bug where non-SSL clients could join +S channels on non-SSL servers
* Implemented motd {} configuration blocks. See `doc/reference.conf` for
more
   information
* `STATS T` shows configured MOTD files


-- Noteworthy changes in version 8.1.0 (2013-05-23)
* Minor code cleanups/performance improvements


-- Noteworthy changes in version 8.1.0rc1 (2013-05-19)
* Fixed broken spoofs


-- Noteworthy changes in version 8.1.0beta5 (2013-05-15)
* Removed `remote`, and `global_kill` oper flags, and added `connect`,
  `squit`, and `kill` flags for better fine-tuning instead. Whether or
   not a specific action is allowed on a remote server can be controlled
   by appending the `:remote` flag. For example: `kill` allows only local
   clients to be killed, whereas `kill:remote` allows to issue a `KILL` for
   remote clients
* Added `locops` and `wallops` to IRC operator flags
* Improve/cleanup `HELP` system


-- Noteworthy changes in version 8.1.0beta4 (2013-05-09)
* Implemented channel mode +M. Clients that haven't identified their
   name with NickServ may not speak in a channel that has this mode set
* Fixed weird idletimes shown in `TRACE`
* Added `nononreg` (+R) to `general::oper_umodes`
* Added user mode +F (can see remote client connect/exit notices)


-- Noteworthy changes in version 8.1.0beta3 (2013-05-05)
* PCRE support has been dropped
* `STATS o` now shows how many times an operator {} block has been used.
   Similar to `STATS x|q`
* Implemented channel mode +c. Known from other ircds, this mode basically
   prevents users from sending messages including control codes to a channel
   that has this mode set
* Fixed bug where bans were not checked against non-channel members when
   sending messages to a channel
* Removed `channel::quiet_on_ban` configuration option. This feature is
   now enabled by default


-- Noteworthy changes in version 8.1.0beta2 (2013-04-28)
* Fixed broken compile with libGeoIP disabled
* Code cleanups; working towards stabilization and improved performance
* Removed oper flag `nick_changes`. IRC operators can now set +n at will
* Fixed shared {} blocks not working as expected
* Fixed spoofs not working as expected


-- Noteworthy changes in version 8.1.0beta1 (2013-04-25)
* **IMPORTANT:** name/channel entries can't be stacked any longer within a
   single resv {} block. Each entry now requires its own resv {} block.
   Read `doc/reference.conf` for more details
* Added `resv::exempt` configuration option. Exempt can be either a
   ISO 3166 alpha-2 two letter country code, or a nick!user at host mask.
   CIDR is supported
* Removed `channel::restrict_channels` configuration option
* Preliminary libGeoIP support. Currently only used for exempt entries
   in resv {} blocks
* Improved WEBIRC authentication; added `webirc` to `auth::flags`.
   A `webirc.` spoof is now no longer required
* Implemented new memory pool allocator which basically is based upon Tor's
   mempool allocator for Tor cells
* Implemented new binary database storage for X-, D-, K-, G-Lines and RESVs.
   Temporary bans are now stored as well and will persist after a reboot
* Channel based resv {} blocks may now contain wildcards
* NICK/JOIN now shows the actual reason of reserved nick-/channelnames
* contrib/ and its content has been enirely removed from the tree
* Added `serverhide::hide_services` configuration option
* Added `nononreg` (+R) to `oper::umodes` and `general::oper_only_modes`
* Implemented IRCv3.1 `away-notify` extension


-- Noteworthy changes in version 8.0.9 (2013-05-16)
* Fixed bug where ircd would sometimes drop a services link because
   of a missing argument to the `SVSMODE` command
* Fixed weird idletimes shown in `TRACE`


-- Noteworthy changes in version 8.0.8 (2013-04-28)
* `STATS s` now shows configured services {} blocks as well
* Fixed compile warnings, minor code cleanups and optimizations
* Increased nickname history length to 32768
* Unidentified/unregistered nicks may not speak in +R channels


-- Noteworthy changes in version 8.0.7 (2013-04-12)
* Services may now set a channel topic without joining the channel first
* Fixed bug where `WHOIS` would send empty sockhost information on TS5
servers
* Remote server connection and split notices now go to new user mode +e.
   These previously used user mode +x.
* Services may now change the host of a specific user
   via `SVSMODE <timestamp> <target> +x <hostname>`


-- Noteworthy changes in version 8.0.6 (2013-01-28)
* Fix bug where idle time sometimes is 0 even if the client didn't
   send any private message
* Fixed possible core in `try_parse_v4_netmask`


-- Noteworthy changes in version 8.0.5 (2013-01-24)
* **IMPORTANT:** nick and topic lengths are now configurable via
`ircd.conf`.
   A `max_nick_length`, as well as a `max_topic_length` configuration option
   can now be found in the serverinfo {} block
* Fixed build on GNU/Hurd
* Fixed log files not getting reopened after `REHASH`
* Improved logging of configuration file issues
* `ircd.pid` has been accidentally saved in `/var` instead of `/var/run`
* Linux RT signal support for notification of socket events has been dropped
* Fixed `STATS Y|y` sometimes sending weird sendq/recvq values
* `INFO` now also shows configured values of `disable_fake_channels`,
   and `stats_e_disabled`
* m_webirc.c is now officially supported, and has been moved from contrib/
   to modules/
* `WHOIS`, `STATS p`, and `TRACE` may now show fake idle times depending
   on how the new `class::min_idle` and `class::max_idle` configuration
   directives have been configured. This feature basically works in the
   same way as it does in csircd
* The configuration parser now does support `year` and `month` units


-- Noteworthy changes in version 8.0.4 (2013-01-02)
* Fixed possible core on `USERHOST`/`ISON` with optimization enabled
* Fixed bug where `can_flood` sometimes didn't work as expected


-- Noteworthy changes in version 8.0.3 (2012-12-24)
* Fixed core on `UNDLINE`
* `XLINE`, `KLINE`, `RESV`, `DLINE`, `SQUIT`, and `KILL` now have the
   same default reason if no reason has been specified


-- Noteworthy changes in version 8.0.2 (2012-12-20)
* Minor updates to the build system
* Fixed broken `--enable-assert` configure switch
* Fixed bug where timed events stopped from working if the system's
   clock is running backwards
* `STATS q|Q` now shows how many times a resv {} block has been matched
* Fixed contributed `WEBIRC` module
* IRC operators may now again see server generated nick rejection notices


-- Noteworthy changes in version 8.0.1 (2012-11-04)
* Fixed broken CIDR support for `CHALLENGE` based IRC operator logins
* Fixed class limits not properly applying to operator {} blocks
* Fixed possible `TBURST` desynchronization with services
* Fixed `TBURST` from leaking the server name if it's a hidden server


-- Noteworthy changes in version 8.0.0 (2012-10-18)
* Fixed an off-by-one with spoofs. Spoofs are now also checked for
   invalid characters
* Removed `general::use_whois_actually` configuration directive.
   This is now enabled by default
* Minor `SQUIT` handling fixes
* Fixed bancache not being updated on `CHGHOST`/`CHGIDENT`


-- Noteworthy changes in version 8.0.0rc1 (2012-09-28)
* Removed `general::client_flood` configuration option and added the
   new `recvq` configuration directive to class {} blocks.
   The max size of a receive queue can be seen in `STATS Y`
   for each class
* Allow the `[` and `]` characters in server description


-- Noteworthy changes in version 8.0.0beta3 (2012-08-24)
* Fixed wrong syntax in several language files
* Removed &localchannels
* `PRIVMSG` to `opers at some.server` is no longer supported
* Fixed bug that could lead to topic desynchronization
* Removed `serverhide::disable_hidden` configuration option
* Dropped ircd-hybrid-6 `GLINE` compatibility mode
* Removed `use_invex`, `use_except` and `use_knock` configuration options.
   These features are now enabled by default


-- Noteworthy changes in version 8.0.0beta2 (2012-07-21)
* `channel::disable_fake_channels` now also disables ascii 29 (mIRC italic)
   when set to `yes`
* Added `channel::max_chans_per_oper` configuration directive. The old way
   was to let IRC operators join three times the amount of
max_chans_per_user
* Replaced `MODLOAD`, `MODUNLOAD`, `MODRELOAD`, `MODLIST` and `MODRESTART`
   commands with the new `MODULE` command which can be fed with the `LOAD,`
   `UNLOAD`, `RELOAD` and `LIST` parameters.
   `MODRESTART` has been entirely removed. Use `MODULE RELOAD *` to reload
   all modules
* Added back server notice when a client tries to obtain a reserved nick
name
* Removed `OMOTD` module
* Added `set` to IRC operator privilege flags. Gives access to the `SET`
command
* Improved TS6 support
* Channel keys/passwords are now case sensitive


-- Noteworthy changes in version 8.0.0beta1 (2012-05-28)
* Implemented full services support, including but not limited to the
   following changes:
   - Added `SVSNICK`, and `SVSMODE` command handlers
   - Added service stamps to `NICK`/`UID` messages
   - Added SVS to server capabilities (`CAPAB`). SVS capable servers can
     deal with extended `NICK`/`UID` messages that contain service
IDs/stamps.
   - Changed rejected client notices to go to new user mode +j. These
     previously used user mode +r.
   - Added user mode +r (registered nick) and channel mode +r
(registered channel)
   - Added user mode +R (only registered clients may send a private message)
   - Added channel mode +R (only registered clients may join that channel)
   - Various services shortcuts have been added (`NS`, `CS`, `NICKSERV`,
`CHANSERV`, etc.)
   - Added services {} block to `ircd.conf`
   - Added services_name directive to general {} block
   - Added `GLOBOPS` mainly for services compatibility, but can be used
by IRC operators, too
* Removed `RKLINE` and `RXLINE` commands. Regular expression based bans
should
   only be added via `ircd.conf`
* Added `globops`, `restart`, `dline`, `undline` and `module` IRC
operator privilege flags.
   Read `doc/reference.conf` for further explanation of what these flags
control
* Removed Idle-time klines
* Cleaned up modules API. Old modules won't work anymore
* Removed `general::burst_away` configuration directive. `AWAY` bursts
are now
   controlled via `connect::flags` explicitly
* Introduced new logging subsystem including log rotation based on
   file sizes. Log timestamp format is ISO8601 now
* Added support for remote D-lines
* Added user mode +H which is basically a replacement for the
hidden_admin and
   `hidden_oper` operator flags. With user mode +H, IRC operator status
can now
   be hidden even on remote servers
* Added CIDR support for operator {} blocks
* Removed the servlink program. ircd-hybrid can now make use of
   SSL/TLS for inter-server communication.
   NOTE: compressed server links are of course still available, but a
SSL/TLS
   connection is required, as compression is now handled via OpenSSL
* Removed `ssl_server_protocol` configuration directive and
   added `ssl_client_method` and `ssl_server_method` instead.
   Both of these options can now be changed at runtime
* IRC operator login IDs are no longer limited to `NICKLEN*2`
* Removed `channel::burst_topicwho` configuration option. This feature
is now
   enabled by default
* `STATS Y|y` now reports CIDR limits as well
* Added `m_webirc.c` to `contrib/`
* Overall code cleanup and speed improvements

--------------------------------------------------------------------------------

BUG REPORTS: If you run this code and encounter problems, you must report
  the bug by EMAIL to bugs at ircd-hybrid.org
  Please include a gdb backtrace and a copy of your config.h and
  ircd.conf with any report (with passwords and other sensitive
  information masked).

DISCUSSION: There is a mailing list for discussion of hybrid issues,
  including betas. To subscribe, use this link:
     https://lists.ircd-hybrid.org/mailman/listinfo/hybrid
  This is the proper place to discuss new features, bugs, etc.

Questions/comments directed to bugs at ircd-hybrid.org

Other files recommended for reading: README, INSTALL

--------------------------------------------------------------------------------
$Id: NEWS 10009 2021-08-14 07:52:14Z michael $




More information about the hybrid mailing list