Hello community,

here is the log from the commit of package quassel for openSUSE:Factory checked 
in at 2016-02-08 09:48:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/quassel (Old)
 and      /work/SRC/openSUSE:Factory/.quassel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "quassel"

Changes:
--------
--- /work/SRC/openSUSE:Factory/quassel/quassel.changes  2015-11-16 
18:51:50.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.quassel.new/quassel.changes     2016-02-08 
09:48:47.000000000 +0100
@@ -1,0 +2,15 @@
+Sun Feb  7 10:04:26 UTC 2016 - [email protected]
+
+- Allow building kde and non-kde based quassel version
+- Move quasselclient desktop to base so both variants don't have to
+  rename the file
+- Introduce quasselclient-qt5 subpackage
+- Use update-alternatives to switch between kde/qt5 versions
+
+-------------------------------------------------------------------
+Mon Dec 14 12:14:48 UTC 2015 - [email protected]
+
+- Apply patch for bnc#958928 CVE-2015-8547:
+  * CVE-2015-8547.patch
+
+-------------------------------------------------------------------

New:
----
  CVE-2015-8547.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ quassel.spec ++++++
--- /var/tmp/diff_new_pack.hgLFpK/_old  2016-02-08 09:48:48.000000000 +0100
+++ /var/tmp/diff_new_pack.hgLFpK/_new  2016-02-08 09:48:48.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package quassel
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -35,6 +35,8 @@
 Patch1:         Fix-build-with-Qt-5.5.patch
 # PATCH-FIX-UPSTREAM Fix-rejoining-parted-channels.patch
 Patch2:         Fix-rejoining-parted-channels.patch
+# PATCH-FIX-UPSTREAM: fix CVE-2015-8547
+Patch3:         CVE-2015-8547.patch
 BuildRequires:  cmake >= 2.8.10
 BuildRequires:  extra-cmake-modules
 BuildRequires:  fdupes
@@ -118,7 +120,25 @@
 making communication with your peers not only convenient, but also ubiquitous
 available.
 
-This is the quassel client only
+This is the quassel KDE client only
+
+%package client-qt5
+Summary:        Modern, cross-platform, distributed IRC client
+Group:          Productivity/Networking/IRC
+Requires:       %{name}-base = %{version}
+Provides:       %{name}_ui = %{version}
+
+%description client-qt5
+Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
+one (or multiple) client(s) can attach to and detach from a central core --
+much like the popular combination of screen and a text-based IRC client such
+as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
+a pleasurable, comfortable chatting experience to all major platforms 
(including
+Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
+making communication with your peers not only convenient, but also ubiquitous
+available.
+
+This is the quassel Qt5 client only
 
 %package core
 Summary:        Modern, cross-platform, distributed IRC client
@@ -163,6 +183,7 @@
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
@@ -172,9 +193,21 @@
 
 %cmake_kf5 -d build -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=ON
 make %{?_smp_mflags}
+cd ..
+%cmake_kf5 -d build-qt5 -- -DUSE_QT5=ON -DWITH_WEBKIT=ON -DWITH_KDE=OFF
+make %{?_smp_mflags}
 
 %install
 %kf5_makeinstall -C build
+
+# Allow client qt5/kde co-install
+mv %{buildroot}%{_bindir}/quasselclient 
%{buildroot}%{_bindir}/quasselclient-kde
+install build-qt5/quasselclient %{buildroot}%{_bindir}/quasselclient-qt5
+# Alternatives
+mkdir -p %{buildroot}%{_sysconfdir}/alternatives
+touch %{buildroot}%{_sysconfdir}/alternatives/quasselclient
+ln -sf %{_sysconfdir}/alternatives/quasselclient 
%{buildroot}%{_bindir}/quasselclient
+
 %fdupes %{buildroot}
 install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}core
 install -d -m 755 %{buildroot}%{_sbindir}
@@ -209,6 +242,22 @@
 %postun base
 %icon_theme_cache_postun
 
+%post client
+update-alternatives --install %{_bindir}/quasselclient quasselclient 
%{_bindir}/quasselclient-kde 20
+
+%postun client
+if [ $1 -eq 0 ] ; then
+    update-alternatives --remove quasselclient %{_bindir}/quasselclient-kde
+fi
+
+%post client-qt5
+update-alternatives --install %{_bindir}/quasselclient quasselclient 
%{_bindir}/quasselclient-qt5 10
+
+%postun client-qt5
+if [ $1 -eq 0 ] ; then
+    update-alternatives --remove quasselclient %{_bindir}/quasselclient-qt5
+fi
+
 %files mono
 %defattr(-,root,root)
 %doc AUTHORS ChangeLog README
@@ -218,7 +267,15 @@
 %files client
 %defattr(-,root,root)
 %doc AUTHORS ChangeLog README
-%{_datadir}/applications/%{name}client.desktop
+%{_bindir}/%{name}client-kde
+%ghost %{_sysconfdir}/alternatives/quasselclient
+%{_bindir}/%{name}client
+
+%files client-qt5
+%defattr(-,root,root)
+%doc AUTHORS ChangeLog README
+%{_bindir}/%{name}client-qt5
+%ghost %{_sysconfdir}/alternatives/quasselclient
 %{_bindir}/%{name}client
 
 %files core
@@ -235,6 +292,7 @@
 
 %files base
 %defattr(-,root,root)
+%{_datadir}/applications/%{name}client.desktop
 %{_datadir}/pixmaps/%{name}.png
 %dir %{_datadir}/%{name}
 %{_datadir}/%{name}

++++++ CVE-2015-8547.patch ++++++
>From 476aaa050f26d6a31494631d172724409e4c569b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Konstantin=20Bl=C3=A4si?= <[email protected]>
Date: Wed, 21 Oct 2015 03:26:02 +0200
Subject: [PATCH] Fixes a crash of the core when executing "/op *" in a query.

---
 src/core/coreuserinputhandler.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/coreuserinputhandler.cpp 
b/src/core/coreuserinputhandler.cpp
index 7887a92..73aac48 100644
--- a/src/core/coreuserinputhandler.cpp
+++ b/src/core/coreuserinputhandler.cpp
@@ -228,7 +228,7 @@ void CoreUserInputHandler::doMode(const BufferInfo 
&bufferInfo, const QChar& add
     if (!isNumber || maxModes == 0) maxModes = 1;
 
     QStringList nickList;
-    if (nicks == "*") { // All users in channel
+    if (nicks == "*" && bufferInfo.type() == BufferInfo::ChannelBuffer) { // 
All users in channel
         const QList<IrcUser*> users = 
network()->ircChannel(bufferInfo.bufferName())->ircUsers();
         foreach(IrcUser *user, users) {
             if ((addOrRemove == '+' && 
!network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode))

Reply via email to