On Wed, Sep 18, 2019 at 11:13:47AM +0300, Jussi Laakkonen wrote:
This addresses the issue of not being able to cancel agent queries
case the query timeouts or when component (e.g., a VPN plugin) has
requested something via agent and the component dies when the query is
still active. As a result the queries are stacked on top of another if
the agent creates new one for every query.
It is imperative to always set the driver for the message to be queued
via agent.c because otherwise sending cancel request will fail. This is
because the cancel request would be sent to a NULL interface as driver
is omitted. In this case, following is logged:
connman-vpnd: src/agent.c:send_cancel_request() send cancel req to
:1.2951 /org/agent/path/vpnagent iface (null)
dbus-daemon: [system] Rejected send message, 2 matched rules;
type="method_call", sender=":1.3387" (uid=0 pid=4835
comm="/usr/sbin/connman-vpnd -d -n") interface="(unset)"
error name="(unset)" requested_reply="0"
(uid=100000 pid=27084 comm="/usr/bin/agent")
Patch applied. As usual, excellent commit message!