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-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 924c2bc..cebc222 100755 --- a/quassel.spec +++ b/quassel.spec @@ -4,12 +4,18 @@ Name: quassel Summary: A modern distributed IRC system Version: 0.13.1 -Release: 4%{?dist} +Release: 8%{?dist} License: GPLv2 or GPLv3 URL: http://quassel-irc.org/ 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 +Patch2: quassel_0.13.1_CVE-2021-34825.patch + BuildRequires: cmake BuildRequires: dbusmenu-qt5-devel BuildRequires: desktop-file-utils @@ -93,18 +99,16 @@ Quassel client %prep -%setup -q -n %{name}-%{version} +%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 @@ -171,6 +175,22 @@ 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. + +* 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 + +* 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 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..a02f9a9 --- /dev/null +++ b/quassel_0.13.1_CVE-2021-34825.patch @@ -0,0 +1,18 @@ +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()) { ++ // 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) { + quWarning() + << "SslServer: Unable to set certificate file\n"