]> git.ipfire.org Git - thirdparty/systemd.git/commit
bus: fix pattern matching
authorDavid Herrmann <dh.herrmann@gmail.com>
Wed, 10 Jun 2015 17:34:05 +0000 (19:34 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Wed, 10 Jun 2015 18:22:40 +0000 (20:22 +0200)
commit744dccdd361afff8220221c1d385cf54aeb823e0
treec480c60ef32503da52056d6cfbc7e4209a37d116
parent2e90f867f994a2c9ff3a6d268305ce666420d83b
bus: fix pattern matching

DBus-spec defines two different pattern matchings:

  1) Path and namespace prefix matching. In this case, A matches B either
     if both are equal, or if B is fully included in the namespace of A.
     In other words, A has to be a prefix of B, but end with a separator
     character (or the following character in B must be one).

     This is used for path_namespace= and arg0namespace=

  2) The other pattern matching is used for arg0path= which does a two-way
     matching. That is, A must be a prefix of B, or B a prefix of A.
     Furthermore, the prefix must end with a separator.

Fix the sd-bus helpers to reflect that. The 'simple_' and 'complex_'
prefixes don't make any sense now, but.. eh..
src/libsystemd/sd-bus/bus-internal.c
src/libsystemd/sd-bus/test-bus-kernel-bloom.c
src/libsystemd/sd-bus/test-bus-signature.c