summaryrefslogtreecommitdiff
path: root/src/shared/polkit.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-11-15 22:45:49 +0100
committerLennart Poettering <lennart@poettering.net>2012-11-15 23:07:25 +0100
commit8885064fd00d74feb16334d645f9c479735090c3 (patch)
tree0ad665eb550231fefd7311a5548359c63686fd42 /src/shared/polkit.c
parent33c770b174ec77d7da6e7e830e0bca9f74d54367 (diff)
polkit: if PK is not around, consider this a permission denied error
Uninstalling PK should cleanly disable PK authorization but not result in further runtime errors.
Diffstat (limited to 'src/shared/polkit.c')
-rw-r--r--src/shared/polkit.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/shared/polkit.c b/src/shared/polkit.c
index 126096e64f..826944585c 100644
--- a/src/shared/polkit.c
+++ b/src/shared/polkit.c
@@ -112,11 +112,14 @@ int verify_polkit(
reply = dbus_connection_send_with_reply_and_block(c, m, -1, error);
if (!reply) {
- r = -EIO;
- goto finish;
- }
- if (dbus_set_error_from_message(error, reply)) {
+ /* Treat no PK available as access denied */
+ if (dbus_error_has_name(error, DBUS_ERROR_SERVICE_UNKNOWN)) {
+ r = -EACCES;
+ dbus_error_free(error);
+ goto finish;
+ }
+
r = -EIO;
goto finish;
}