chiark / gitweb /
mkdir: append _label to all mkdir() calls that explicitly set the selinux context
[elogind.git] / src / test / test-udev.c
index b843e5f6481e7464f59ba4e364ce5da3f5b1df57..bd9c05903790b1aaff54f276d467c009f1939aa0 100644 (file)
@@ -45,12 +45,13 @@ int main(int argc, char *argv[])
         const char *action;
         sigset_t mask, sigmask_orig;
         int err = -EINVAL;
+        const char *prefixes[] = { "/dev", "/run", NULL };
 
         udev = udev_new();
         if (udev == NULL)
                 exit(EXIT_FAILURE);
         log_debug("version %s\n", VERSION);
-        udev_selinux_init(udev);
+        label_init(prefixes);
 
         sigprocmask(SIG_SETMASK, NULL, &sigmask_orig);
 
@@ -96,7 +97,7 @@ int main(int argc, char *argv[])
                         mode |= S_IFCHR;
 
                 if (strcmp(action, "remove") != 0) {
-                        util_create_path(udev, udev_device_get_devnode(dev));
+                        mkdir_parents_label(udev_device_get_devnode(dev), 0755);
                         mknod(udev_device_get_devnode(dev), mode, udev_device_get_devnum(dev));
                 } else {
                         unlink(udev_device_get_devnode(dev));
@@ -113,7 +114,7 @@ out:
         udev_event_unref(event);
         udev_device_unref(dev);
         udev_rules_unref(rules);
-        udev_selinux_exit(udev);
+        label_finish();
         udev_unref(udev);
         if (err != 0)
                 return EXIT_FAILURE;