Accepting request 186210 from games:tools
- clean up old macros - update to 1.2.4: http://mumble.sourceforge.net/1.2.4 Obsoleted patches: 0001-fix-build-error-with-capability.h.diff 0001-fix-user-switching.diff 0001-open-log-file-early-so-log-dir-can-be-root-owned.diff 0001-if-service-name-is-empty-don-t-pass-an-empty-string.diff 0001-remove-CAP_NET_ADMIN.diff 0001-fix-bonjour-support-using-avahi-compat-lib.diff mumble-1.2.3-nohardcodedcas.diff 0001-Explicitly-remove-file-permissions-for-settings-and-D.diff - systemd service file OBS-URL: https://build.opensuse.org/request/show/186210 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mumble?expand=0&rev=22
This commit is contained in:
commit
07f1c8abcb
@ -1,52 +0,0 @@
|
||||
From cc52dd435e281f008866439b9eb5565729bd1956 Mon Sep 17 00:00:00 2001
|
||||
From: Thorvald Natvig <slicer@users.sourceforge.net>
|
||||
Date: Fri, 27 May 2011 16:59:15 -0700
|
||||
Subject: [PATCH mumble] 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 6c4d940..5caed38 100644
|
||||
--- a/src/mumble/Database.cpp
|
||||
+++ b/src/mumble/Database.cpp
|
||||
@@ -92,6 +92,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 64738, `username` TEXT, `password` TEXT)"));
|
||||
diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp
|
||||
index 5ebbc53..df9d7f3 100644
|
||||
--- a/src/mumble/Settings.cpp
|
||||
+++ b/src/mumble/Settings.cpp
|
||||
@@ -698,6 +698,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
|
||||
|
@ -1,47 +0,0 @@
|
||||
From bb366a77262db2f14159a25c624183bffcf2efb8 Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Mon, 11 Apr 2011 14:56:25 +0200
|
||||
Subject: [PATCH mumble] fix bonjour support using avahi compat lib
|
||||
|
||||
several reads may be required until the resolved callback fires so don't delete record in the read callback.
|
||||
---
|
||||
src/bonjour/bonjourserviceresolver.cpp | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/bonjour/bonjourserviceresolver.cpp b/src/bonjour/bonjourserviceresolver.cpp
|
||||
index 534095c..3bbdc66 100644
|
||||
--- a/src/bonjour/bonjourserviceresolver.cpp
|
||||
+++ b/src/bonjour/bonjourserviceresolver.cpp
|
||||
@@ -77,7 +77,6 @@ void BonjourServiceResolver::resolveBonjourRecord(const BonjourRecord &record) {
|
||||
|
||||
void BonjourServiceResolver::bonjourSocketReadyRead(int sockfd) {
|
||||
ResolveRecord *rr = qmResolvers.value(sockfd);
|
||||
- qmResolvers.remove(sockfd);
|
||||
|
||||
if (! rr)
|
||||
return;
|
||||
@@ -86,7 +85,6 @@ void BonjourServiceResolver::bonjourSocketReadyRead(int sockfd) {
|
||||
if (err != kDNSServiceErr_NoError)
|
||||
emit error(rr->record, err);
|
||||
|
||||
- delete rr;
|
||||
}
|
||||
|
||||
|
||||
@@ -95,6 +93,7 @@ void BonjourServiceResolver::bonjourResolveReply(DNSServiceRef, DNSServiceFlags
|
||||
const char *, const char *hosttarget, quint16 port,
|
||||
quint16 , const char *, void *context) {
|
||||
ResolveRecord *rr = static_cast<ResolveRecord *>(context);
|
||||
+ rr->bsr->qmResolvers.remove(DNSServiceRefSockFD(rr->dnssref));
|
||||
|
||||
if (errorCode != kDNSServiceErr_NoError) {
|
||||
emit rr->bsr->error(rr->record, errorCode);
|
||||
@@ -102,4 +101,5 @@ void BonjourServiceResolver::bonjourResolveReply(DNSServiceRef, DNSServiceFlags
|
||||
}
|
||||
rr->bonjourPort = qFromBigEndian<quint16>(port);
|
||||
emit rr->bsr->bonjourRecordResolved(rr->record, QString::fromUtf8(hosttarget), rr->bonjourPort);
|
||||
+ delete rr;
|
||||
}
|
||||
--
|
||||
1.7.3.4
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 72d7a63286539dee07d962c8f2abf2867efa7d6a Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Thu, 23 Dec 2010 14:03:56 +0100
|
||||
Subject: [PATCH 1/2] fix build error with capability.h
|
||||
|
||||
---
|
||||
src/murmur/murmur_pch.h | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/src/murmur/murmur_pch.h b/src/murmur/murmur_pch.h
|
||||
index daf7884..27c38a1 100644
|
||||
--- a/src/murmur/murmur_pch.h
|
||||
+++ b/src/murmur/murmur_pch.h
|
||||
@@ -56,6 +56,7 @@ extern "C" {
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
#ifdef Q_OS_LINUX
|
||||
+#include <linux/types.h> // needed to work around evil magic stuff in capability.h
|
||||
#include <sys/capability.h>
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
--
|
||||
1.7.1
|
||||
|
@ -1,130 +0,0 @@
|
||||
From 41006c79225199fb6faaed3bc0228a35e9e51514 Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Fri, 24 Dec 2010 18:20:34 +0100
|
||||
Subject: [PATCH 2/2] fix user switching
|
||||
|
||||
- don't keep saved uid 0. That's bad as an attacker that manages to
|
||||
execute code could switch back to uid 0
|
||||
- set $HOME as Qt doesn't look at passwd information
|
||||
- initialize supplementary groups
|
||||
- use "mumble-server" as fallback if no user is specified
|
||||
---
|
||||
src/murmur/Meta.cpp | 19 +++++++++++++------
|
||||
src/murmur/Meta.h | 4 ++++
|
||||
src/murmur/UnixMurmur.cpp | 12 ++++++++++--
|
||||
src/murmur/main.cpp | 4 +++-
|
||||
src/murmur/murmur_pch.h | 1 +
|
||||
5 files changed, 31 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/murmur/Meta.cpp b/src/murmur/Meta.cpp
|
||||
index 05cd03e..5efc52a 100644
|
||||
--- a/src/murmur/Meta.cpp
|
||||
+++ b/src/murmur/Meta.cpp
|
||||
@@ -264,15 +264,22 @@ void MetaParams::read(QString fname) {
|
||||
iBanTime = qsSettings->value("autobanTime", iBanTime).toInt();
|
||||
|
||||
#ifdef Q_OS_UNIX
|
||||
- const QString uname = qsSettings->value("uname").toString();
|
||||
- if (! uname.isEmpty() && (geteuid() == 0)) {
|
||||
- struct passwd *pw = getpwnam(qPrintable(uname));
|
||||
+ qsName = qsSettings->value("uname").toString();
|
||||
+ if (geteuid() == 0) {
|
||||
+ // TODO: remove this silent fallback to enforce running as non-root
|
||||
+ bool requested = true;
|
||||
+ if (qsName.isEmpty()) {
|
||||
+ // default server user name
|
||||
+ qsName = "mumble-server";
|
||||
+ requested = false;
|
||||
+ }
|
||||
+ struct passwd *pw = getpwnam(qPrintable(qsName));
|
||||
if (pw) {
|
||||
uiUid = pw->pw_uid;
|
||||
uiGid = pw->pw_gid;
|
||||
- }
|
||||
- if (uiUid == 0) {
|
||||
- qFatal("Cannot find username %s", qPrintable(uname));
|
||||
+ qsHome = pw->pw_dir;
|
||||
+ } else if (requested) {
|
||||
+ qFatal("Cannot find username %s", qPrintable(qsName));
|
||||
}
|
||||
endpwent();
|
||||
}
|
||||
diff --git a/src/murmur/Meta.h b/src/murmur/Meta.h
|
||||
index 7924640..1ec2d2b 100644
|
||||
--- a/src/murmur/Meta.h
|
||||
+++ b/src/murmur/Meta.h
|
||||
@@ -96,7 +96,11 @@ struct MetaParams {
|
||||
|
||||
QMap<QString, QString> qmConfig;
|
||||
|
||||
+#ifdef Q_OS_UNIX
|
||||
unsigned int uiUid, uiGid;
|
||||
+ QString qsHome;
|
||||
+ QString qsName;
|
||||
+#endif
|
||||
|
||||
QSettings *qsSettings;
|
||||
|
||||
diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp
|
||||
index eeeb67c..773701c 100644
|
||||
--- a/src/murmur/UnixMurmur.cpp
|
||||
+++ b/src/murmur/UnixMurmur.cpp
|
||||
@@ -231,14 +231,22 @@ void UnixMurmur::setuid() {
|
||||
} else
|
||||
qFatal("Couldn't switch uid/gid.");
|
||||
#else
|
||||
- if (setregid(Meta::mp.uiGid, Meta::mp.uiGid) != 0)
|
||||
+ if (::initgroups(qPrintable(Meta::mp.qsName), Meta::mp.uiGid) != 0)
|
||||
+ qCritical("Can't initialize supplementary groups");
|
||||
+ if (::setgid(Meta::mp.uiGid) != 0)
|
||||
qCritical("Failed to switch to gid %d", Meta::mp.uiGid);
|
||||
- if (setresuid(Meta::mp.uiUid, Meta::mp.uiUid, 0) != 0) {
|
||||
+ if (::setuid(Meta::mp.uiUid) != 0) {
|
||||
qFatal("Failed to become uid %d", Meta::mp.uiUid);
|
||||
} else {
|
||||
qCritical("Successfully switched to uid %d", Meta::mp.uiUid);
|
||||
initialcap();
|
||||
}
|
||||
+ if (!Meta::mp.qsHome.isEmpty()) {
|
||||
+ // QDir::homePath is broken. It only looks at $HOME
|
||||
+ // instead of getpwuid() so we have to set our home
|
||||
+ // ourselves
|
||||
+ ::setenv("HOME", qPrintable(Meta::mp.qsHome), 1);
|
||||
+ }
|
||||
#endif
|
||||
} else if (bRoot) {
|
||||
qCritical("WARNING: You are running murmurd as root, without setting a uname in the ini file. This might be a security risk.");
|
||||
diff --git a/src/murmur/main.cpp b/src/murmur/main.cpp
|
||||
index 7a11250..5a4810d 100644
|
||||
--- a/src/murmur/main.cpp
|
||||
+++ b/src/murmur/main.cpp
|
||||
@@ -272,11 +272,13 @@ int main(int argc, char **argv) {
|
||||
|
||||
|
||||
Meta::mp.read(inifile);
|
||||
- MumbleSSL::addSystemCA();
|
||||
|
||||
#ifdef Q_OS_UNIX
|
||||
unixhandler.setuid();
|
||||
#endif
|
||||
+
|
||||
+ MumbleSSL::addSystemCA();
|
||||
+
|
||||
ServerDB db;
|
||||
|
||||
meta = new Meta();
|
||||
diff --git a/src/murmur/murmur_pch.h b/src/murmur/murmur_pch.h
|
||||
index 27c38a1..c36d5ae 100644
|
||||
--- a/src/murmur/murmur_pch.h
|
||||
+++ b/src/murmur/murmur_pch.h
|
||||
@@ -61,6 +61,7 @@ extern "C" {
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
#include <pwd.h>
|
||||
+#include <grp.h>
|
||||
#ifdef __FreeBSD__
|
||||
#include <netinet/in_systm.h>
|
||||
#endif
|
||||
--
|
||||
1.7.1
|
||||
|
@ -1,28 +0,0 @@
|
||||
From d2a97b874e55ad156781a2762ff32ae9566de495 Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Thu, 24 Mar 2011 09:04:53 +0100
|
||||
Subject: [PATCH mumble] if service name is empty don't pass an empty string
|
||||
|
||||
DNSServiceRegister uses the local host name if the name is NULL but does nothing if it's empty
|
||||
---
|
||||
src/bonjour/bonjourserviceregister.cpp | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/bonjour/bonjourserviceregister.cpp b/src/bonjour/bonjourserviceregister.cpp
|
||||
index a818d8c..5f82779 100644
|
||||
--- a/src/bonjour/bonjourserviceregister.cpp
|
||||
+++ b/src/bonjour/bonjourserviceregister.cpp
|
||||
@@ -53,7 +53,9 @@ void BonjourServiceRegister::registerService(const BonjourRecord &record, quint1
|
||||
}
|
||||
#endif
|
||||
|
||||
- DNSServiceErrorType err = DNSServiceRegister(&dnssref, 0, 0, record.serviceName.toUtf8().constData(),
|
||||
+ DNSServiceErrorType err = DNSServiceRegister(&dnssref, 0, 0,
|
||||
+ record.serviceName.isEmpty() ? 0
|
||||
+ : record.serviceName.toUtf8().constData(),
|
||||
record.registeredType.toUtf8().constData(),
|
||||
record.replyDomain.isEmpty() ? 0
|
||||
: record.replyDomain.toUtf8().constData(), 0,
|
||||
--
|
||||
1.7.3.4
|
||||
|
@ -1,91 +0,0 @@
|
||||
From d79587e5570ec036355ada3de76521d981ce9596 Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Tue, 8 Mar 2011 16:31:33 +0100
|
||||
Subject: [PATCH] open log file early so log dir can be root owned
|
||||
|
||||
http://article.gmane.org/gmane.comp.security.oss.general/4404
|
||||
---
|
||||
src/murmur/UnixMurmur.cpp | 2 +-
|
||||
src/murmur/main.cpp | 46 ++++++++++++++++++++++++++------------------
|
||||
2 files changed, 28 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp
|
||||
index 773701c..3dc9c08 100644
|
||||
--- a/src/murmur/UnixMurmur.cpp
|
||||
+++ b/src/murmur/UnixMurmur.cpp
|
||||
@@ -255,7 +255,7 @@ void UnixMurmur::setuid() {
|
||||
|
||||
void UnixMurmur::initialcap() {
|
||||
#ifdef Q_OS_LINUX
|
||||
- cap_value_t caps[] = {CAP_NET_ADMIN, CAP_SETUID, CAP_SETGID, CAP_SYS_RESOURCE, CAP_DAC_OVERRIDE };
|
||||
+ cap_value_t caps[] = {CAP_NET_ADMIN, CAP_SETUID, CAP_SETGID, CAP_CHOWN, CAP_SYS_RESOURCE, CAP_DAC_OVERRIDE };
|
||||
|
||||
if (! bRoot)
|
||||
return;
|
||||
diff --git a/src/murmur/main.cpp b/src/murmur/main.cpp
|
||||
index 5a4810d..695f8cc 100644
|
||||
--- a/src/murmur/main.cpp
|
||||
+++ b/src/murmur/main.cpp
|
||||
@@ -273,6 +273,33 @@ int main(int argc, char **argv) {
|
||||
|
||||
Meta::mp.read(inifile);
|
||||
|
||||
+ // need to open log file early so log dir can be root owned:
|
||||
+ // http://article.gmane.org/gmane.comp.security.oss.general/4404
|
||||
+ if (detach && ! Meta::mp.qsLogfile.isEmpty()) {
|
||||
+ qfLog = new QFile(Meta::mp.qsLogfile);
|
||||
+ if (! qfLog->open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
|
||||
+ delete qfLog;
|
||||
+ qfLog = NULL;
|
||||
+#ifdef Q_OS_UNIX
|
||||
+ fprintf(stderr, "murmurd: failed to open logfile %s: no logging will be done\n",qPrintable(Meta::mp.qsLogfile));
|
||||
+#else
|
||||
+ qWarning("Failed to open logfile %s. Will not detach.",qPrintable(Meta::mp.qsLogfile));
|
||||
+ detach = false;
|
||||
+#endif
|
||||
+ } else {
|
||||
+ qfLog->setTextModeEnabled(true);
|
||||
+ QFileInfo qfi(*qfLog);
|
||||
+ Meta::mp.qsLogfile = qfi.absoluteFilePath();
|
||||
+#ifdef Q_OS_UNIX
|
||||
+ if (Meta::mp.uiUid != 0 && fchown(qfLog->handle(), Meta::mp.uiUid, Meta::mp.uiGid) == -1) {
|
||||
+ qFatal("can't change log file owner to %d %d:%d - %s", qfLog->handle(), Meta::mp.uiUid, Meta::mp.uiGid, strerror(errno));
|
||||
+ }
|
||||
+#endif
|
||||
+ }
|
||||
+ } else {
|
||||
+ detach = false;
|
||||
+ }
|
||||
+
|
||||
#ifdef Q_OS_UNIX
|
||||
unixhandler.setuid();
|
||||
#endif
|
||||
@@ -318,25 +345,6 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
- if (detach && ! Meta::mp.qsLogfile.isEmpty()) {
|
||||
- qfLog = new QFile(Meta::mp.qsLogfile);
|
||||
- if (! qfLog->open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) {
|
||||
- delete qfLog;
|
||||
- qfLog = NULL;
|
||||
-#ifdef Q_OS_UNIX
|
||||
- fprintf(stderr, "murmurd: failed to open logfile %s: no logging will be done\n",qPrintable(Meta::mp.qsLogfile));
|
||||
-#else
|
||||
- qWarning("Failed to open logfile %s. Will not detach.",qPrintable(Meta::mp.qsLogfile));
|
||||
- detach = false;
|
||||
-#endif
|
||||
- } else {
|
||||
- qfLog->setTextModeEnabled(true);
|
||||
- QFileInfo qfi(*qfLog);
|
||||
- Meta::mp.qsLogfile = qfi.absoluteFilePath();
|
||||
- }
|
||||
- } else {
|
||||
- detach = false;
|
||||
- }
|
||||
#ifdef Q_OS_UNIX
|
||||
if (detach) {
|
||||
if (fork() != 0) {
|
||||
--
|
||||
1.7.3.4
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 6b365d33f10a9c4376bed058330d243c514b94a1 Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Thu, 24 Mar 2011 14:29:35 +0100
|
||||
Subject: [PATCH mumble] remove CAP_NET_ADMIN
|
||||
|
||||
QoS settings do not need CAP_NET_ADMIN anymore
|
||||
---
|
||||
src/murmur/UnixMurmur.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp
|
||||
index 9becf63..9e1c81c 100644
|
||||
--- a/src/murmur/UnixMurmur.cpp
|
||||
+++ b/src/murmur/UnixMurmur.cpp
|
||||
@@ -288,7 +288,7 @@ void UnixMurmur::initialcap() {
|
||||
|
||||
void UnixMurmur::finalcap() {
|
||||
#ifdef Q_OS_LINUX
|
||||
- cap_value_t caps[] = {CAP_NET_ADMIN, CAP_SYS_RESOURCE};
|
||||
+ cap_value_t caps[] = {CAP_SYS_RESOURCE};
|
||||
struct rlimit r;
|
||||
|
||||
if (! bRoot)
|
||||
--
|
||||
1.7.3.4
|
||||
|
@ -1,49 +0,0 @@
|
||||
From b7fb70c101dd6afff86173f3f5dcb6d99376d11e Mon Sep 17 00:00:00 2001
|
||||
From: Ludwig Nussel <ludwig.nussel@suse.de>
|
||||
Date: Mon, 13 Feb 2012 14:42:05 +0100
|
||||
Subject: [PATCH mumble] don't add hardcoded CA's if NO_SYSTEM_CA_OVERRIDE is
|
||||
defined
|
||||
|
||||
actually mumble better should never add hardcoded CA certificates,
|
||||
you never know which one is next to be shut down
|
||||
---
|
||||
src/SSL.cpp | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/SSL.cpp b/src/SSL.cpp
|
||||
index ab9f0c8..40aaf13 100644
|
||||
--- a/src/SSL.cpp
|
||||
+++ b/src/SSL.cpp
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
/* CAs we recommend to end users, so support these */
|
||||
|
||||
+#if QT_VERSION < 0x040700 && !defined(NO_SYSTEM_CA_OVERRIDE)
|
||||
static const char *recommended_cas[] = {
|
||||
/* StartSSL */
|
||||
"-----BEGIN CERTIFICATE-----\n"
|
||||
@@ -143,6 +144,7 @@ static const char *recommended_cas[] = {
|
||||
|
||||
|
||||
};
|
||||
+#endif // NO_SYSTEM_CA_OVERRIDE
|
||||
|
||||
|
||||
void MumbleSSL::addSystemCA() {
|
||||
@@ -252,7 +254,6 @@ void MumbleSSL::addSystemCA() {
|
||||
}
|
||||
}
|
||||
QSslSocket::setDefaultCaCertificates(ql);
|
||||
-#endif // NO_SYSTEM_CA_OVERRIDE
|
||||
|
||||
for (unsigned int i=0;i<sizeof(recommended_cas)/sizeof(recommended_cas[0]);++i) {
|
||||
QSslCertificate cert(recommended_cas[i]);
|
||||
@@ -261,4 +262,5 @@ void MumbleSSL::addSystemCA() {
|
||||
QSslSocket::addDefaultCaCertificates(QList<QSslCertificate>() << cert);
|
||||
}
|
||||
}
|
||||
+#endif // NO_SYSTEM_CA_OVERRIDE
|
||||
}
|
||||
--
|
||||
1.7.7
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05895122ae4abec3fb62ef24ed9d167ffd768e7080ed179c8bf3afca96d18a5c
|
||||
size 3448053
|
@ -1,7 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.9 (GNU/Linux)
|
||||
|
||||
iEYEABECAAYFAk1gN5sACgkQ8Jse7d66bz4OKACfSpEhcg1nuxOlcBxKi0Zcb08M
|
||||
sQIAoIYq1K6Ncv/dVjDxt+01HG3tZXuU
|
||||
=zdmP
|
||||
-----END PGP SIGNATURE-----
|
3
mumble-1.2.4.tar.gz
Normal file
3
mumble-1.2.4.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a1cf8383d99a02719b16c5440e3a5fb5375a8aa060f203bfa5d25bc69f919c9b
|
||||
size 3200084
|
11
mumble-1.2.4.tar.gz.sig
Normal file
11
mumble-1.2.4.tar.gz.sig
Normal file
@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
iQEcBAABAgAGBQJRqmS/AAoJENINBrr6EZMnk4UH/2fmjFLqPVVTxq7WEX4alFly
|
||||
AHhbLF19tg2iG6m1DuQncclfAVIzhgpcKCle7ponxXNhMTMWtWYlopqDpvCqn84v
|
||||
wPJ+4MPvDjQ0+Eaz9jHVUo/rX9ieOAcCRTwYAx9MABIDL6ZTBeA8FyCPW+i3bEE6
|
||||
ossgyH6zUOf7aLkuzai+z5Rmy8Ten7S9niGRiJzpEJ3jgmUEFjrU9te1aclw/5G6
|
||||
TvbbPQ7mv55PV9FdOqY0lcCRIx53N0D2daRIl6uByCcuTnsgRUT/pkHNbg+QlYPa
|
||||
niOau+cAca8fwGWJYaqP5nghlhPjrEleSUxPgAFdh/vBXGPbPXETRc0sXkR9NgA=
|
||||
=hSgS
|
||||
-----END PGP SIGNATURE-----
|
20
mumble-server.service
Normal file
20
mumble-server.service
Normal file
@ -0,0 +1,20 @@
|
||||
# This file is part of package mumble-server.
|
||||
#
|
||||
# Copyright (c) 2013 Pascal Bleser <pascal.bleser@opensuse.org>
|
||||
# Author: Pascal Bleser
|
||||
#
|
||||
# Description:
|
||||
#
|
||||
# Used to start the Mumble server (murmurd)
|
||||
#
|
||||
|
||||
[Unit]
|
||||
Description=Mumble Server (murmur)
|
||||
Requires=var-run.mount network.target remote-fs.target syslog.target time-sync.target
|
||||
After=var-run.mount network.target remote-fs.target syslog.target time-sync.target mysql.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/murmurd -fg -ini /etc/mumble-server.ini
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,3 +1,24 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 1 09:23:58 UTC 2013 - lnussel@suse.de
|
||||
|
||||
- clean up old macros
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 6 18:19:15 UTC 2013 - pascal.bleser@opensuse.org
|
||||
|
||||
- update to 1.2.4: http://mumble.sourceforge.net/1.2.4
|
||||
Obsoleted patches:
|
||||
0001-fix-build-error-with-capability.h.diff
|
||||
0001-fix-user-switching.diff
|
||||
0001-open-log-file-early-so-log-dir-can-be-root-owned.diff
|
||||
0001-if-service-name-is-empty-don-t-pass-an-empty-string.diff
|
||||
0001-remove-CAP_NET_ADMIN.diff
|
||||
0001-fix-bonjour-support-using-avahi-compat-lib.diff
|
||||
mumble-1.2.3-nohardcodedcas.diff
|
||||
0001-Explicitly-remove-file-permissions-for-settings-and-D.diff
|
||||
|
||||
- systemd service file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 28 20:46:55 CET 2012 - sbrabec@suse.cz
|
||||
|
||||
|
87
mumble.spec
87
mumble.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package mumble
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -32,7 +32,7 @@
|
||||
%bcond_with ice
|
||||
%endif
|
||||
|
||||
%bcond_without mumble11x
|
||||
%bcond_with mumble11x
|
||||
|
||||
%bcond_without bonjour
|
||||
# mumble must be able to talk to other clients which may use
|
||||
@ -102,7 +102,7 @@ BuildRequires: qt4-linguist
|
||||
%if %{with pulseaudio}
|
||||
BuildRequires: pulseaudio-devel
|
||||
%endif
|
||||
Version: 1.2.3%{?snapshot:_%snapshot}
|
||||
Version: 1.2.4%{?snapshot:_%snapshot}
|
||||
Release: 0
|
||||
%if 0%{!?snapshot:1}
|
||||
Source: http://downloads.sourceforge.net/project/mumble/Mumble/%{version}/mumble-%{version}.tar.gz
|
||||
@ -111,14 +111,7 @@ Source1: http://downloads.sourceforge.net/project/mumble/Mumble/%{version
|
||||
Source2: mumble-server.init
|
||||
Source3: murmur.apparmor
|
||||
Source4: %{name}.keyring
|
||||
Patch0: 0001-fix-build-error-with-capability.h.diff
|
||||
Patch1: 0001-fix-user-switching.diff
|
||||
Patch2: 0001-open-log-file-early-so-log-dir-can-be-root-owned.diff
|
||||
Patch3: 0001-if-service-name-is-empty-don-t-pass-an-empty-string.diff
|
||||
Patch4: 0001-remove-CAP_NET_ADMIN.diff
|
||||
Patch5: 0001-fix-bonjour-support-using-avahi-compat-lib.diff
|
||||
Patch6: mumble-1.2.3-nohardcodedcas.diff
|
||||
Patch7: 0001-Explicitly-remove-file-permissions-for-settings-and-D.diff
|
||||
Source5: mumble-server.service
|
||||
Patch50: mumble-1.2.2-buildcompare.diff
|
||||
# hack, no clue about glx so no idea to fix this properly
|
||||
Patch99: mumble-1.1.4-sle10glx.diff
|
||||
@ -176,6 +169,7 @@ PreReq: /usr/sbin/useradd
|
||||
Conflicts: mumble-server < %version
|
||||
Provides: mumble-server = %version
|
||||
%endif
|
||||
%{?systemd_requires}
|
||||
|
||||
%description server
|
||||
Low-latency, high-quality voice communication for gamers. Includes game
|
||||
@ -184,19 +178,11 @@ characters, and has echo cancellation so the sound from your loudspeakers
|
||||
won't be audible to other players.
|
||||
|
||||
%prep
|
||||
%if 0%{?gpg_verify:1}
|
||||
%gpg_verify %{S:1}
|
||||
%endif
|
||||
#if 0%{?gpg_verify:1}
|
||||
#gpg_verify %{S:1}
|
||||
#endif
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
#
|
||||
|
||||
%patch50 -p1
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1020
|
||||
%patch99 -p1
|
||||
@ -303,7 +289,7 @@ make -C src/mumble qt_de.qm
|
||||
for i in mumble murmur; do
|
||||
make -C src/$i -f Makefile.Release compiler_pb_make_all
|
||||
done
|
||||
make %{?jobs:-j%{jobs}}
|
||||
make %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
%install
|
||||
@ -320,10 +306,6 @@ install -d -m 0755 "%{buildroot}%{_mandir}/man1"
|
||||
install -m 0644 man/*.1 "%{buildroot}%{_mandir}/man1"
|
||||
#
|
||||
install -D -m 0644 icons/mumble.xpm "%{buildroot}%{_datadir}/pixmaps/mumble.xpm"
|
||||
#install -D -m 0644 icons/mumble.16x16.png "%{buildroot}%{_datadir}/icons/hicolor/16x16/apps/mumble.png"
|
||||
#install -D -m 0644 icons/mumble.32x32.png "%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/mumble.png"
|
||||
#install -D -m 0644 icons/mumble.48x48.png "%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/mumble.png"
|
||||
#install -D -m 0644 icons/mumble.64x64.png "%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/mumble.png"
|
||||
install -D -m 0644 icons/mumble.svg "%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mumble.svg"
|
||||
#
|
||||
install -d -m0755 "%{buildroot}%{_libdir}/mumble"
|
||||
@ -339,12 +321,15 @@ install -m 644 release/libcelt0.so.0.*.* "%{buildroot}%{_libdir}/mumble"
|
||||
install -D -m 0755 release/mumble11x %{buildroot}%{_bindir}/mumble11x
|
||||
%else
|
||||
# XXX
|
||||
/bin/rm "%{buildroot}%{_mandir}"/man1/mumble11x*
|
||||
/bin/rm -f "%{buildroot}%{_mandir}"/man1/mumble11x*
|
||||
%endif
|
||||
#
|
||||
# server
|
||||
install -D -m 0755 release/murmurd "%{buildroot}%{_sbindir}/murmurd"
|
||||
%if 0%{?suse_version} < 1310
|
||||
install -D -m 0755 %{SOURCE2} %{buildroot}/etc/init.d/mumble-server
|
||||
ln -s /etc/init.d/mumble-server %{buildroot}%{_sbindir}/rcmumble-server
|
||||
%endif
|
||||
install -D -m 0644 %{SOURCE3} %{buildroot}/etc/apparmor.d/usr.sbin.murmurd
|
||||
%if 0%{?suse_version} < 1220
|
||||
sed -i -e 's,/usr/bin/grep,/bin/grep,;s,/usr/bin/sed,/bin/sed,' %{buildroot}/etc/apparmor.d/usr.sbin.murmurd
|
||||
@ -353,7 +338,6 @@ install -d -m 0755 %{buildroot}%{_bindir}
|
||||
# can be launched as user too but apparmor profile doesn't make
|
||||
# sense in that case. So use link to avoid the profile.
|
||||
ln -s %{_sbindir}/murmurd %{buildroot}%{_bindir}/murmurd
|
||||
ln -s /etc/init.d/mumble-server %{buildroot}%{_sbindir}/rcmumble-server
|
||||
install -D -m 0644 scripts/murmur.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/mumble-server.conf
|
||||
install -D -m 0644 scripts/murmur.ini %{buildroot}%{_sysconfdir}/mumble-server.ini
|
||||
# fix up config file
|
||||
@ -385,25 +369,15 @@ sed -e '/^Name=/s/$/ 1.1.x/;/^Exec=/s/$/11x/' \
|
||||
mkdir -p %{buildroot}%{_docdir}/%{name}
|
||||
cp -a scripts LICENSE README README.Linux %{buildroot}%{_docdir}/%{name}
|
||||
#
|
||||
%if 0%{?suse_version} >= 1130
|
||||
%if 0%{?suse_version} == 1130
|
||||
mkdir %buildroot/etc/tmpdirs.d/
|
||||
cat >> %buildroot/etc/tmpdirs.d/50_mumble-server <<EOF
|
||||
#!/bin/sh
|
||||
while read t f m o g xxx; do
|
||||
[ "$t" = d ] || continue
|
||||
install -d -m $m -o $o -g $g $f
|
||||
done < /usr/lib/tmpfiles.d/mumble-server.conf
|
||||
EOF
|
||||
%endif
|
||||
mkdir -p %buildroot/usr/lib/tmpfiles.d
|
||||
cat >> %buildroot/usr/lib/tmpfiles.d/mumble-server.conf <<EOF
|
||||
d /var/run/mumble-server 0755 mumble-server mumble-server -
|
||||
EOF
|
||||
%endif
|
||||
#
|
||||
install -D -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/mumble-server.service
|
||||
|
||||
%clean
|
||||
rm -rf "%{buildroot}"
|
||||
%{?buildroot:%__rm -rf "%{buildroot}"}
|
||||
|
||||
%pre server
|
||||
getent group mumble-server >/dev/null || groupadd -r mumble-server || :
|
||||
@ -411,15 +385,24 @@ getent passwd mumble-server >/dev/null || \
|
||||
/usr/sbin/useradd -r -d /var/lib/mumble-server -s /bin/false -c "Mumble VoIP Server" -g mumble-server mumble-server 2> /dev/null || :
|
||||
|
||||
%preun server
|
||||
%if 0%{?suse_version}
|
||||
%if 0%{?suse_version} < 1310
|
||||
%stop_on_removal mumble-server
|
||||
%endif
|
||||
%service_del_preun mumble-server.service
|
||||
|
||||
%post server
|
||||
systemd-tmpfiles --create /usr/lib/tmpfiles.d/mumble-server.conf || true
|
||||
%if 0%{?suse_version} < 1310
|
||||
%fillup_and_insserv mumble-server
|
||||
%endif
|
||||
%service_add_post mumble-server.service
|
||||
|
||||
%postun server
|
||||
%if 0%{?suse_version}
|
||||
%if 0%{?suse_version} < 1310
|
||||
%restart_on_update mumble-server
|
||||
%insserv_cleanup
|
||||
%endif
|
||||
%service_del_postun mumble-server.service
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
@ -446,10 +429,12 @@ getent passwd mumble-server >/dev/null || \
|
||||
%doc %{_docdir}/%{name}/scripts/murmur.ini
|
||||
%config %{_sysconfdir}/dbus-1/system.d/mumble-server.conf
|
||||
%config(noreplace) %{_sysconfdir}/mumble-server.ini
|
||||
%if 0%{?suse_version} < 1310
|
||||
/etc/init.d/mumble-server
|
||||
%{_sbindir}/rcmumble-server
|
||||
%endif
|
||||
%dir /etc/apparmor.d
|
||||
/etc/apparmor.d/usr.sbin.murmurd
|
||||
%{_sbindir}/rcmumble-server
|
||||
%{_sbindir}/murmurd
|
||||
%{_bindir}/murmurd
|
||||
%{_bindir}/murmur-user-wrapper
|
||||
@ -457,14 +442,8 @@ getent passwd mumble-server >/dev/null || \
|
||||
%{_mandir}/man1/murmur-user-wrapper.*
|
||||
%dir %attr(-,mumble-server,mumble-server) /var/lib/mumble-server
|
||||
%dir /var/log/mumble-server
|
||||
%if 0%{?suse_version} < 1130
|
||||
%dir %attr(-,mumble-server,mumble-server) /var/run/mumble-server
|
||||
%else
|
||||
%if 0%{?suse_version} == 1130
|
||||
%config /etc/tmpdirs.d/50_mumble-server
|
||||
%endif
|
||||
%dir /usr/lib/tmpfiles.d
|
||||
%config /usr/lib/tmpfiles.d/mumble-server.conf
|
||||
%endif
|
||||
/usr/lib/tmpfiles.d/mumble-server.conf
|
||||
%{_unitdir}/mumble-server.service
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user