summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2015-06-17 19:15:58 +0200
committerSven Eden <yamakuzure@gmx.net>2017-03-14 10:03:48 +0100
commitcd43e1983afeeebd7e5192a0d515f6b26c0ddc8e (patch)
tree97be8057f0488da619fb0430bab7eb0359614f2c /src
parent4fc42b863d4418a315faed84c180ebd16762bbfe (diff)
bus: fix installing DRIVER matches on kdbus
In kdbus we still have to support org.freedesktop.DBus matches even though there is no real bus driver. The reason is that bus-control.c turns NameOwnerChanged matches into proper kdbus matches. If we drop DRIVER matches early, we will never match on name-changes for kdbus. Two ways to fix this: 1) Install DRIVER matches on kdbus (which is the simple way our and which is what this patch does). 2) Properly fix the scope-detection to let NameOwnerChanged matches through (or better: block anything with Member!=NameOwnerChanged).
Diffstat (limited to 'src')
-rw-r--r--src/libelogind/sd-bus/sd-bus.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/libelogind/sd-bus/sd-bus.c b/src/libelogind/sd-bus/sd-bus.c
index 0c18296e1..c57635076 100644
--- a/src/libelogind/sd-bus/sd-bus.c
+++ b/src/libelogind/sd-bus/sd-bus.c
@@ -2942,10 +2942,8 @@ _public_ int sd_bus_add_match(
/* Do not install server-side matches for matches
* against the local service, interface or bus
- * path. Also, when on kdbus don't install driver
- * matches server side. */
- if (scope == BUS_MATCH_GENERIC ||
- (!bus->is_kernel && scope == BUS_MATCH_DRIVER)) {
+ * path. */
+ if (scope != BUS_MATCH_LOCAL) {
if (!bus->is_kernel) {
/* When this is not a kernel transport, we