GNOME Bugzilla – Bug 656173
GDBusProxy calls GetAll on bus daemon if service isn't running
Last modified: 2011-08-15 16:54:11 UTC
Another bug spotted while trying to write a test-case for Bug #651133. If you run: ( cd gio/tests && G_DBUS_DEBUG=all ./gdbus-proxy-well-known-name ) you can see that in the case where the name com.example.TestService isn't owned yet, the GDBusProxy calls GetAll() with no destination, resulting in an error reply from the peer (the dbus-daemon itself). That's clearly not right! However, if priv->name is NULL, that indicates the special case where we really do want to talk directly to a peer, instead of via the bus daemon (most likely to be used on peer-to-peer connections, but we could even be talking to the bus daemon itself). In that special case, calling GetAll() with no destination is right.
Created attachment 193432 [details] log from gdbus-proxy-well-known-name showing this bug The offending call starts at about line 495.
Created attachment 193433 [details] log with this fixed
Created attachment 193434 [details] [review] patch
Without any reviewer hat: it seems OK
Created attachment 193876 [details] [review] patch v2 (Functionally the same, but Matthias said on Bug #656039 that he wants multi-line comments to end with "*/" on a new line.)
Comment on attachment 193876 [details] [review] patch v2 Committed thanks!