From: Jan Alexander Steffens (heftig) Date: Sat, 14 Nov 2015 15:32:37 +0000 (+0100) Subject: bus_driver_handle_update_activation_environment: Error on system buses X-Git-Tag: dbus-1.10.6~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f116d786539b2f1613d88532f989970f3349c69;p=platform%2Fupstream%2Fdbus.git bus_driver_handle_update_activation_environment: Error on system buses The default policy already disallows calls on system buses. Since any bus with a service helper cleans the environment anyway, there's no point in allowing this to be called. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92857 Reviewed-by: Simon McVittie --- diff --git a/bus/driver.c b/bus/driver.c index 852ac53..a59d532 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -986,6 +986,7 @@ bus_driver_handle_update_activation_environment (DBusConnection *connection, { dbus_bool_t retval; BusActivation *activation; + BusContext *context; DBusMessageIter iter; DBusMessageIter dict_iter; DBusMessageIter dict_entry_iter; @@ -1011,6 +1012,16 @@ bus_driver_handle_update_activation_environment (DBusConnection *connection, } #endif + context = bus_connection_get_context (connection); + + if (bus_context_get_servicehelper (context) != NULL) + { + dbus_set_error (error, DBUS_ERROR_ACCESS_DENIED, + "Cannot change activation environment " + "on a system bus."); + return FALSE; + } + activation = bus_connection_get_activation (connection); dbus_message_iter_init (message, &iter);