From 49d67163da975973379fb735c5348a83598b28c7 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 5 Mar 2015 12:32:05 +0000 Subject: [PATCH] Improve diagnostics when UpdateActivationEnvironment calls are rejected Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88812 Reviewed-by: Colin Walters [smcv: rebased to not require the extra code initially on that bug] --- bus/driver.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/bus/driver.c b/bus/driver.c index aab922ae7..23e75a21d 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -43,6 +43,13 @@ #include #include +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; } -- 2.47.3