Null Value Type?

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Aug 6 04:11:04 PDT 2007


On Sun, 05 Aug 2007 at 12:49:24 +0100, jamie wrote:
> this would not break anything as it would be a new data type - is this
> feasible to have in a future dbus version?

This was one of a number of D-Bus enhancements suggested at GUADEC.

This opens the same can of worms that the float32 type does, though:
apps can't send a type that the bus daemon doesn't understand without being
forcibly disconnected from the bus daemon, and if an app receives a type
that *it* doesn't understand, it'll disconnect itself from the bus
daemon. So, we need either some sort of feature negotiation, or a new
protocol version.

It's perhaps unfortunate that libdbus doesn't respond more gracefully to
incompatible messages, e.g. returning an error and dropping the message
(the message header contains the number of bytes to skip, so you could do
this as long as the first 8 bytes of the message header remain
compatible in future versions), but the current behaviour is specified
for security reasons.

Havoc, would you mind reminding me what those security reasons are?
Alternatively, if we specify that the first 8 bytes will never change their
meaning, then implementations have enough information to discard "future"
messages safely. We could even spec an error
org.freedesktop.DBus.Errors.ProtocolNotSupported for this case.

	Simon


More information about the dbus mailing list