chiark / gitweb /
acl: two tag matching is not going to be available in libudev
authorLennart Poettering <lennart@poettering.net>
Fri, 8 Jul 2011 19:44:22 +0000 (21:44 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 8 Jul 2011 19:44:22 +0000 (21:44 +0200)
TODO
src/logind-acl.c
src/logind-dbus.c

diff --git a/TODO b/TODO
index f8d9146b7b472743bd1af32ff94f74a24f640ebe..e74148b66d6af1937b1ab62b5d9db5d970f2d551 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,6 +20,8 @@ F15 External:
 
 Features:
 
+* Remove kill_mode parameter to kill bus calls
+
 * Fix nspawn to not read-only mount /selinux on the host system
 
 * make sure people don't leave processes around after ExecStartPre=
index 59af981a5ecb5d33c56830e4a877af4dab288f4d..2aa5866ccd579315f57d2105da6f2fc804106696 100644 (file)
@@ -229,18 +229,16 @@ int devnode_acl_all(struct udev *udev,
         if (!e)
                 return -ENOMEM;
 
+        /* We can only match by one tag in libudev. We choose
+         * "uaccess" for that. If we could match for two tags here we
+         * could add the seat name as second match tag, but this would
+         * be hardly optimizable in libudev, and hence checking the
+         * second tag manually in our loop is a good solution. */
+
         r = udev_enumerate_add_match_tag(e, "uaccess");
         if (r < 0)
                 goto finish;
 
-        /* FIXME: when libudev is able to handle multiple match tags
-         * properly, optimize the search here a bit */
-        /* if (!streq(seat, "seat0")) { */
-        /*         r = udev_enumerate_add_match_tag(e, seat); */
-        /*         if (r < 0) */
-        /*                 goto finish; */
-        /* } */
-
         r = udev_enumerate_scan_devices(e);
         if (r < 0)
                 goto finish;
index 95bb07a432e733f0a475269898e1764bf6f87ec6..a2a442ee271732d589e1b7db491f2ae4c25c853e 100644 (file)
@@ -541,6 +541,7 @@ static bool device_has_tag(struct udev_device *d, const char *tag) {
         assert(d);
         assert(tag);
 
+        /* FIXME */
         udev_device_get_is_initialized(d);
 
         first = udev_device_get_tags_list_entry(d);