chiark / gitweb /
bus-proxy: restore operation in non-kdbus mode
authorLennart Poettering <lennart@poettering.net>
Wed, 2 Jul 2014 15:12:24 +0000 (17:12 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 2 Jul 2014 15:12:24 +0000 (17:12 +0200)
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.

src/bus-proxyd/bus-proxyd.c

index 07995ec83255c6147793a6e341045fbc1554e678..3f095e0a3143559110c22db43d179efe8ac70d10 100644 (file)
@@ -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;