From a368fcf452bff2ebc9c16394d1b27ccd646c7c5d Mon Sep 17 00:00:00 2001 From: JR Aquino Date: Thu, 28 Dec 2023 20:32:30 +0000 Subject: [PATCH] UnrealIRCd 6.1.0 through 6.1.3 contain a bug which makes it possible for a websocket user to crash the IRC server. For the issue to trigger you need to have a listen block with websockets enabled. UnrealIRCd 6.1.4 has been released to fix this issue. --- irc/unreal/Makefile | 8 ++-- irc/unreal/distinfo | 6 +-- irc/unreal/files/patch-configure | 46 +++++++++++++++++++ .../files/patch-doc_conf_modules.default.conf | 8 ++-- 4 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 irc/unreal/files/patch-configure diff --git a/irc/unreal/Makefile b/irc/unreal/Makefile index c2d4ea086bbf..cdb85b2699c9 100644 --- a/irc/unreal/Makefile +++ b/irc/unreal/Makefile @@ -1,5 +1,5 @@ PORTNAME= unreal -DISTVERSION= 6.1.1.1 +DISTVERSION= 6.1.4 CATEGORIES= irc MASTER_SITES= https://www.unrealircd.org/downloads/ DISTNAME= ${PORTNAME}ircd-${PORTVERSION} @@ -17,8 +17,8 @@ LIB_DEPENDS= libcares.so:dns/c-ares \ libsodium.so:security/libsodium \ libjansson.so:devel/jansson \ libmaxminddb.so:net/libmaxminddb -RUN_DEPENDS= ${LOCALBASE}/bin/geoipupdate:net/geoipupdate +RUN_DEPENDS= ${LOCALBASE}/bin/geoipupdate:net/geoipupdate USES= pkgconfig cpe gmake localbase ssl MODULESDIR= ${PREFIX}/lib/${PORTNAME} MODULESSUBDIR= chanmodes extbans rpc usermodes @@ -28,8 +28,6 @@ LOGDIR= /var/log/ircd CACHEDIR= /var/cache/ircd _TMPDIR= /tmp -EXTRACT_AFTER_ARGS= --exclude extras/*.tar.gz - HAS_CONFIGURE= yes USE_RC_SUBR= unrealircd @@ -63,7 +61,7 @@ CONFIGURE_ARGS= --with-nick-history=2000 \ OPTIONS_DEFINE= DOCS -PORTDOCS= ${DOCS:T} +PORTDOCS= * DOCS= Donation Authors coding-guidelines \ tao.of.irc translations.txt \ technical/005.txt technical/base64.txt \ diff --git a/irc/unreal/distinfo b/irc/unreal/distinfo index ea31959465d2..0585f85d92d3 100644 --- a/irc/unreal/distinfo +++ b/irc/unreal/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1473082474 -SHA256 (unrealircd-6.1.1.1.tar.gz) = 0c8e4164f499f0f6a72ed6032acb034bd7e9bd10308f556a0d919a00c2eeb334 -SIZE (unrealircd-6.1.1.1.tar.gz) = 10341432 +TIMESTAMP = 1703789490 +SHA256 (unrealircd-6.1.4.tar.gz) = 628892362345bfe27fc40e4c0c775d879c2200f134b8f401b4ca633005928809 +SIZE (unrealircd-6.1.4.tar.gz) = 10391535 diff --git a/irc/unreal/files/patch-configure b/irc/unreal/files/patch-configure new file mode 100644 index 000000000000..512070c5d85f --- /dev/null +++ b/irc/unreal/files/patch-configure @@ -0,0 +1,46 @@ +--- configure.orig 2023-12-16 10:02:43 UTC ++++ configure +@@ -8159,12 +8159,12 @@ if test -n "$ARGON2_CFLAGS"; then + pkg_cv_ARGON2_CFLAGS="$ARGON2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2 >= 0~20161029\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "libargon2 >= 0~20161029") 2>&5 ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2 >= 20161029\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libargon2 >= 20161029") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_ARGON2_CFLAGS=`$PKG_CONFIG --cflags "libargon2 >= 0~20161029" 2>/dev/null` ++ pkg_cv_ARGON2_CFLAGS=`$PKG_CONFIG --cflags "libargon2 >= 20161029" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -8176,12 +8176,12 @@ if test -n "$ARGON2_LIBS"; then + pkg_cv_ARGON2_LIBS="$ARGON2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2 >= 0~20161029\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "libargon2 >= 0~20161029") 2>&5 ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2 >= 20161029\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libargon2 >= 20161029") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_ARGON2_LIBS=`$PKG_CONFIG --libs "libargon2 >= 0~20161029" 2>/dev/null` ++ pkg_cv_ARGON2_LIBS=`$PKG_CONFIG --libs "libargon2 >= 20161029" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -8202,9 +8202,9 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- ARGON2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libargon2 >= 0~20161029" 2>&1` ++ ARGON2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libargon2 >= 20161029" 2>&1` + else +- ARGON2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libargon2 >= 0~20161029" 2>&1` ++ ARGON2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libargon2 >= 20161029" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$ARGON2_PKG_ERRORS" >&5 diff --git a/irc/unreal/files/patch-doc_conf_modules.default.conf b/irc/unreal/files/patch-doc_conf_modules.default.conf index 86cef49700f2..6a25067e9a14 100644 --- a/irc/unreal/files/patch-doc_conf_modules.default.conf +++ b/irc/unreal/files/patch-doc_conf_modules.default.conf @@ -1,9 +1,9 @@ ---- doc/conf/modules.default.conf.orig 2023-09-21 00:26:43 UTC +--- doc/conf/modules.default.conf.orig 2023-12-16 10:02:43 UTC +++ doc/conf/modules.default.conf -@@ -293,13 +293,3 @@ loadmodule "targetfloodprot"; /* set::anti-flood::targ - loadmodule "watch-backend"; /* used by watch and other modules */ - loadmodule "geoip_base"; /* needed for ALL geoip functions */ +@@ -295,13 +295,3 @@ loadmodule "geoip_base"; /* needed for ALL geoip funct loadmodule "websocket_common"; /* helper functions for websocket (internal) */ + loadmodule "spamreport"; /* Spam reporting to a blacklist */ + loadmodule "crule"; /* Rules in spamfilter::rule and deny link::rule */ - -loadmodule "geoip_classic"; -@if module-loaded("geoip_classic") -- 2.42.0