diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2010-03-04 00:48:59 +0100 |
---|---|---|
committer | Martin Pitt <martin.pitt@ubuntu.com> | 2010-03-04 00:48:59 +0100 |
commit | 5c3ebbf35a2c101e0212c7066f0d65e457fcf40c (patch) | |
tree | 627a071d4a127a4dc1007f359d8aae862e017169 /extras/udev-acl | |
parent | 3c4b1738a9d591d7ddce361ea184b76b253c4e87 (diff) |
udev-acl: Correctly handle ENV{ACL_MANAGE}==0
When a custom rule sets ACL_MANAGE to 0 to disable ACL management for a
particular device, handle this as "disabled", by explicitly checking against
"1" instead of "nonempty".
Thanks to RafaĆ Rzepecki for pointing this out.
Diffstat (limited to 'extras/udev-acl')
-rw-r--r-- | extras/udev-acl/70-acl.rules | 2 | ||||
-rw-r--r-- | extras/udev-acl/udev-acl.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules index 8380f53eb3..874667c5b1 100644 --- a/extras/udev-acl/70-acl.rules +++ b/extras/udev-acl/70-acl.rules @@ -69,7 +69,7 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", ENV{ACL_MANAG ENV{COLOR_MEASUREMENT_DEVICE}=="*?", ENV{ACL_MANAGE}="1" # apply ACL for all locally logged in users -LABEL="acl_apply", ENV{ACL_MANAGE}=="?*", TEST=="/var/run/ConsoleKit/database", \ +LABEL="acl_apply", ENV{ACL_MANAGE}=="1", TEST=="/var/run/ConsoleKit/database", \ RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}" LABEL="acl_end" diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c index e670ce707f..c070fccd17 100644 --- a/extras/udev-acl/udev-acl.c +++ b/extras/udev-acl/udev-acl.c @@ -289,7 +289,7 @@ static void apply_acl_to_devices(uid_t uid, int add) /* iterate over all devices tagged with ACL_SET */ udev = udev_new(); enumerate = udev_enumerate_new(udev); - udev_enumerate_add_match_property(enumerate, "ACL_MANAGE", "*"); + udev_enumerate_add_match_property(enumerate, "ACL_MANAGE", "1"); udev_enumerate_scan_devices(enumerate); udev_list_entry_foreach(list_entry, udev_enumerate_get_list_entry(enumerate)) { struct udev_device *device; |