]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkdir-label: Add mkdir_parents_safe_label()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 28 Jan 2023 14:11:29 +0000 (15:11 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 28 Jan 2023 14:11:29 +0000 (15:11 +0100)
src/shared/mkdir-label.c
src/shared/mkdir-label.h

index 53081d5e173e863bd90ae82627b91ab6a949a5df..e3afc2b666c017c19cf9d15b4e635761bc5efe77 100644 (file)
@@ -33,6 +33,10 @@ int mkdirat_parents_label(int dir_fd, const char *path, mode_t mode) {
         return mkdirat_parents_internal(dir_fd, path, mode, UID_INVALID, UID_INVALID, 0, mkdirat_label);
 }
 
+int mkdir_parents_safe_label(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags) {
+        return mkdir_parents_internal(prefix, path, mode, uid, gid, flags, mkdirat_label);
+}
+
 int mkdir_p_label(const char *path, mode_t mode) {
         return mkdir_p_internal(NULL, path, mode, UID_INVALID, UID_INVALID, 0, mkdirat_label);
 }
index dcbe5bd5468f78f4e5202a26c1fba28b4fead8fc..a9a8ce3a59e63b48220ac47064d757d00b37e643 100644 (file)
@@ -20,4 +20,7 @@ int mkdirat_parents_label(int dir_fd, const char *path, mode_t mod);
 static inline int mkdir_parents_label(const char *path, mode_t mod) {
         return mkdirat_parents_label(AT_FDCWD, path, mod);
 }
+
+int mkdir_parents_safe_label(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
+
 int mkdir_p_label(const char *path, mode_t mode);