chiark / gitweb /
pam: rename master user cgroup to 'master'
[elogind.git] / src / tmpfiles.c
index 4953649252a19d3ff94f19320d3f9c7b4b111c17..120236c5cc07490f03724b694e77e831f9987f92 100644 (file)
@@ -182,6 +182,13 @@ static int dir_cleanup(
                         }
 
                 } else {
+                        /* Skip files for which the sticky bit is
+                         * set. These are semantics we define, and are
+                         * unknown elsewhere. See XDG_RUNTIME_DIR
+                         * specification for details. */
+                        if (s.st_mode & S_ISVTX)
+                                continue;
+
                         if (mountpoint) {
                                 if (streq(dent->d_name, ".journal") &&
                                     s.st_uid == 0)
@@ -497,8 +504,9 @@ static int parse_line(const char *fname, unsigned line, const char *buffer, cons
         }
 
         if (i->type != CREATE_FILE &&
-            i->type != CREATE_DIRECTORY &&
             i->type != TRUNCATE_FILE &&
+            i->type != CREATE_DIRECTORY &&
+            i->type != TRUNCATE_DIRECTORY &&
             i->type != IGNORE_PATH &&
             i->type != REMOVE_PATH &&
             i->type != RECURSIVE_REMOVE_PATH) {
@@ -792,5 +800,7 @@ finish:
 
         hashmap_free(items);
 
+        label_finish();
+
         return r;
 }