]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
dbus-monitor: disable automatic handling of o.fd.Peer messages
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 3 Jul 2015 12:50:04 +0000 (13:50 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 21 Jul 2015 15:50:48 +0000 (16:50 +0100)
A normal DBusConnection will automatically reply to o.fd.Peer
messages such as Ping. We don't want this: if we are using
traditional eavesdropping with an older dbus-daemon, we'll
confuse everyone else by replying to messages that weren't
intended for us. If we are using the new Monitoring
interface (since 1.9.12), the same still applies, but in
addition, the dbus-daemon will disconnect us for not being
a well-behaved monitor.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=90952
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
tools/dbus-monitor.c

index 9cec0a7a0c7f491bf253079aae6041d6b73c8ee1..483d42eecc7181c474941e47bfcfa7970aba10ac 100644 (file)
@@ -483,6 +483,11 @@ main (int argc, char *argv[])
       exit (1);
     }
 
+  /* Receive o.fd.Peer messages as normal messages, rather than having
+   * libdbus handle them internally, which is the wrong thing for
+   * a monitor */
+  dbus_connection_set_route_peer_messages (connection, TRUE);
+
   if (!dbus_connection_add_filter (connection, filter_func,
                                    _DBUS_INT_TO_POINTER (binary_mode), NULL))
     {