Monitor fixes

Havoc Pennington hp at redhat.com
Mon Feb 14 08:41:12 PST 2005


On Mon, 2005-02-14 at 14:52 +0100, Anders Carlsson wrote:
> +	      else if (addressed_recipient != proposed_recipient /* eavesdropping */)
> +		requested_reply = TRUE;
> +

There's some earlier code like this:

      if (addressed_recipient == proposed_recipient /* not eavesdropping
*/ &&
          dbus_message_get_reply_serial (message) != 0)
        requested_reply = TRUE;

And of course the existing check:
if (proposed_recipient != NULL /* not to the bus driver */ &&
                  addressed_recipient == proposed_recipient /* not
eavesdropping */)

So the current behavior was definitely intended. 

I think the right change is going to be in either the config file or
bus_client_policy_check_can_receive(). i.e. the default config file
could have:
<allow requested_reply="false"/>, it just does not right now because
such a thing is only useful for dbus-monitor. If you add that line to
the conf file does it solve the problem?

>        if (sender && addressed_recipient &&
> +	  addressed_recipient == proposed_recipient /* not eavesdropping */ &&
>            !bus_connections_expect_reply (bus_connection_get_connections (sender),
>                                           transaction,
>                                           sender, addressed_recipient,

This is a separate bugfix, right - it narrows rather than grows the
number of requested replies that are expected.

Havoc




More information about the dbus mailing list