From: John (J5) Palmieri Date: Wed, 7 Jun 2006 20:07:34 +0000 (+0000) Subject: * bus/bus.c: Fix eavesdropping on method calls X-Git-Tag: dbus-0.62~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d062db4c27d7937ca0fb5367cb5a467554d47ee8;p=platform%2Fupstream%2Fdbus.git * bus/bus.c: Fix eavesdropping on method calls --- diff --git a/ChangeLog b/ChangeLog index 873f313..b25865a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-06-07 John (J5) Palmieri + * bus/bus.c: Fix eavesdropping on method calls + +2006-06-07 John (J5) Palmieri + * configure.in: * dbus/dbus-userdb-util.c: Add Solaris console owner patch from Artem Kachitchkine diff --git a/bus/bus.c b/bus/bus.c index 8e4f0ea..5c27708 100644 --- a/bus/bus.c +++ b/bus/bus.c @@ -1355,21 +1355,21 @@ bus_context_check_security_policy (BusContext *context, return FALSE; } - if (type == DBUS_MESSAGE_TYPE_METHOD_CALL) + /* Record that we will allow a reply here in the future (don't + * bother if the recipient is the bus or this is an eavesdropping + * connection). Only the addressed recipient may reply. + */ + if (type == DBUS_MESSAGE_TYPE_METHOD_CALL && + sender && + addressed_recipient && + addressed_recipient == proposed_recipient && /* not eavesdropping */ + !bus_connections_expect_reply (bus_connection_get_connections (sender), + transaction, + sender, addressed_recipient, + message, error)) { - /* Record that we will allow a reply here in the future (don't - * bother if the recipient is the bus). Only the addressed recipient - * may reply. - */ - if (sender && addressed_recipient && - !bus_connections_expect_reply (bus_connection_get_connections (sender), - transaction, - sender, addressed_recipient, - message, error)) - { - _dbus_verbose ("Failed to record reply expectation or problem with the message expecting a reply\n"); - return FALSE; - } + _dbus_verbose ("Failed to record reply expectation or problem with the message expecting a reply\n"); + return FALSE; } _dbus_verbose ("security policy allowing message\n");