1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-12 17:14:46 +02:00

** UnrealIRCd 6.2.5 **

This commit is contained in:
Bram Matthys
2026-05-15 13:35:12 +02:00
parent 75bd6e87d3
commit 1250b7f014
9 changed files with 69 additions and 34 deletions
Vendored
+10 -10
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.72 for unrealircd 6.2.5-git. # Generated by GNU Autoconf 2.72 for unrealircd 6.2.5.
# #
# Report bugs to <https://bugs.unrealircd.org/>. # Report bugs to <https://bugs.unrealircd.org/>.
# #
@@ -604,8 +604,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='unrealircd' PACKAGE_NAME='unrealircd'
PACKAGE_TARNAME='unrealircd' PACKAGE_TARNAME='unrealircd'
PACKAGE_VERSION='6.2.5-git' PACKAGE_VERSION='6.2.5'
PACKAGE_STRING='unrealircd 6.2.5-git' PACKAGE_STRING='unrealircd 6.2.5'
PACKAGE_BUGREPORT='https://bugs.unrealircd.org/' PACKAGE_BUGREPORT='https://bugs.unrealircd.org/'
PACKAGE_URL='https://unrealircd.org/' PACKAGE_URL='https://unrealircd.org/'
@@ -1359,7 +1359,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
'configure' configures unrealircd 6.2.5-git to adapt to many kinds of systems. 'configure' configures unrealircd 6.2.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1425,7 +1425,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of unrealircd 6.2.5-git:";; short | recursive ) echo "Configuration of unrealircd 6.2.5:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@@ -1598,7 +1598,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
unrealircd configure 6.2.5-git unrealircd configure 6.2.5
generated by GNU Autoconf 2.72 generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc. Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1905,7 +1905,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by unrealircd $as_me 6.2.5-git, which was It was created by unrealircd $as_me 6.2.5, which was
generated by GNU Autoconf 2.72. Invocation command line was generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw $ $0$ac_configure_args_raw
@@ -2713,7 +2713,7 @@ printf "%s\n" "#define UNREAL_VERSION_MINOR $UNREAL_VERSION_MINOR" >>confdefs.h
# The version suffix such as a beta marker or release candidate # The version suffix such as a beta marker or release candidate
# marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a # marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
# string instead of an integer because it contains arbitrary data. # string instead of an integer because it contains arbitrary data.
UNREAL_VERSION_SUFFIX="-git" UNREAL_VERSION_SUFFIX=""
printf "%s\n" "#define UNREAL_VERSION_SUFFIX \"$UNREAL_VERSION_SUFFIX\"" >>confdefs.h printf "%s\n" "#define UNREAL_VERSION_SUFFIX \"$UNREAL_VERSION_SUFFIX\"" >>confdefs.h
@@ -10713,7 +10713,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by unrealircd $as_me 6.2.5-git, which was This file was extended by unrealircd $as_me 6.2.5, which was
generated by GNU Autoconf 2.72. Invocation command line was generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@@ -10778,7 +10778,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped' ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\ ac_cs_version="\\
unrealircd config.status 6.2.5-git unrealircd config.status 6.2.5
configured by $0, generated by GNU Autoconf 2.72, configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"
+2 -2
View File
@@ -7,7 +7,7 @@ dnl src/windows/unrealinst.iss
dnl doc/Config.header dnl doc/Config.header
dnl src/version.c.SH dnl src/version.c.SH
AC_INIT([unrealircd], [6.2.5-git], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/]) AC_INIT([unrealircd], [6.2.5], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
AC_CONFIG_SRCDIR([src/ircd.c]) AC_CONFIG_SRCDIR([src/ircd.c])
AC_CONFIG_HEADER([include/setup.h]) AC_CONFIG_HEADER([include/setup.h])
AC_CONFIG_AUX_DIR([autoconf]) AC_CONFIG_AUX_DIR([autoconf])
@@ -38,7 +38,7 @@ AC_DEFINE_UNQUOTED([UNREAL_VERSION_MINOR], [$UNREAL_VERSION_MINOR], [Minor versi
# The version suffix such as a beta marker or release candidate # The version suffix such as a beta marker or release candidate
# marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a # marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
# string instead of an integer because it contains arbitrary data. # string instead of an integer because it contains arbitrary data.
UNREAL_VERSION_SUFFIX=["-git"] UNREAL_VERSION_SUFFIX=[""]
AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rcX for unrealircd-3.2.9-rcX)]) AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rcX for unrealircd-3.2.9-rcX)])
AC_PATH_PROG(RM,rm) AC_PATH_PROG(RM,rm)
+1 -1
View File
@@ -7,7 +7,7 @@
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_| \___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Configuration Program Configuration Program
for UnrealIRCd 6.2.5-git for UnrealIRCd 6.2.5
This program will help you to compile your IRC server, and ask you This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process. questions regarding the compile-time settings of it during the process.
+51 -16
View File
@@ -1,12 +1,27 @@
UnrealIRCd 6.2.5-git UnrealIRCd 6.2.5
===================== =================
This is the git version (development version) for future UnrealIRCd 6.2.5. This UnrealIRCd 6.2.5 release is mostly about improving IPv6 clone
This is work in progress and may not always be a stable version. detection. If your IRC network has IPv6 connectivity then hot-patching
without restart (see below), or upgrading, is highly recommended.
If you don't have IPv6 then this release is less important.
This version changes the way we deal with IPv6 clone detection. If you Without this, a user with IPv6 connectivity (e.g. a typical
run an IRC network with IPv6 connectivity, be sure to read the first 3 residential connection) can connect thousands of clones using
points of the **Enhancements** section below carefully. their /64 prefix, bypassing per-host limits like `allow::maxperip`
and `connect-flood`.
If you run UnrealIRCd 6.2.x then you also have the option of using our
**hot-patch**, which allows updating the server **without a restart**.
To do so, run: `./unrealircd hot-patch ipv6-clones`
For UnrealIRCd 6.2.3 and 6.2.4 this gives you nearly the same IPv6 clones
protection as this 6.2.5 release. For UnrealIRCd 6.2.0/6.2.1/6.2.2 it will
hot-patch only the maxperip /64 issue and not add the new connthrottle
functionality.
This release has been tested on a couple of networks with hundreds of users,
without an impact on regular users, but it is still good to know these new
limits.
### Enhancements: ### Enhancements:
* [allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip) * [allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip)
@@ -20,23 +35,24 @@ points of the **Enhancements** section below carefully.
now raise an error. now raise an error.
* [ConnThrottle](https://www.unrealircd.org/docs/Connthrottle) now has a * [ConnThrottle](https://www.unrealircd.org/docs/Connthrottle) now has a
set::connthrottle::ipv6-unknown-users-limit (enabled by default). set::connthrottle::ipv6-unknown-users-limit (enabled by default).
This limits the number of *unknown IPv6 users* per /56, /48 and /32.
This reduces the effect of an attacker launching many IPv6 clones at This reduces the effect of an attacker launching many IPv6 clones at
a server. Users in the "known-users" security-group are exempt (by a server. Users in the "known-users" security-group are exempt (by
default: identified to services, or default: identified to services, or
[reputation](https://www.unrealircd.org/docs/Reputation_score) of 25 or more). [reputation](https://www.unrealircd.org/docs/Reputation_score) of 25 or more).
Also exempt are users matching set::connthrottle::except or an Also exempt are users matching set::connthrottle::except or an
except ban with type maxperip. except ban with type maxperip.
* New set::known-cloud-services (enabled by default) automatically * Difference from maxperip: maxperip counts everyone per /64. This counts
exempts large IRC platforms with stable published IP ranges from only unknown users and works on wider IPv6 prefixes (/56, /48 and /32).
[allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip) So known users can connect while cloners are limited.
* New [set::known-cloud-services](https://www.unrealircd.org/docs/Set_block#set::known-cloud-services)
(enabled by default) exempts large IRC platforms with stable
published IP ranges from [allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip)
and [connect-flood](https://www.unrealircd.org/docs/Anti-flood_settings#connect-flood). and [connect-flood](https://www.unrealircd.org/docs/Anti-flood_settings#connect-flood).
Currently only IRCCloud qualifies. This is more reliable than the DNS-based Currently only IRCCloud qualifies. This is more reliable than the
`except ban { mask *.irccloud.com; ... }` block that `example.conf` `except ban { mask *.irccloud.com; ... }` block that `example.conf`
has shipped since 2023, which can fail during outages or restarts has shipped since 2023, as DNS can fail during outages or restarts.
when DNS isn't fully resolving. The new maxperip and connthrottle limits The new maxperip and connthrottle limits make this even more important.
make this even more important. To disable, use: To disable, use: `set { known-cloud-services no; }`.
`set { known-cloud-services no; }`.
* New [snomask](https://www.unrealircd.org/docs/Snomasks) `+x` for rejections * New [snomask](https://www.unrealircd.org/docs/Snomasks) `+x` for rejections
from [allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip) from [allow::maxperip](https://www.unrealircd.org/docs/Allow_block#maxperip)
and [ConnThrottle](https://www.unrealircd.org/docs/Connthrottle). and [ConnThrottle](https://www.unrealircd.org/docs/Connthrottle).
@@ -56,13 +72,32 @@ points of the **Enhancements** section below carefully.
* Update shipped libs: Sodium (1.0.22) * Update shipped libs: Sodium (1.0.22)
* The event names `CONNTHROTLE_*` were renamed to `CONNTHROTTLE_*` as the * The event names `CONNTHROTLE_*` were renamed to `CONNTHROTTLE_*` as the
former was a typo. former was a typo.
* `link::verify-certificate` is now deprecated and a config warning is
shown when set. It verified the peer certificate against CA trust.
However, newly issued certs from CAs (such as Let's Encrypt) tend to
no longer have the Client Authentication EKU, so linking with
`verify-certificate` often fails nowadays. Admins should switch to
`spkifp` for server linking, like everyone else.
### Fixes: ### Fixes:
* [set::connthrottle::disabled-when::reputation-gathering](https://www.unrealircd.org/docs/Connthrottle) * [set::connthrottle::disabled-when::reputation-gathering](https://www.unrealircd.org/docs/Connthrottle)
has been set to 1 week in example.conf since 2019, but if you did has been set to 1 week in example.conf since 2019, but if you did
not have that item it defaulted to 0 (no delay). Now 1 week. not have that item it defaulted to 0 (no delay). Now 1 week.
* OOB write if a URL callback returns a response that is more than
2GB. This only affects memory-backed callbacks: centralblocklist,
spamreport and log with destination webhook. In practice these
are likely all trusted servers.
* [WEBIRC](https://www.unrealircd.org/docs/WebIRC_block):
if you had an `except ban` block with type `connect-flood` for the
gateway then we were accidentally also exempting the end-users
behind it, rendering connect-flood useless.
### Developers and protocol: ### Developers and protocol:
* `OutgoingWebRequest` has a new `max_size` field (in bytes) that caps
the response size for memory-backed downloads. It defaults to
`DOWNLOAD_MAX_SIZE` (1MB). Ignored for file-backed downloads. This
protects against rogue or misbehaving webservers sending huge
responses that could otherwise fill server memory.
UnrealIRCd 6.2.4 UnrealIRCd 6.2.4
================= =================
+1 -1
View File
@@ -1,4 +1,4 @@
/* [6.2.5-git] /* [6.2.5]
* This file will load (nearly) all modules available on UnrealIRCd. * This file will load (nearly) all modules available on UnrealIRCd.
* So all commands, channel modes, user modes, etc.. * So all commands, channel modes, user modes, etc..
* *
+1 -1
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "UnrealIRCd"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = 6.2.5-git PROJECT_NUMBER = 6.2.5
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
+1 -1
View File
@@ -76,6 +76,6 @@
/* Version suffix such as a beta marker or release candidate marker. (e.g.: /* Version suffix such as a beta marker or release candidate marker. (e.g.:
-rcX for unrealircd-3.2.9-rcX) */ -rcX for unrealircd-3.2.9-rcX) */
#define UNREAL_VERSION_SUFFIX "-git" #define UNREAL_VERSION_SUFFIX ""
#endif #endif
+1 -1
View File
@@ -7,7 +7,7 @@ echo "Extracting src/version.c..."
if [ -d ../.git ]; then if [ -d ../.git ]; then
SUFFIX="-$(git rev-parse --short HEAD)" SUFFIX="-$(git rev-parse --short HEAD)"
fi fi
id="6.2.5-git$SUFFIX" id="6.2.5$SUFFIX"
echo "$id" echo "$id"
if test -r version.c if test -r version.c
+1 -1
View File
@@ -6,7 +6,7 @@
[Setup] [Setup]
AppName=UnrealIRCd 6 AppName=UnrealIRCd 6
AppVerName=UnrealIRCd 6.2.5-git AppVerName=UnrealIRCd 6.2.5
AppPublisher=UnrealIRCd Team AppPublisher=UnrealIRCd Team
AppPublisherURL=https://www.unrealircd.org AppPublisherURL=https://www.unrealircd.org
AppSupportURL=https://www.unrealircd.org AppSupportURL=https://www.unrealircd.org