mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
Try to read system-wide ini files first if running as root
This commit is contained in:
parent
6289931994
commit
7300338ca0
@ -320,3 +320,29 @@ void UnixMurmur::finalcap() {
|
||||
cap_free(c);
|
||||
#endif
|
||||
}
|
||||
|
||||
const QString UnixMurmur::trySystemIniFiles(const QString& fname) {
|
||||
QString file = fname;
|
||||
if (!file.isEmpty())
|
||||
return file;
|
||||
#if defined(Q_OS_LINUX)
|
||||
if (!bRoot)
|
||||
return file;
|
||||
|
||||
QStringList inipaths;
|
||||
|
||||
inipaths << QLatin1String("/usr/local/etc/mumble-server.ini");
|
||||
inipaths << QLatin1String("/usr/local/etc/murmur.ini");
|
||||
inipaths << QLatin1String("/etc/mumble-server.ini");
|
||||
inipaths << QLatin1String("/etc/murmur.ini");
|
||||
|
||||
foreach(const QString &f, inipaths) {
|
||||
QFileInfo fi(f);
|
||||
if (fi.exists() && fi.isReadable()) {
|
||||
file = fi.absoluteFilePath();
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return file;
|
||||
}
|
||||
|
||||
@ -69,6 +69,7 @@ class UnixMurmur : public QObject {
|
||||
void setuid();
|
||||
void initialcap();
|
||||
void finalcap();
|
||||
const QString trySystemIniFiles(const QString& fname);
|
||||
|
||||
UnixMurmur();
|
||||
~UnixMurmur();
|
||||
|
||||
@ -282,6 +282,9 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Q_OS_UNIX
|
||||
inifile = unixhandler.trySystemIniFiles(inifile);
|
||||
#endif
|
||||
|
||||
Meta::mp.read(inifile);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user