blob: f8f5b08a9610acd425560e4ebe09b397329ba714 [file] [log] [blame]
From 44562e33655668033a8ee0a7a686671226da2110 Mon Sep 17 00:00:00 2001
From: Brad Bishop <bradleyb@fuzziesquirrel.com>
Date: Tue, 13 Mar 2018 15:34:30 -0400
Subject: [PATCH] sd-bus: Don't automatically add ObjectManager
Even though sdbus helps manage org.freedesktop.DBus.ObjectManager
it must still be explicitly enabled by a library client.
As such do not automatically add ObjectManager to GetManagedObjects
method call responses or InterfacesAdded/Removed signals. Bus
service client applications can potentially react to the appearance
of ObjectManager in these messages and follow up with a method call
on the interface, which isn't actually implemented on the objects
within the subtree, below the manager.
---
src/libsystemd/sd-bus/bus-objects.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
index 6e00255b2..59f698402 100644
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
@@ -1076,10 +1076,6 @@ static int object_manager_serialize_path(
if (r < 0)
return r;
- r = sd_bus_message_append(reply, "{sa{sv}}", "org.freedesktop.DBus.ObjectManager", 0);
- if (r < 0)
- return r;
-
found_something = true;
}
@@ -2302,9 +2298,6 @@ static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *p
if (r < 0)
return r;
r = sd_bus_message_append(m, "{sa{sv}}", "org.freedesktop.DBus.Properties", 0);
- if (r < 0)
- return r;
- r = sd_bus_message_append(m, "{sa{sv}}", "org.freedesktop.DBus.ObjectManager", 0);
if (r < 0)
return r;
@@ -2473,9 +2466,6 @@ static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char
if (r < 0)
return r;
r = sd_bus_message_append(m, "s", "org.freedesktop.DBus.Properties");
- if (r < 0)
- return r;
- r = sd_bus_message_append(m, "s", "org.freedesktop.DBus.ObjectManager");
if (r < 0)
return r;
--
2.14.3