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

