[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