chiark / gitweb /
bus: start maintaining a list of difference between kdbus/dbus1
authorLennart Poettering <lennart@poettering.net>
Thu, 5 Dec 2013 02:16:15 +0000 (03:16 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 5 Dec 2013 02:19:18 +0000 (03:19 +0100)
Makefile.am
src/libsystemd-bus/DIFFERENCES [new file with mode: 0644]

index 194aaa8..7bedd76 100644 (file)
@@ -2027,7 +2027,9 @@ pkgconfiglib_DATA += \
        src/libsystemd-bus/libsystemd-bus.pc
 
 EXTRA_DIST += \
-       src/libsystemd-bus/libsystemd-bus.pc.in
+       src/libsystemd-bus/libsystemd-bus.pc.in \
+       src/libsystemd-bus/DIFFERENCES \
+       src/libsystemd-bus/GVARIANT-SERIALIZATION
 
 lib_LTLIBRARIES += \
        libsystemd-bus.la
diff --git a/src/libsystemd-bus/DIFFERENCES b/src/libsystemd-bus/DIFFERENCES
new file mode 100644 (file)
index 0000000..1c2bf99
--- /dev/null
@@ -0,0 +1,26 @@
+Known differences between dbus1 and kdbus:
+
+- NameAcquired/NameLost is gone entirely on kdbus backends if
+  libsystemd-bus is used. It is still added in by systemd-bus-proxyd
+  for old dbus1 clients, and it is available if libsystemd-bus 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.
+
+- The org.freedesktop.DBus "driver" service is not special on
+  kdbus. It is a bus activated service like any other with its own
+  unique name.
+
+- NameOwnerChanged is a synthetic message, generated locally and not
+  by the driver.