Skip to content

Commit

Permalink
Try to read system-wide ini files first if running as root
Browse files Browse the repository at this point in the history
  • Loading branch information
pcgod committed Jan 14, 2012
1 parent 6289931 commit 7300338
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/murmur/UnixMurmur.cpp
Expand Up @@ -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;
}
1 change: 1 addition & 0 deletions src/murmur/UnixMurmur.h
Expand Up @@ -69,6 +69,7 @@ class UnixMurmur : public QObject {
void setuid();
void initialcap();
void finalcap();
const QString trySystemIniFiles(const QString& fname);

UnixMurmur();
~UnixMurmur();
Expand Down
3 changes: 3 additions & 0 deletions src/murmur/main.cpp
Expand Up @@ -282,6 +282,9 @@ int main(int argc, char **argv) {
}
}

#ifdef Q_OS_UNIX
inifile = unixhandler.trySystemIniFiles(inifile);
#endif

Meta::mp.read(inifile);

Expand Down

0 comments on commit 7300338

Please sign in to comment.