[mumble/f17] Fix startup issues of murmurd (BZ 711711, BZ 771423)

Christian Krause chkr at fedoraproject.org
Sun Jun 3 13:45:17 UTC 2012


commit e5a94f04246b5d71c5b140c4500800aa8345aa71
Author: Christian Krause <chkr at fedoraproject.org>
Date:   Fri Jun 1 23:20:27 2012 +0200

    Fix startup issues of murmurd (BZ 711711, BZ 771423)
    
    - Fix directory ownership of %{_libdir}/mumble and %{_datadir}/mumble*
      (BZ 744886)
    - Add upstream patch for CVE-2012-0863 (BZ 791058)
    - Fix broken logrotate config file (BZ 730129)
    - Add dependency for qt4-sqlite (BZ 660221)
    - Remove /sbin/ldconfig from %post(un) since mumble does not
      contain any libraries in %{_libdir}
    - Some minor cleanup

 ...remove-file-permissions-for-settings-and-.patch |   51 +++++++++++++++
 mumble-1.2.3-logrotate.patch                       |   11 +++
 mumble.spec                                        |   66 +++++++++----------
 murmur-tmpfiles.conf                               |    2 +-
 4 files changed, 94 insertions(+), 36 deletions(-)
---
diff --git a/0001-Explicitly-remove-file-permissions-for-settings-and-.patch b/0001-Explicitly-remove-file-permissions-for-settings-and-.patch
new file mode 100644
index 0000000..3a4415d
--- /dev/null
+++ b/0001-Explicitly-remove-file-permissions-for-settings-and-.patch
@@ -0,0 +1,51 @@
+From 5632c35d6759f5e13a7dfe78e4ee6403ff6a8e3e Mon Sep 17 00:00:00 2001
+From: Thorvald Natvig <slicer at users.sourceforge.net>
+Date: Fri, 27 May 2011 16:59:15 -0700
+Subject: [PATCH] Explicitly remove file permissions for settings and DB
+
+---
+ src/mumble/Database.cpp |    5 +++++
+ src/mumble/Settings.cpp |   11 +++++++++++
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/src/mumble/Database.cpp b/src/mumble/Database.cpp
+index 5449fbe..8c3854f 100644
+--- a/src/mumble/Database.cpp
++++ b/src/mumble/Database.cpp
+@@ -94,6 +94,11 @@ Database::Database() {
+ 		qWarning("Database: Database is read-only");
+ 	}
+ 
++	{
++		QFile f(db.databaseName());
++		f.setPermissions(f.permissions() & ~(QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther));
++	}
++
+ 	QSqlQuery query;
+ 
+ 	query.exec(QLatin1String("CREATE TABLE IF NOT EXISTS `servers` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT, `hostname` TEXT, `port` INTEGER DEFAULT " MUMTEXT(DEFAULT_MUMBLE_PORT) ", `username` TEXT, `password` TEXT)"));
+diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp
+index 404692b..b5e9202 100644
+--- a/src/mumble/Settings.cpp
++++ b/src/mumble/Settings.cpp
+@@ -716,6 +716,17 @@ void OverlaySettings::save() {
+ void OverlaySettings::save(QSettings* settings_ptr) {
+ 	OverlaySettings def;
+ 
++	settings_ptr->setValue(QLatin1String("version"), QLatin1String(MUMTEXT(MUMBLE_VERSION_STRING)));
++	settings_ptr->sync();
++
++#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
++	if (settings_ptr->format() == QSettings::IniFormat)
++#endif
++        {
++               QFile f(settings_ptr->fileName());
++               f.setPermissions(f.permissions() & ~(QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther));
++        }
++
+ 	SAVELOAD(bEnable, "enable");
+ 
+ 	SAVELOAD(osShow, "show");
+-- 
+1.7.7.6
+
diff --git a/mumble-1.2.3-logrotate.patch b/mumble-1.2.3-logrotate.patch
new file mode 100644
index 0000000..343853d
--- /dev/null
+++ b/mumble-1.2.3-logrotate.patch
@@ -0,0 +1,11 @@
+diff -uNr mumble-1.2.3.old/scripts/murmur.logrotate mumble-1.2.3/scripts/murmur.logrotate
+--- mumble-1.2.3.old/scripts/murmur.logrotate	2011-02-19 22:35:16.000000000 +0100
++++ mumble-1.2.3/scripts/murmur.logrotate	2012-05-29 01:04:47.591309905 +0200
+@@ -5,6 +5,6 @@
+ 	delaycompress
+ 	missingok
+ 	postrotate
+-		start-stop-daemon --quiet --oknodo --stop --signal 1 --exec /usr/sbin/murmurd --user mumble-server --pidfile /var/run/mumble-server/mumble-server.pid
++		/bin/kill -HUP `cat /var/run/mumble-server/mumble-server.pid 2>/dev/null`  2> /dev/null || true
+ 	endscript
+ }
diff --git a/mumble.spec b/mumble.spec
index fbf7c9c..392a907 100644
--- a/mumble.spec
+++ b/mumble.spec
@@ -1,6 +1,6 @@
 Name:		mumble
 Version:	1.2.3
-Release:	7%{?dist}
+Release:	7%{?dist}.1
 Summary:	Voice chat suite aimed at gamers
 
 Group:		Applications/Internet
@@ -14,7 +14,11 @@ Source4:	%{name}-overlay.desktop
 Source5:	murmur-tmpfiles.conf
 Patch0:		%{name}-%{version}-slice2cpp.patch
 Patch1:		%{name}-%{version}-celt_include_dir.patch
-BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# CVE-2012-0863
+# https://github.com/mumble-voip/mumble/commit/5632c35d6759f5e13a7dfe78e4ee6403ff6a8e3e
+Patch2:		0001-Explicitly-remove-file-permissions-for-settings-and-.patch
+# Fix broken logrotate script (start-stop-daemon not available anymore), BZ 730129
+Patch3:		mumble-1.2.3-logrotate.patch
 
 BuildRequires:	qt-devel, boost-devel, ice-devel
 BuildRequires:	alsa-lib-devel, alsa-oss-devel
@@ -26,6 +30,8 @@ BuildRequires:	libXevie-devel, celt071-devel
 BuildRequires:	protobuf-compiler, avahi-compat-libdns_sd-devel
 BuildRequires:	libsndfile-devel, protobuf-devel
 Requires:	celt071
+# Needed for tmpfiles.d service
+Requires:	initscripts
 
 # Due to missing ice on ppc64
 ExcludeArch: ppc64
@@ -46,6 +52,7 @@ Requires(pre): shadow-utils
 Requires(post): chkconfig
 Requires(preun): chkconfig
 Requires: initscripts
+Requires: qt4-sqlite
 
 %description -n murmur
 Murmur(also called mumble-server) is part of the VoIP suite Mumble
@@ -93,6 +100,8 @@ exit 0
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1 -F 2
+%patch3 -p1
 
 %build
 %{_qt4_qmake} "CONFIG+=no-bundled-speex no-g15 \
@@ -106,8 +115,6 @@ make
 #%{?_smp_mflags}
 
 %install
-rm -rf %{buildroot}
-
 install -pD -m0755 release/%{name} %{buildroot}%{_bindir}/%{name}
 install -pD -m0755 release/%{name}11x %{buildroot}%{_bindir}/%{name}11x
 install -pD -m0755 release/murmurd %{buildroot}%{_sbindir}/murmurd
@@ -147,7 +154,7 @@ install -pD scripts/%{name}-overlay %{buildroot}%{_bindir}/%{name}-overlay
 mkdir -p %{buildroot}%{_mandir}/man1/
 install -pD -m0644 man/murmurd.1 %{buildroot}%{_mandir}/man1/
 install -pD -m0644 man/mumble* %{buildroot}%{_mandir}/man1/
-#install -pD -m0664 man/mumble-overlay.1 %{buildroot}%{_mandir}/man1/mumble-overlay.1
+install -pD -m0664 man/mumble-overlay.1 %{buildroot}%{_mandir}/man1/mumble-overlay.1
 
 #icons
 mkdir -p %{buildroot}%{_datadir}/icons/%{name}
@@ -188,35 +195,27 @@ mkdir -p %{buildroot}%{_localstatedir}/log/mumble-server/
 mkdir -p %{buildroot}%{_localstatedir}/run/
 install -d -m 0710 %{buildroot}%{_localstatedir}/run/mumble-server/
 
-%if 0%{?fedora} >= 15
 #tmpfiles.d
 mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d
 install -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/tmpfiles.d/%{name}.conf
-%endif
 
 %post
-/sbin/ldconfig
 touch --no-create %{_datadir}/icons/hicolor &>/dev/null ||:
 
 %postun 
-/sbin/ldconfig
 if [ $1 -eq 0 ] ; then
     touch --no-create %{_datadir}/icons/hicolor &>/dev/null
     gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 fi
 
+%posttrans
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null ||:
+
 %postun -n murmur
 if [ $1 -ge 1 ] ; then
     /sbin/service murmur condrestart >/dev/null 2>&1 || :
 fi
 
-%posttrans 
-gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null ||: 
-
-
-%clean
-rm -rf %{buildroot}
-
 %preun -n murmur
 if [ $1 = 0 ] ; then
 	/sbin/service murmur stop > /dev/null 2>&1 || :
@@ -226,16 +225,12 @@ fi
 %post -n murmur
 /sbin/chkconfig --add murmur || :
 
-
 %files
-%defattr(-,root,root,-)
 %doc README README.Linux LICENSE CHANGES
 %doc scripts/weblist*
 %{_bindir}/%{name}
 %{_bindir}/%{name}11x
-#%attr(664,root,root) %{_datadir}/%{name}/*
 %{_mandir}/man1/%{name}*
-#%{_mandir}/man1/%{name}-overlay.1
 %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
 %{_datadir}/icons/hicolor/16x16/apps/%{name}.png
 %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
@@ -243,16 +238,14 @@ fi
 %{_datadir}/icons/hicolor/64x64/apps/%{name}.png
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/applications/%{name}11x.desktop
-#%{_datadir}/hal/fdi/policy/20thirdparty/11-input-mumble-policy.fdi
-%{_datadir}/%{name}/translations/%{name}_*.qm
-%{_datadir}/%{name}11x/translations/%{name}_*.qm
+%{_datadir}/mumble/
+%{_datadir}/mumble11x/
+%dir %{_libdir}/%{name}
 %{_libdir}/%{name}/libcelt.so.0.7.0
 
 %files -n murmur
-%defattr(-,root,root,-)
 %doc README README.Linux LICENSE CHANGES
 %doc scripts/murmur.pl scripts/murmur-user-wrapper
-#%attr(-,mumble-server,mumble-server) %{_sbindir}/murmur
 %attr(-,mumble-server,mumble-server) %{_sbindir}/murmurd
 %{_initrddir}/murmur
 %{_sbindir}/%{name}-server
@@ -263,30 +256,33 @@ fi
 %config(noreplace) %{_sysconfdir}/dbus-1/system.d/murmur.conf
 %dir %attr(-,mumble-server,mumble-server) %{_localstatedir}/lib/mumble-server/
 %dir %attr(-,mumble-server,mumble-server) %{_localstatedir}/log/mumble-server/
-%ghost %dir %{_localstatedir}/lib/mumble-server/
-%ghost %dir %{_localstatedir}/log/mumble-server/
-%if 0%{?fedora} >= 15
-%dir %{_localstatedir}/run/mumble-server/
+%dir %attr(-,mumble-server,mumble-server) %{_localstatedir}/run/mumble-server/
 %config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
-%else
-%ghost %dir %{_localstatedir}/run/mumble-server/
-%endif
 
 %files plugins
-%defattr(-,root,root,-)
 %{_libdir}/%{name}/libmanual.so
 %{_libdir}/%{name}/liblink.so
 
 %files overlay
-%defattr(-,root,root,-)
 %{_bindir}/%{name}-overlay
 %{_libdir}/%{name}/lib%{name}*
+%{_mandir}/man1/mumble-overlay.1*
 
 %files protocol
-%defattr(-,root,root,-)
 %{_datadir}/kde4/services/mumble.protocol
 
 %changelog
+* Thu May 31 2012 Christian Krause <chkr at fedoraproject.org> - 1.2.3-7.1
+- Fix startup issues of murmurd (BZ 711711, BZ 771423)
+- Fix directory ownership of %%{_libdir}/mumble and %%{_datadir}/mumble*
+  (BZ 744886)
+- Add upstream patch for CVE-2012-0863 (BZ 791058)
+- Fix broken logrotate config file (BZ 730129)
+- Add dependency for qt4-sqlite (BZ 660221)
+- Remove /sbin/ldconfig from %%post(un) since mumble does not
+  contain any libraries in %%{_libdir}
+- Some minor cleanup
+
 * Fri Mar 16 2012 Tom Callaway <spot at fedoraproject.org> - 1.2.3-7
 - rebuild against fixed ice
 
diff --git a/murmur-tmpfiles.conf b/murmur-tmpfiles.conf
index b4aa7b3..61c071b 100644
--- a/murmur-tmpfiles.conf
+++ b/murmur-tmpfiles.conf
@@ -1 +1 @@
-D /var/run/mumble-server 0710 root mumble-server -
+D /var/run/mumble-server 0710 mumble-server mumble-server -


More information about the scm-commits mailing list