From: David Herrmann Date: Wed, 26 Apr 2017 00:36:30 +0000 (+0200) Subject: bus: report builtins in GetManagedObjects() (#5799) X-Git-Tag: chiark/234.4-1+devuan1.1+iwj1~152 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=25acc5ac49b65a0592d17af8b20df6689a8d3e65;p=elogind.git bus: report builtins in GetManagedObjects() (#5799) We already report builtin interfaces with InterfacesAdded and InterfacesRemoved. However, we never reported them in GetManagedObjects(). This might end up confusing callers that want to use those interfaces (or simply rely on the interface count to be coherent). Report the builtins for all objects that are queried. --- diff --git a/src/libelogind/sd-bus/bus-objects.c b/src/libelogind/sd-bus/bus-objects.c index 38fc029b5..7e2c9a19a 100644 --- a/src/libelogind/sd-bus/bus-objects.c +++ b/src/libelogind/sd-bus/bus-objects.c @@ -1057,6 +1057,22 @@ static int object_manager_serialize_path( if (r < 0) return r; + r = sd_bus_message_append(reply, "{sa{sv}}", "org.freedesktop.DBus.Peer", 0); + if (r < 0) + return r; + + r = sd_bus_message_append(reply, "{sa{sv}}", "org.freedesktop.DBus.Introspectable", 0); + if (r < 0) + return r; + + r = sd_bus_message_append(reply, "{sa{sv}}", "org.freedesktop.DBus.Properties", 0); + 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; }