diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2015-03-05 12:32:05 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2015-03-05 13:09:07 +0000 |
commit | 49d67163da975973379fb735c5348a83598b28c7 (patch) | |
tree | 3327d859b93550310c40dd998eca23054366062f /bus/driver.c | |
parent | e488588501eef83d8164f9d475ae7f8575c33867 (diff) | |
download | dbus-49d67163da975973379fb735c5348a83598b28c7.tar.gz |
Improve diagnostics when UpdateActivationEnvironment calls are rejected
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88812
Reviewed-by: Colin Walters <walters@verbum.org>
[smcv: rebased to not require the extra code initially on that bug]
Diffstat (limited to 'bus/driver.c')
-rw-r--r-- | bus/driver.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bus/driver.c b/bus/driver.c index aab922ae..23e75a21 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -43,6 +43,13 @@ #include <dbus/dbus-marshal-validate.h> #include <string.h> +static inline const char * +nonnull (const char *maybe_null, + const char *if_null) +{ + return (maybe_null ? maybe_null : if_null); +} + static DBusConnection * bus_driver_get_owner_of_name (DBusConnection *connection, const char *name) @@ -121,7 +128,10 @@ bus_driver_check_caller_is_privileged (DBusConnection *connection, bus_context_log_and_set_error (bus_transaction_get_context (transaction), DBUS_SYSTEM_LOG_SECURITY, error, DBUS_ERROR_ACCESS_DENIED, - "rejected attempt to call %s by unknown uid", method); + "rejected attempt to call %s by connection %s (%s) with " + "unknown uid", method, + nonnull (bus_connection_get_name (connection), "(inactive)"), + bus_connection_get_loginfo (connection)); return FALSE; } @@ -142,7 +152,10 @@ bus_driver_check_caller_is_privileged (DBusConnection *connection, bus_context_log_and_set_error (bus_transaction_get_context (transaction), DBUS_SYSTEM_LOG_SECURITY, error, DBUS_ERROR_ACCESS_DENIED, - "rejected attempt to call %s by uid %lu", method, uid); + "rejected attempt to call %s by connection %s (%s) with " + "uid %lu", method, + nonnull (bus_connection_get_name (connection), "(inactive)"), + bus_connection_get_loginfo (connection), uid); return FALSE; } |