chiark / gitweb /
sd-bus: when credentials of the "org.freedesktop.DBus" service are queried return...
authorLennart Poettering <lennart@poettering.net>
Mon, 26 Jun 2017 16:24:58 +0000 (18:24 +0200)
committerSven Eden <yamakuzure@gmx.net>
Tue, 25 Jul 2017 07:46:53 +0000 (09:46 +0200)
The bus driver service is always implemented by the owner of the bus,
hence let's shortcut the credential operation and use our cached data.
This makes sure things simply work, given that dbus itself doesn't
support GetConnectionSELinuxSecurityContext() on the bus driver name
itself.

Fixes: #6120
src/libelogind/sd-bus/bus-control.c

index 609904940c2d7950c5b187433c7d96a4dd4c14e4..4fd1d79cccecf7398cca461b9bfb37603b324e2e 100644 (file)
@@ -926,6 +926,9 @@ _public_ int sd_bus_get_name_creds(
         if (streq(name, "org.freedesktop.DBus.Local"))
                 return -EINVAL;
 
+        if (streq(name, "org.freedesktop.DBus"))
+                return sd_bus_get_owner_creds(bus, mask, creds);
+
         if (!BUS_IS_OPEN(bus->state))
                 return -ENOTCONN;