summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-core/systemd/systemd/0001-sd-bus-Don-t-automatically-add-ObjectManager.patch
blob: f8f5b08a9610acd425560e4ebe09b397329ba714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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