#2339 IFP: support multiple interfaces for object
Closed: Fixed Opened by pbrezina.

D-Bus in general allow an object to implement multiple interfaces. For example

Object: /org/example/object
Interface: org.example.InterfaceA
Interface: org.example.InterfaceB
dbus-send ... /org/example/object org.freedesktop.DBus.Properties.GetAll \
              string:org.example.InterfaceA
dbus-send ... /org/example/object org.freedesktop.DBus.Properties.GetAll \
              string:org.example.InterfaceB
Will yield different set of properties.

SBUS basically doesn't work with interfaces at all at the moment. It chooses the message handler to be invoked by object path only and check if the object path matches the only one registered interface.

However, it should support allowing to register more than one interfaces per object and the message routing should be like:

  1. Get object path from D-Bus message
  2. Get interface from D-Bus message
  3. Get list of interfaces associated with this object path
  4. If interface not found in list then fail
  5. Execute handler associated with both interface and object

The scope of changes outlined above make me think this is 1.13 material, not 1.12.x

Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.13 beta

Fields changed

rhbz: => 0

Fields changed

mark: => 0

Fields changed

owner: somebody => pbrezina
status: new => assigned

Fields changed

patch: 0 => 1

This ticket has patches on list and is required for other DBus work.

milestone: SSSD 1.13 beta => SSSD 1.13 alpha

  • master: 46ee931314e6a5517f5c6b6b14f759364be119cc

resolution: => fixed
status: assigned => closed

Metadata Update from @pbrezina:
- Issue assigned to pbrezina
- Issue set to the milestone: SSSD 1.13 alpha

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/3381

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata