From 568b7580016b698ff5afe6a32ef835d5ac918686 Mon Sep 17 00:00:00 2001 From: Marie Loise Nolden Date: Mon, 13 Jul 2020 17:32:30 +0000 Subject: [PATCH 1/9] Add fix for compiling with qt 5.14 From FreeBSD ports tree (tcberner) Fix with Qt5-5.14 Obtained from: https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b --- src/common/types.h.orig 2020-04-04 10:50:56 UTC +++ src/common/types.h @@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress) typedef QList MsgIdList; typedef QList BufferIdList; +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) /** * Catch-all stream serialization operator for enum types. * @@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) { value = static_cast(v); return in; } +#endif // Exceptions --- quassel.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/quassel.spec b/quassel.spec index 924c2bc..52ca592 100755 --- a/quassel.spec +++ b/quassel.spec @@ -4,11 +4,12 @@ Name: quassel Summary: A modern distributed IRC system Version: 0.13.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2 +Patch0: patch-src_common_types.h BuildRequires: cmake BuildRequires: dbusmenu-qt5-devel @@ -93,7 +94,7 @@ Quassel client %prep -%setup -q -n %{name}-%{version} +%autosetup -p0 -n %{name}-%{version} %build mkdir build From b86b0448e490dddaee9ff7b719e7d0e8e4c74449 Mon Sep 17 00:00:00 2001 From: Marie Loise Nolden Date: Mon, 13 Jul 2020 17:33:11 +0000 Subject: [PATCH 2/9] Update quassel.spec --- quassel.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/quassel.spec b/quassel.spec index 52ca592..f53fcde 100755 --- a/quassel.spec +++ b/quassel.spec @@ -172,6 +172,9 @@ exit 0 %changelog +* Mon Jul 13 2020 Marie Loise Nolden - 0.13.1-5 +- Fix for Qt 5.14.2 from FreeBSD ports tree + * Thu Jan 30 2020 Fedora Release Engineering - 0.13.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From d0d879eaa096c85ece366b3c86c8a7eecc378554 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 28 Jul 2020 08:39:35 -0500 Subject: [PATCH 3/9] pull in missing patch from prior PR --- patch-src_common_types.h | 23 +++++++++++++++++++++++ quassel.spec | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 patch-src_common_types.h diff --git a/patch-src_common_types.h b/patch-src_common_types.h new file mode 100644 index 0000000..41f2029 --- /dev/null +++ b/patch-src_common_types.h @@ -0,0 +1,23 @@ +Fix with Qt5-5.14 + +Obtained from: + https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b + +--- src/common/types.h.orig 2020-04-04 10:50:56 UTC ++++ src/common/types.h +@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress) + typedef QList MsgIdList; + typedef QList BufferIdList; + ++#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + /** + * Catch-all stream serialization operator for enum types. + * +@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) { + value = static_cast(v); + return in; + } ++#endif + + // Exceptions + diff --git a/quassel.spec b/quassel.spec index f53fcde..2cb8d30 100755 --- a/quassel.spec +++ b/quassel.spec @@ -9,7 +9,10 @@ Release: 5%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2 -Patch0: patch-src_common_types.h + +# patch from freebsd ports treee +#https://github.com/freebsd/freebsd-ports/blob/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h +Patch0: https://raw.githubusercontent.com/freebsd/freebsd-ports/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h BuildRequires: cmake BuildRequires: dbusmenu-qt5-devel From cdeed80bba150065f966f87ef9b56773236caa31 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 28 Jul 2020 11:19:16 -0500 Subject: [PATCH 4/9] use new %%cmake_build, %%cmake_install macros to fix build --- quassel.spec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/quassel.spec b/quassel.spec index 2cb8d30..b4dd4bc 100755 --- a/quassel.spec +++ b/quassel.spec @@ -100,15 +100,13 @@ Quassel client %autosetup -p0 -n %{name}-%{version} %build -mkdir build -pushd build -%{cmake_kf5} .. -DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1 -popd +%cmake_kf5 \ + -DWANT_MONO=1 -DUSE_QT5=1 -DWITH_KDE=1 -DHAVE_SSL=1 -make %{?_smp_mflags} -C build +%cmake_build %install -make install/fast DESTDIR=%{buildroot} -C build +%cmake_install # unpackaged files rm -f %{buildroot}/%{_datadir}/pixmaps/quassel.png From d52d4cb95ba37b873e2d0f077f20bacb2f727fcb Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 16 Oct 2020 15:45:19 -0600 Subject: [PATCH 5/9] Fix missing #includes for gcc-11 --- quassel-gcc11.patch | 39 +++++++++++++++++++++++++++++++++++++++ quassel.spec | 4 ++++ 2 files changed, 43 insertions(+) create mode 100644 quassel-gcc11.patch diff --git a/quassel-gcc11.patch b/quassel-gcc11.patch new file mode 100644 index 0000000..ad2a712 --- /dev/null +++ b/quassel-gcc11.patch @@ -0,0 +1,39 @@ +diff --git a/src/common/protocols/datastream/datastreampeer.cpp b/src/common/protocols/datastream/datastreampeer.cpp +index 033639e..8c65f79 100644 +--- src/common/protocols/datastream/datastreampeer.cpp ++++ src/common/protocols/datastream/datastreampeer.cpp +@@ -18,6 +18,8 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + ++#include ++ + #include + #include + #include +diff --git a/src/common/remotepeer.cpp b/src/common/remotepeer.cpp +index bc9f9d0..89bee40 100644 +--- src/common/remotepeer.cpp ++++ src/common/remotepeer.cpp +@@ -18,6 +18,8 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + ++#include ++ + #include + + #include +diff --git a/src/core/coretransfer.cpp b/src/core/coretransfer.cpp +index cf12088..031aaa0 100644 +--- src/core/coretransfer.cpp ++++ src/core/coretransfer.cpp +@@ -18,6 +18,8 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + ++#include ++ + #include + + #include diff --git a/quassel.spec b/quassel.spec index b4dd4bc..ab12945 100755 --- a/quassel.spec +++ b/quassel.spec @@ -13,6 +13,7 @@ Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2 # patch from freebsd ports treee #https://github.com/freebsd/freebsd-ports/blob/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h Patch0: https://raw.githubusercontent.com/freebsd/freebsd-ports/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h +Patch1: %{name}-gcc11.patch BuildRequires: cmake BuildRequires: dbusmenu-qt5-devel @@ -173,6 +174,9 @@ exit 0 %changelog +* Fri Oct 16 2020 Jeff Law - 0.13.1-6 +- Fix missing #include for gcc-11 + * Mon Jul 13 2020 Marie Loise Nolden - 0.13.1-5 - Fix for Qt 5.14.2 from FreeBSD ports tree From ba3343956e338d2e9e7cfde0b21a615017f64a7f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 14:53:31 +0000 Subject: [PATCH 6/9] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- quassel.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/quassel.spec b/quassel.spec index ab12945..c67369e 100755 --- a/quassel.spec +++ b/quassel.spec @@ -4,7 +4,7 @@ Name: quassel Summary: A modern distributed IRC system Version: 0.13.1 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ @@ -174,6 +174,9 @@ exit 0 %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 0.13.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Oct 16 2020 Jeff Law - 0.13.1-6 - Fix missing #include for gcc-11 From 88bf4b40ab726ba43c11a5eaa7ce031e258cc1e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:12:53 +0100 Subject: [PATCH 7/9] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- quassel.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quassel.spec b/quassel.spec index c67369e..6b41a5b 100755 --- a/quassel.spec +++ b/quassel.spec @@ -4,7 +4,7 @@ Name: quassel Summary: A modern distributed IRC system Version: 0.13.1 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ @@ -174,6 +174,10 @@ exit 0 %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 0.13.1-7 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Wed Jan 27 2021 Fedora Release Engineering - 0.13.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From a3338edcfa5f477cb3d14f44508c0ebc070e7bbb Mon Sep 17 00:00:00 2001 From: phuzion <398094+phuzion@users.noreply.github.com> Date: Thu, 17 Jun 2021 16:43:21 -0400 Subject: [PATCH 8/9] Added security fix for CVE-2021-34825 --- quassel.spec | 6 +++++- quassel_0.13.1_CVE-2021-34825.patch | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 quassel_0.13.1_CVE-2021-34825.patch diff --git a/quassel.spec b/quassel.spec index 6b41a5b..cebc222 100755 --- a/quassel.spec +++ b/quassel.spec @@ -4,7 +4,7 @@ Name: quassel Summary: A modern distributed IRC system Version: 0.13.1 -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ @@ -14,6 +14,7 @@ Source0: http://quassel-irc.org/pub/quassel-%{version}.tar.bz2 #https://github.com/freebsd/freebsd-ports/blob/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h Patch0: https://raw.githubusercontent.com/freebsd/freebsd-ports/b6c49e02ef34b163293e453c7245093cb7668a40/irc/quassel/files/patch-src_common_types.h Patch1: %{name}-gcc11.patch +Patch2: quassel_0.13.1_CVE-2021-34825.patch BuildRequires: cmake BuildRequires: dbusmenu-qt5-devel @@ -174,6 +175,9 @@ exit 0 %changelog +* Thu Jun 17 2021 Chris Egeland - 0.13.1-8 +- Added security fix for CVE-2021-34825 + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 0.13.1-7 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. diff --git a/quassel_0.13.1_CVE-2021-34825.patch b/quassel_0.13.1_CVE-2021-34825.patch new file mode 100644 index 0000000..cd42299 --- /dev/null +++ b/quassel_0.13.1_CVE-2021-34825.patch @@ -0,0 +1,18 @@ +diff --git a/src/core/sslserver.cpp b/src/core/sslserver.cpp +index 9c3c7edc..1c1f05cd 100644 +--- a/src/core/sslserver.cpp ++++ b/src/core/sslserver.cpp +@@ -49,6 +49,13 @@ SslServer::SslServer(QObject* parent) + + // Initialize the certificates for first-time usage + if (!loadCerts()) { ++ // If the core is unable to load a certificate, and "--require-ssl" is specified, ++ // do not proceed, throw an exception and quit. This prevents the core from falling ++ // back to a plaintext-only core when they should be expecting SSL/TLS only. ++ if (Quassel::isOptionSet("require-ssl")) { ++ throw ExitException{EXIT_FAILURE, tr("--require-ssl is set, but no SSL certificate is available. Exiting.\n" ++ "Please see https://quassel-irc.org/faq/cert to learn how to enable SSL support.")}; ++ } + if (!sslWarningShown) { + qWarning() << "SslServer: Unable to set certificate file\n" + << " Quassel Core will still work, but cannot provide SSL for client connections.\n" From 5ed9e0ba62559cade786c53432cb52d8d276c234 Mon Sep 17 00:00:00 2001 From: phuzion <398094+phuzion@users.noreply.github.com> Date: Sun, 20 Jun 2021 00:38:00 -0400 Subject: [PATCH 9/9] Fix patch for CVE-2021-34825 --- quassel_0.13.1_CVE-2021-34825.patch | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/quassel_0.13.1_CVE-2021-34825.patch b/quassel_0.13.1_CVE-2021-34825.patch index cd42299..a02f9a9 100644 --- a/quassel_0.13.1_CVE-2021-34825.patch +++ b/quassel_0.13.1_CVE-2021-34825.patch @@ -1,8 +1,8 @@ -diff --git a/src/core/sslserver.cpp b/src/core/sslserver.cpp -index 9c3c7edc..1c1f05cd 100644 ---- a/src/core/sslserver.cpp -+++ b/src/core/sslserver.cpp -@@ -49,6 +49,13 @@ SslServer::SslServer(QObject* parent) +diff --git src/core/sslserver.cpp src/core/sslserver.cpp +index de420bd8..e4fcbc32 100644 +--- src/core/sslserver.cpp ++++ src/core/sslserver.cpp +@@ -52,6 +52,13 @@ SslServer::SslServer(QObject *parent) // Initialize the certificates for first-time usage if (!loadCerts()) { @@ -14,5 +14,5 @@ index 9c3c7edc..1c1f05cd 100644 + "Please see https://quassel-irc.org/faq/cert to learn how to enable SSL support.")}; + } if (!sslWarningShown) { - qWarning() << "SslServer: Unable to set certificate file\n" - << " Quassel Core will still work, but cannot provide SSL for client connections.\n" + quWarning() + << "SslServer: Unable to set certificate file\n"