summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2008-07-30 18:06:31 -0400
committerWilliam Jon McCann <jmccann@redhat.com>2008-07-30 18:06:31 -0400
commit456065f3f8d9ba785b0d2d9dc247fc9fb4fe9ba0 (patch)
treebd519444b3c23557d4c6c2c03d09f6c8c9a8bdf4 /src
parent53d7c964bcdd29d6d22c4e78afe1ee5a2937bf95 (diff)
don't allow reboot if PolicyKit and RBAC are disabled
Diffstat (limited to 'src')
-rw-r--r--src/ck-manager.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/ck-manager.c b/src/ck-manager.c
index a9fa6bd..bcb9350 100644
--- a/src/ck-manager.c
+++ b/src/ck-manager.c
@@ -39,11 +39,9 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
-#ifdef HAVE_POLKIT
+#if defined HAVE_POLKIT
#include <polkit/polkit.h>
-#endif
-
-#ifdef ENABLE_RBAC_SHUTDOWN
+#elif defined ENABLE_RBAC_SHUTDOWN
#include <auth_attr.h>
#include <secdb.h>
#endif
@@ -1340,17 +1338,18 @@ ck_manager_restart (CkManager *manager,
g_debug ("ConsoleKit Restart: %s", action);
-#ifdef HAVE_POLKIT
+#if defined HAVE_POLKIT
res = _check_polkit_for_action (manager, context, action);
if (! res) {
goto out;
}
-#endif
-
-#ifdef ENABLE_RBAC_SHUTDOWN
+#elif defined ENABLE_RBAC_SHUTDOWN
if (! check_rbac_permissions (manager, context)) {
goto out;
}
+#else
+ g_warning ("Compiled without PolicyKit or RBAC support!");
+ goto out;
#endif
g_debug ("ConsoleKit preforming Restart: %s", action);
@@ -1399,16 +1398,18 @@ ck_manager_stop (CkManager *manager,
action = "org.freedesktop.consolekit.system.stop";
}
-#ifdef HAVE_POLKIT
+#if defined HAVE_POLKIT
res = _check_polkit_for_action (manager, context, action);
if (! res) {
goto out;
}
-#endif
-
-#ifdef ENABLE_RBAC_SHUTDOWN
- if (!check_rbac_permissions (manager, context))
+#elif defined ENABLE_RBAC_SHUTDOWN
+ if (!check_rbac_permissions (manager, context)) {
goto out;
+ }
+#else
+ g_warning ("Compiled without PolicyKit or RBAC support!");
+ goto out;
#endif
g_debug ("Stopping system");