From d9ee040d0bff2b421bca80c2339dcd9347d906db Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 3 Jul 2015 13:50:04 +0100 Subject: dbus-monitor: disable automatic handling of o.fd.Peer messages 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 Reviewed-by: Philip Withnall --- tools/dbus-monitor.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/dbus-monitor.c b/tools/dbus-monitor.c index 9cec0a7a..483d42ee 100644 --- a/tools/dbus-monitor.c +++ b/tools/dbus-monitor.c @@ -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)) { -- cgit v1.2.1