chiark / gitweb /
bus-proxy: fix receiver policy on dbus-1 to kdbus signals
authorDavid Herrmann <dh.herrmann@gmail.com>
Sun, 11 Jan 2015 14:14:14 +0000 (15:14 +0100)
committerDavid Herrmann <dh.herrmann@gmail.com>
Sun, 11 Jan 2015 14:14:14 +0000 (15:14 +0100)
commitb5cfc2b953fca74bf4c42a4e9e38abe72cc26493
treecde15657c775610aef1b50ad340663ad85af8cdc
parentfa188b9b242326731554dbf80f8e118285cc7676
bus-proxy: fix receiver policy on dbus-1 to kdbus signals

If a dbus-1 client sends a broadcasted signal via the bus-proxy to kdbus,
the bus-proxy has no idea who the receiver is. Classic dbus-daemon has
bus-access and can perform policy checks for each receiver, but we cant.
Instead, we know the kernel will perform receiver policy checks for
broadcasts, so we can skip the policy check and just push it into the
kernel.

This fixes wpa_supplicant which has DENY rules on receive_type=signal for
non-root. As we never know the target, we always DENY all broadcasts from
wpa_supplicant.

Note that will still perform receiver-policy checks for signals that we
get from the kernel back to us. In those cases, we know the receiver
(which is us).
src/bus-proxyd/bus-proxyd.c