mirror of
https://github.com/systemd/systemd.git
synced 2024-11-08 11:27:32 +03:00
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).
This commit is contained in:
parent
79b04ad7d4
commit
9ee7a50c0b
@ -2945,10 +2945,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
|
||||
|
Loading…
Reference in New Issue
Block a user