[systemd-devel] systemd-bus-proxyd policy differences from dbus-daemon?

Matt Hoosier matt.hoosier at gmail.com
Fri Feb 10 22:39:46 UTC 2017


I'm trying to figure out the root cause of some failures of regular old
libdbus1-using programs when /var/run/dbus/system_bus_socket happens to be
provided by systemd-bus-proxyd.

The programs in question attempt to invoke org.freedesktop.DBus.AddMatch()
with the rule-parameter having the value:


"type='signal',member='NameOwnerChanged',interface='org.freedesktop.DBus',path='/org/freedesktop/DBus',eavesdrop='false'".

On a regular (non-kdbus) system, this doesn't cause dbus-daemon to raise
its eyebrows, and the call succeeds. On a kdbus system, the bus proxy
daemon reports back SD_BUS_ERROR_INVALID_ARGS (i.e.,
"org.freedesktop.DBus.Error.InvalidArgs" in the dbus wire protocol
parlance).  The source code to the bus proxy daemon seems to only reach
this error condition when it judges the method request to have the wrong
signature -- something other than a single in-parameter string. But that's
not the case here as nearly as I can tell.

Any chance that systemd-bus-proxyd has some nonobvious hard-wired allergy
to the presence of the 'eavesdrop' attribute in that rule-string?

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20170210/52c6e4b2/attachment.html>


More information about the systemd-devel mailing list