mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-28 06:35:34 +07:00
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.
This commit is contained in:
parent
3c4b1738a9
commit
5c3ebbf35a
@ -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"
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user