b381de4197
Previously, we only minimally altered the dbus1 framing for kdbus, and while the header and its fields where compliant Gvariant objects, and so was the body, the entire message together was not. As result of discussions with Ryan Lortie this is now changed, so that the messages in there entirely are fully compliant GVariants. This follows the framing description described here: https://wiki.gnome.org/Projects/GLib/GDBus/Version2 Note that this change changes the framing of *all* messages sent via kdbus, this means you have to reboot your kdbus system, after compiling and installing this new version.
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
Known differences between dbus1 and kdbus:
|
|
|
|
- NameAcquired/NameLost is gone entirely on kdbus backends if
|
|
libsystemd is used. It is still added in by systemd-bus-proxyd
|
|
for old dbus1 clients, and it is available if libsystemd is used
|
|
against the classic dbus1 daemon. If you want to write compatible
|
|
code with libsystem-bus you need to explicitly subscribe to
|
|
NameOwnerChanged signals and just ignore NameAcquired/NameLost
|
|
|
|
- Applications have to deal with spurious signals they didn't expect,
|
|
due to the probabilistic bloom filters. They need to handle this
|
|
anyway, given that any client can send anything to arbitrary clients
|
|
anyway, even in dbus1, so not much changes.
|
|
|
|
- clients of the system bus when kdbus is used must roll their own
|
|
security. Only legacy dbus1 clients get the old XML policy enforced,
|
|
which is implemented by systemd-bus-proxyd.
|
|
|
|
- Serial numbers of synthesized messages are always (uint32_t) -1.
|
|
|
|
- NameOwnerChanged is a synthetic message, generated locally and not
|
|
by the driver. On dbus1 only the Disconnected message was
|
|
synthesized like this.
|
|
|
|
- There's no standard per-session bus anymore. Only a per-user bus.
|