From: Simon McVittie Date: Fri, 3 Jul 2015 12:50:04 +0000 (+0100) Subject: dbus-monitor: disable automatic handling of o.fd.Peer messages X-Git-Tag: dbus-1.9.18~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d9ee040d0bff2b421bca80c2339dcd9347d906db;p=thirdparty%2Fdbus.git 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 --- diff --git a/tools/dbus-monitor.c b/tools/dbus-monitor.c index 9cec0a7a0..483d42eec 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)) {