Discussion:
systemd-bus-proxyd policy differences from dbus-daemon?
Add Reply
Matt Hoosier
2017-02-10 22:39:46 UTC
Reply
Permalink
Raw Message
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

Loading...