[zbus-3.4] Regression due to `ObjectServer` change of behavior
Our CI at https://github.com/coreos/zincati/pull/886 caught a regression when updating from zbus-3.3
to zbus-3.4
. Client tests are now timing out when trying to call the server, which is implemented on top of zbus
. From an out-of-band chat, this seems to be due to following change of behavior:
ObjectServer
to only serve methods destined to its connection.
This seems to be an unintended side-effect of the way that the consumer does object-server setup: https://github.com/coreos/zincati/blob/3a4f579a357d4aff56cc6b9a8e512fd105b40564/src/dbus/mod.rs#L36-L54
Moving forward it seems that the following changes would be useful:
- restore previous behavior, by allowing destination to not be checked if no well-known name is registered through the connection
- add a
ConnectionBuilder::name_with_flags()
method, so that both name and behavior-flags can be specified, without the need to go throughDBusProxy::request_name()