From: Lennart Poettering Date: Wed, 2 Jul 2014 15:12:24 +0000 (+0200) Subject: bus-proxy: restore operation in non-kdbus mode X-Git-Tag: v215~44 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=62bb05f64fe4d7aeadffb4815ba6a9082b1da285;p=elogind.git bus-proxy: restore operation in non-kdbus mode bus-proxyd is not only the bridge between legacy dbus clients and kdbus but is also used to access remote dbus servers via ssh. Let's make sure it actually works for that. --- diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c index 07995ec83..3f095e0a3 100644 --- a/src/bus-proxyd/bus-proxyd.c +++ b/src/bus-proxyd/bus-proxyd.c @@ -47,7 +47,7 @@ #include "capability.h" #include "bus-policy.h" -static const char *arg_address = KERNEL_SYSTEM_BUS_PATH; +static const char *arg_address = DEFAULT_SYSTEM_BUS_PATH; static char *arg_command_line_buffer = NULL; static bool arg_drop_privileges = false; static char **arg_configuration = NULL; @@ -281,6 +281,9 @@ static int process_policy(sd_bus *a, sd_bus *b, sd_bus_message *m) { assert(b); assert(m); + if (!a->is_kernel) + return 0; + if (!sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "GetAll")) return 0; @@ -467,6 +470,9 @@ static int process_driver(sd_bus *a, sd_bus *b, sd_bus_message *m) { assert(b); assert(m); + if (!a->is_kernel) + return 0; + if (!streq_ptr(sd_bus_message_get_destination(m), "org.freedesktop.DBus")) return 0;