diff options
author | Benjamin Jemlich <pcgod@users.sourceforge.net> | 2012-01-15 01:41:33 +0400 |
---|---|---|
committer | Benjamin Jemlich <pcgod@users.sourceforge.net> | 2012-01-15 01:48:45 +0400 |
commit | 7300338ca09025b499a88ae684298ccc43dad429 (patch) | |
tree | b32f0e6c378c897f73939dda7991de3c46dd0880 /src/murmur/UnixMurmur.cpp | |
parent | 62899319943c56c0fccf62365829f8b7d193fb33 (diff) |
Try to read system-wide ini files first if running as root
Diffstat (limited to 'src/murmur/UnixMurmur.cpp')
-rw-r--r-- | src/murmur/UnixMurmur.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/murmur/UnixMurmur.cpp b/src/murmur/UnixMurmur.cpp index adc24f308..799f0cce8 100644 --- a/src/murmur/UnixMurmur.cpp +++ b/src/murmur/UnixMurmur.cpp @@ -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; +} |