diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-11-15 22:45:49 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-11-15 23:07:25 +0100 |
commit | 8885064fd00d74feb16334d645f9c479735090c3 (patch) | |
tree | 0ad665eb550231fefd7311a5548359c63686fd42 | |
parent | 33c770b174ec77d7da6e7e830e0bca9f74d54367 (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.
-rw-r--r-- | src/shared/polkit.c | 11 |
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; } |