[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_2_BRANCH: kdelibs/kdecore
From: Waldo Bastian <bastian () kde ! org>
Date: 2004-06-08 9:27:57
Message-ID: 20040608092757.CC2E9126C1 () office ! kde ! org
[Download RAW message or body]
CVS commit by waba:
KIOSK: Make it possible to lift kiosk restrictions for the admin user
with finer granularity for configuration purposes.
M +2 -1 kapplication.cpp 1.637.2.14
M +9 -23 kinstance.cpp 1.41.2.2
M +45 -11 kstandarddirs.cpp 1.168.2.3
--- kdelibs/kdecore/kapplication.cpp #1.637.2.13:1.637.2.14
@@ -134,4 +134,5 @@
bool kde_have_kipc = true; // magic hook to disable kipc in kdm
bool kde_kiosk_exception = false; // flag to disable kiosk restrictions
+bool kde_kiosk_admin = false;
KApplication* KApplication::KApp = 0L;
--- kdelibs/kdecore/kinstance.cpp #1.41.2.1:1.41.2.2
@@ -18,4 +18,5 @@
#include "kinstance.h"
+#include <stdlib.h>
#include <unistd.h>
@@ -26,5 +27,4 @@
#include "kaboutdata.h"
#include "kstandarddirs.h"
-#include "kuser.h"
#include "kdebug.h"
#include "kglobal.h"
@@ -171,4 +171,5 @@ KStandardDirs *KInstance::dirs() const
extern bool kde_kiosk_exception;
+extern bool kde_kiosk_admin;
KConfig *KInstance::config() const
@@ -201,21 +202,7 @@ KConfig *KInstance::config() const
d->sharedConfig = KSharedConfig::openConfig( QString::null );
}
- d->sharedConfig->setGroup( "KDE Action Restrictions" );
- QString kioskException = d->sharedConfig->readEntry("kiosk_exception");
- d->sharedConfig->setGroup( QString::null );
- if (!kioskException.isEmpty() && !kde_kiosk_exception)
- {
- int i = kioskException.find(':');
- QString user = kioskException.left(i);
- QString host = kioskException.mid(i+1);
- KUser thisUser;
- char hostname[ 256 ];
- hostname[ 0 ] = '\0';
- if (!gethostname( hostname, 255 ))
- hostname[sizeof(hostname)-1] = '\0';
-
- if ((user == thisUser.loginName()) &&
- (host.isEmpty() || (host == hostname)))
+ // Check if we are excempt from kiosk restrictions
+ if (kde_kiosk_admin && !kde_kiosk_exception && \
!QCString(getenv("KDE_KIOSK_NO_RESTRICTIONS")).isEmpty()) {
kde_kiosk_exception = true;
@@ -223,5 +210,4 @@ KConfig *KInstance::config() const
return config(); // Reread...
}
- }
_config = d->sharedConfig;
--- kdelibs/kdecore/kstandarddirs.cpp #1.168.2.2:1.168.2.3
@@ -52,4 +52,5 @@
#include "kshell.h"
#include "ksimpleconfig.h"
+#include "kuser.h"
#include <sys/param.h>
#include <unistd.h>
@@ -1280,4 +1281,6 @@ static QStringList lookupProfiles(const
}
+extern bool kde_kiosk_admin;
+
bool KStandardDirs::addCustomized(KConfig *config)
{
@@ -1296,7 +1299,35 @@ bool KStandardDirs::addCustomized(KConfi
QString group = QString::fromLatin1("Directories");
config->setGroup(group);
+
+ QString kioskAdmin = config->readEntry("kioskAdmin");
+ if (!kioskAdmin.isEmpty() && !kde_kiosk_admin)
+ {
+ int i = kioskAdmin.find(':');
+ QString user = kioskAdmin.left(i);
+ QString host = kioskAdmin.mid(i+1);
+
+ KUser thisUser;
+ char hostname[ 256 ];
+ hostname[ 0 ] = '\0';
+ if (!gethostname( hostname, 255 ))
+ hostname[sizeof(hostname)-1] = '\0';
+
+ if ((user == thisUser.loginName()) &&
+ (host.isEmpty() || (host == hostname)))
+ {
+ kde_kiosk_admin = true;
+ }
+ }
+
+ bool readProfiles = true;
+
+ if (kde_kiosk_admin && !QCString(getenv("KDE_KIOSK_NO_PROFILES")).isEmpty())
+ readProfiles = false;
+
QString userMapFile = config->readEntry("userProfileMapFile");
- QStringList profiles = lookupProfiles(userMapFile);
+ QStringList profiles;
+ if (readProfiles)
+ profiles = lookupProfiles(userMapFile);
bool priority = false;
@@ -1337,4 +1368,6 @@ bool KStandardDirs::addCustomized(KConfi
// Process KIOSK restrictions.
+ if (!kde_kiosk_admin || QCString(getenv("KDE_KIOSK_NO_RESTRICTIONS")).isEmpty())
+ {
config->setGroup("KDE Resource Restrictions");
QMap<QString, QString> entries = config->entryMap("KDE Resource Restrictions");
@@ -1350,4 +1383,5 @@ bool KStandardDirs::addCustomized(KConfi
}
}
+ }
config->setGroup(oldGroup);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic