]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared: clean up mkdir.h/label.h situation 21326/head
authorLennart Poettering <lennart@poettering.net>
Fri, 12 Nov 2021 14:44:50 +0000 (15:44 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 16 Nov 2021 16:03:28 +0000 (17:03 +0100)
Previously the mkdir_label() family of calls was implemented in
src/shared/mkdir-label.c but its functions partly declared ins
src/shared/label.h and partly in src/basic/mkdir.h (!!). That's weird
(and wrong).

Let's clean this up, and add a proper mkdir-label.h matching the .c
file.

58 files changed:
src/basic/mkdir.h
src/core/automount.c
src/core/core-varlink.c
src/core/dbus.c
src/core/execute.c
src/core/generator-setup.c
src/core/main.c
src/core/manager.c
src/core/mount.c
src/core/namespace.c
src/core/path.c
src/core/socket.c
src/core/unit.c
src/coredump/coredump.c
src/debug-generator/debug-generator.c
src/getty-generator/getty-generator.c
src/hibernate-resume/hibernate-resume-generator.c
src/import/import-fs.c
src/import/import-raw.c
src/import/import-tar.c
src/import/importd.c
src/import/pull-raw.c
src/import/pull-tar.c
src/locale/keymap-util.c
src/login/logind-dbus.c
src/login/logind-inhibit.c
src/login/logind-seat.c
src/login/logind-session.c
src/login/logind-user.c
src/login/logind.c
src/login/user-runtime-dir.c
src/machine/machine.c
src/machine/machined.c
src/network/networkd.c
src/nspawn/nspawn-mount.c
src/rc-local-generator/rc-local-generator.c
src/resolve/resolved.c
src/shared/ask-password-api.c
src/shared/copy.c
src/shared/dev-setup.c
src/shared/dissect-image.c
src/shared/generator.c
src/shared/hwdb-util.c
src/shared/install.c
src/shared/label.h
src/shared/meson.build
src/shared/mkdir-label.c
src/shared/mkdir-label.h [new file with mode: 0644]
src/shared/mount-setup.c
src/shared/mount-util.c
src/shared/socket-label.c
src/shared/switch-root.c
src/systemctl/systemctl-edit.c
src/test/test-udev.c
src/timesync/timesyncd.c
src/tmpfiles/tmpfiles.c
src/tty-ask-password-agent/tty-ask-password-agent.c
src/udev/udev-node.c

index 837e493c6b2b5ac01c324cfa6e80a5d8ab11420c..34a52275778302893f7ceff970a20b26935e25db 100644 (file)
@@ -9,21 +9,16 @@ typedef enum MkdirFlags {
 } MkdirFlags;
 
 int mkdirat_errno_wrapper(int dirfd, const char *pathname, mode_t mode);
+
 int mkdir_safe(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
 int mkdir_parents(const char *path, mode_t mode);
 int mkdir_parents_safe(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
 int mkdir_p(const char *path, mode_t mode);
 int mkdir_p_safe(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
+int mkdir_p_root(const char *root, const char *p, uid_t uid, gid_t gid, mode_t m);
 
-/* mandatory access control(MAC) versions */
-int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
-int mkdir_parents_label(const char *path, mode_t mod);
-int mkdir_p_label(const char *path, mode_t mode);
-
-/* internally used */
+/* The following are used to implement the mkdir_xyz_label() calls, don't use otherwise. */
 typedef int (*mkdirat_func_t)(int dir_fd, const char *pathname, mode_t mode);
 int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdirat_func_t _mkdir);
 int mkdir_parents_internal(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdirat_func_t _mkdir);
 int mkdir_p_internal(const char *prefix, const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdirat_func_t _mkdir);
-
-int mkdir_p_root(const char *root, const char *p, uid_t uid, gid_t gid, mode_t m);
index 550a350a455e431ec0fe481dbfdb9e87701942d4..0bb58fdcd150cfcd9afca8088d280c94863c230b 100644 (file)
@@ -21,7 +21,7 @@
 #include "format-util.h"
 #include "io-util.h"
 #include "label.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mount.h"
 #include "mountpoint-util.h"
index ab0d45538048161cb3b54ec388b02542fbf58770..8c54cc0663ecec387c6e6e84ad848b487088cea0 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
 #include "core-varlink.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "strv.h"
 #include "user-util.h"
 #include "varlink.h"
index f876433c00e4cd8795bf07d6fa948ec07089cf4a..2c5bda58f98816c8060eba13fa7bceb4c65fcef1 100644 (file)
@@ -33,7 +33,7 @@
 #include "fd-util.h"
 #include "fs-util.h"
 #include "log.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "process-util.h"
 #include "selinux-access.h"
 #include "serialize.h"
index 6192a2d33ebdc75af5ad604ff6594fe4f4dfb144..ba66b9e6ece2f40ed25d118557da72f323df05cf 100644 (file)
@@ -71,7 +71,7 @@
 #include "memory-util.h"
 #include "missing_fs.h"
 #include "missing_ioprio.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "namespace.h"
index 917395173545bb6e09d4a5f04dc4136b88df9ac8..00d6ad61fa0d9b2dea4c648a453a82f082225c5c 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "generator-setup.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "rm-rf.h"
 
 int lookup_paths_mkdir_generator(LookupPaths *p) {
index 72dd199ddb6f87195c0701a9bd7c316cca79d03c..57aedb9b93b459cc5ef95df9c1002d3e6ebfd6a2 100644 (file)
@@ -60,7 +60,7 @@
 #include "manager.h"
 #include "manager-dump.h"
 #include "manager-serialize.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-setup.h"
 #include "os-util.h"
 #include "pager.h"
index b21747daeae92c412c6376155c763dbf2cf2dd3b..c94f032cc05ec26712f04f74c9722add836feb4f 100644 (file)
@@ -58,7 +58,7 @@
 #include "manager-dump.h"
 #include "manager-serialize.h"
 #include "memory-util.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-lookup.h"
 #include "path-util.h"
index 4f76b552c22f30595ef4ea554fd989a17fb9d967..90b11347f71dc95e284f150a384f7e4d3d651330 100644 (file)
@@ -17,7 +17,7 @@
 #include "libmount-util.h"
 #include "log.h"
 #include "manager.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-setup.h"
 #include "mount.h"
 #include "mountpoint-util.h"
index c01975b9de2c7a8b42629afe02bcd3a6ea72d4f4..a84060c68261eaf37a74b9229726d832b9d7cb2b 100644 (file)
@@ -21,7 +21,7 @@
 #include "list.h"
 #include "loop-util.h"
 #include "loopback-setup.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "namespace-util.h"
index cdab9dcf8c624bf90479b6189edb2ea722e8eceb..999cecc96c6c76a6a6d12abfe852d4670852d908 100644 (file)
@@ -14,7 +14,7 @@
 #include "glob-util.h"
 #include "inotify-util.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path.h"
 #include "path-util.h"
 #include "serialize.h"
index f265aab5948d8f04ecf76458a6518d43de3f69b5..e6d168188a17404792ba3202158c0736396292a6 100644 (file)
@@ -28,7 +28,7 @@
 #include "ip-protocol-list.h"
 #include "label.h"
 #include "log.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "process-util.h"
index 27d750333258d10bd70148ccde7c1cbde9090cba..fa21b8acb2fd96867c613267453a519ef1dc17fe 100644 (file)
@@ -37,7 +37,7 @@
 #include "log.h"
 #include "macro.h"
 #include "missing_audit.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "process-util.h"
 #include "rm-rf.h"
index 62a622a6cab14c3d9f28e9e763190ba20516b796..27b8f7754b6889d131803b710cede4e825a04140 100644 (file)
@@ -37,7 +37,7 @@
 #include "macro.h"
 #include "main-func.h"
 #include "memory-util.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "process-util.h"
 #include "signal-util.h"
index a8f3422dd48c82f68fe77cd76147b48bd81d26f5..a724ae510d112684454a8b6fa166f095cadd2021 100644 (file)
@@ -5,7 +5,7 @@
 #include "alloc-util.h"
 #include "dropin.h"
 #include "generator.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "proc-cmdline.h"
@@ -138,7 +138,7 @@ static int generate_wants_symlinks(void) {
                 if (!f)
                         return log_oom();
 
-                mkdir_parents_label(p, 0755);
+                (void) mkdir_parents_label(p, 0755);
 
                 if (symlink(f, p) < 0)
                         r = log_error_errno(errno,
index aa5a0a6ddb34322ce9555fcff603544906f05639..b4d4952f9992ef692d3cbef8e2551aea36541648 100644 (file)
@@ -10,7 +10,7 @@
 #include "fileio.h"
 #include "generator.h"
 #include "log.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "process-util.h"
 #include "strv.h"
@@ -31,7 +31,7 @@ static int add_symlink(const char *fservice, const char *tservice) {
         from = strjoina(SYSTEM_DATA_UNIT_DIR "/", fservice);
         to = strjoina(arg_dest, "/getty.target.wants/", tservice);
 
-        mkdir_parents_label(to, 0755);
+        (void) mkdir_parents_label(to, 0755);
 
         r = symlink(from, to);
         if (r < 0) {
index 5e986db2b0489dc126d70fff170f1186726e5204..ee320909ee95a05c5e11b1ee7faaeb51ed6c95a8 100644 (file)
@@ -10,7 +10,7 @@
 #include "generator.h"
 #include "log.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "proc-cmdline.h"
 #include "special.h"
 #include "string-util.h"
@@ -84,7 +84,7 @@ static int process_resume(void) {
         if (!lnk)
                 return log_oom();
 
-        mkdir_parents_label(lnk, 0755);
+        (void) mkdir_parents_label(lnk, 0755);
         if (symlink(SYSTEM_DATA_UNIT_DIR "/systemd-hibernate-resume@.service", lnk) < 0)
                 return log_error_errno(errno, "Failed to create symlink %s: %m", lnk);
 
index cacd48fe96e83be86e1b8738a15a58a86c177d30..ff7f51a60a94b94da724c8c0bbfcbb5a3f6388a3 100644 (file)
@@ -14,7 +14,7 @@
 #include "import-util.h"
 #include "install-file.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-argument.h"
 #include "ratelimit.h"
 #include "rm-rf.h"
index 153b74d123fa5596b443bb4305c8e81eaa774a79..a0208e505cfcdbef6bf09127d2973d4be4c5edb5 100644 (file)
@@ -18,7 +18,7 @@
 #include "install-file.h"
 #include "io-util.h"
 #include "machine-pool.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "qcow2-util.h"
 #include "ratelimit.h"
index 8cbdbaa35f262f3fbc2c1a68bc18903dbc8a4591..f31d3d75a1fc9dfb6d16e0beef4d24f5e5f88321 100644 (file)
@@ -18,7 +18,7 @@
 #include "install-file.h"
 #include "io-util.h"
 #include "machine-pool.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "process-util.h"
 #include "qcow2-util.h"
index 0400d41b14727d4d31f820402b2e3b3c71341c65..66771f63e23c953acf8401e1b91496b8c1a9cd30 100644 (file)
@@ -19,7 +19,7 @@
 #include "machine-pool.h"
 #include "main-func.h"
 #include "missing_capability.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "percent-util.h"
index 6a0c2c8b1778faae636333ef042e6e2e35dc0d2a..0623afcc84bb5fac374373d0f62591efd11a7d23 100644 (file)
@@ -17,7 +17,7 @@
 #include "import-util.h"
 #include "install-file.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "pull-common.h"
 #include "pull-job.h"
index 9608129e5e2a2b31b76046b84d9f15f89073d675..fd866fc514ed1b441fb9464c85b74219f2cce873 100644 (file)
@@ -16,7 +16,7 @@
 #include "import-util.h"
 #include "install-file.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "process-util.h"
 #include "pull-common.h"
index 1bd8f5c0ae64a97029d984e7d6dbf9b3e04588c5..10d2ed7aece239295cd01ec72c6754bc38798646 100644 (file)
@@ -18,7 +18,7 @@
 #include "keymap-util.h"
 #include "locale-util.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "nulstr-util.h"
 #include "process-util.h"
 #include "string-util.h"
index 6e9dde1c15576ab6ac3106767d979e42b3faa80d..331dcd2a05d7c9e26aee4dd4a416b315860d91ba 100644 (file)
@@ -36,7 +36,7 @@
 #include "logind-user-dbus.h"
 #include "logind.h"
 #include "missing_capability.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "process-util.h"
index 1de71c248128f15f16789189bb670a29f0c1064a..dbb58e4ac3e2264cb28e7d217b297548e657585e 100644 (file)
@@ -17,7 +17,7 @@
 #include "io-util.h"
 #include "logind-dbus.h"
 #include "logind-inhibit.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "string-table.h"
index 2d546817457187789df72e6e970d0097a4697f1b..58912b85b359dc279e8e4c772655b8ab8ec7b9b7 100644 (file)
@@ -16,7 +16,7 @@
 #include "logind-seat-dbus.h"
 #include "logind-seat.h"
 #include "logind-session-dbus.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "stdio-util.h"
index d6d67af05a5530b0a7f653283af9281322ac5e14..ab98a5055df017be37e70957845e32d228cbfbb2 100644 (file)
@@ -26,7 +26,7 @@
 #include "logind-session-dbus.h"
 #include "logind-session.h"
 #include "logind-user-dbus.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "process-util.h"
index 5266f557752ce5842b3f68e5a24633a38080d4ee..6d250be321a9f3a190de7a7f3a600b5c96993a19 100644 (file)
@@ -21,7 +21,7 @@
 #include "logind-dbus.h"
 #include "logind-user-dbus.h"
 #include "logind-user.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "percent-util.h"
index 6e1ebbf9c576b8858d27ba806666511f4905bee6..57a8604b7f7791ce38efd453c7e38e0b4d9917cd 100644 (file)
@@ -27,6 +27,7 @@
 #include "logind-user-dbus.h"
 #include "logind.h"
 #include "main-func.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "process-util.h"
 #include "selinux-util.h"
index a1087ed31c9965ae0dbe0b4a2cc4691ef7c09f8f..5ce5b35e178681801cce0c7394be84857ce7060f 100644 (file)
@@ -12,7 +12,7 @@
 #include "label.h"
 #include "limits-util.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "path-util.h"
index a42478e87485b17720346c81ee9b5780bfc4d0d5..80f73da94a8bb496d60ea9d0f0b6c9dd8e740046 100644 (file)
@@ -19,7 +19,7 @@
 #include "hashmap.h"
 #include "machine-dbus.h"
 #include "machine.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "process-util.h"
index 4ab459d3cafe240db21b3d54f0775ef30d74f1c5..6ffa4191ec0da6a550277b1d727ea8650fd1bb57 100644 (file)
 #include "fd-util.h"
 #include "format-util.h"
 #include "hostname-util.h"
-#include "label.h"
 #include "machined-varlink.h"
 #include "machined.h"
 #include "main-func.h"
+#include "mkdir-label.h"
 #include "process-util.h"
 #include "service-util.h"
 #include "signal-util.h"
index d2748852641c4eb04f4168a86f189e7a612dfa94..7d63786f484b8ba40b111b99acf7892eeab44121 100644 (file)
@@ -11,7 +11,7 @@
 #include "daemon-util.h"
 #include "firewall-util.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "networkd-conf.h"
 #include "networkd-manager.h"
 #include "signal-util.h"
index 2bfff79cde573b4a505ad84c4273f4c81fadfbf5..40773d90c13531fa28e1d183ac734d64ecc193c2 100644 (file)
@@ -10,7 +10,7 @@
 #include "format-util.h"
 #include "fs-util.h"
 #include "label.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "nspawn-mount.h"
index 99cffee3ec36ab0274108538eb21651c96af1726..c2b9e642172d74bd45c4b49d8524996ebbc68208 100644 (file)
@@ -6,7 +6,7 @@
 
 #include "generator.h"
 #include "log.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "string-util.h"
 #include "util.h"
 
index 85ab917c4fa9d922f570342c8336ec0b479e8200..d3bc9027522e2965eae0aa7a265c9f20a525cf21 100644 (file)
@@ -11,7 +11,7 @@
 #include "capability-util.h"
 #include "daemon-util.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "resolved-bus.h"
 #include "resolved-conf.h"
 #include "resolved-manager.h"
index 367c1df240f18ba91ef2e9e5aea43fb0c5624bf0..07e301276f7b99c6dcbbf054933505045565904f 100644 (file)
@@ -33,7 +33,7 @@
 #include "macro.h"
 #include "memory-util.h"
 #include "missing_syscall.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "process-util.h"
 #include "random-util.h"
 #include "signal-util.h"
index 51dd08eccd1035ad7214308fb953191fb1c276bf..fd83d74265e185fa2fecabe1abc2494c11ad3176 100644 (file)
@@ -20,6 +20,7 @@
 #include "io-util.h"
 #include "macro.h"
 #include "missing_syscall.h"
+#include "mkdir-label.h"
 #include "mountpoint-util.h"
 #include "nulstr-util.h"
 #include "rm-rf.h"
index 0390abbfdc38b0b103c40f9d813ec719dc5c2a43..a34052451034dfacc697d6aa053142a902afb06f 100644 (file)
@@ -8,6 +8,7 @@
 #include "dev-setup.h"
 #include "label.h"
 #include "log.h"
+#include "mkdir-label.h"
 #include "nulstr-util.h"
 #include "path-util.h"
 #include "umask-util.h"
index 6b2289defa129e7c7ea947fd68d7fbf9b88e6347..18c79915709f2f32073a92b4734f763ee74813a2 100644 (file)
@@ -46,7 +46,7 @@
 #include "hostname-setup.h"
 #include "id128-util.h"
 #include "import-util.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "namespace-util.h"
index 3967edfa0652ea859b37b2db8414718eaee722f9..014b34747db4890d710aa273a0bdcd4f9089ef75 100644 (file)
@@ -13,7 +13,7 @@
 #include "generator.h"
 #include "log.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "special.h"
 #include "specifier.h"
@@ -63,7 +63,7 @@ int generator_add_symlink(const char *dir, const char *dst, const char *dep_type
         from = path_is_absolute(src) ? src : strjoina("../", src);
         to = strjoina(dir, "/", dst, ".", dep_type, "/", basename(src));
 
-        mkdir_parents_label(to, 0755);
+        (void) mkdir_parents_label(to, 0755);
         if (symlink(from, to) < 0)
                 if (errno != EEXIST)
                         return log_error_errno(errno, "Failed to create symlink \"%s\": %m", to);
index d7626aed9561622bb5215d7fd5b8c210613cf49c..a7929bccb09f2fd0cf39b50476e3ec56244aafa5 100644 (file)
@@ -12,7 +12,7 @@
 #include "hwdb-internal.h"
 #include "hwdb-util.h"
 #include "label.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "nulstr-util.h"
 #include "path-util.h"
 #include "sort-util.h"
index 268cbd960264c85bba631d76df549b196d9b13c4..6e77a72bde5f7a70e6fbe0e36f2890a42e595be6 100644 (file)
@@ -26,7 +26,7 @@
 #include "locale-util.h"
 #include "log.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-lookup.h"
 #include "path-util.h"
 #include "rm-rf.h"
@@ -461,7 +461,7 @@ static int create_symlink(
          * the right place, or negative on error.
          */
 
-        mkdir_parents_label(new_path, 0755);
+        (void) mkdir_parents_label(new_path, 0755);
 
         if (symlink(old_path, new_path) >= 0) {
                 unit_file_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
index b198e140d047c0f8a37b90d1053ae596f57b4d21..ec5160284dd73ceb92eae1971d4fc1d24d9d28e7 100644 (file)
@@ -15,12 +15,6 @@ static inline int label_fix(const char *path, LabelFixFlags flags) {
         return label_fix_container(path, path, flags);
 }
 
-int mkdirat_label(int dirfd, const char *path, mode_t mode);
-
-static inline int mkdir_label(const char *path, mode_t mode) {
-        return mkdirat_label(AT_FDCWD, path, mode);
-}
-
 int symlink_label(const char *old_path, const char *new_path);
 int symlink_atomic_label(const char *from, const char *to);
 int mknod_label(const char *pathname, mode_t mode, dev_t dev);
index 1fd1d711b01f3d5ca04825b0bf7191378af9cd9c..00485e654342e0add414a9b5ee87352656606341 100644 (file)
@@ -209,6 +209,7 @@ shared_sources = files('''
         macvlan-util.h
         main-func.h
         mkdir-label.c
+        mkdir-label.h
         mkfs-util.c
         mkfs-util.h
         module-util.h
index 3c332d10074cdc82decf125a9ff662351662dc06..d36a6466d774aa7aee2e849c5c8b5e6e8c6b1e27 100644 (file)
@@ -1,13 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
-#include <stdio.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "label.h"
-#include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "selinux-util.h"
 #include "smack-util.h"
 #include "user-util.h"
diff --git a/src/shared/mkdir-label.h b/src/shared/mkdir-label.h
new file mode 100644 (file)
index 0000000..0b1a389
--- /dev/null
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <fcntl.h>
+#include <sys/types.h>
+
+#include "mkdir.h"
+
+int mkdirat_label(int dirfd, const char *path, mode_t mode);
+
+static inline int mkdir_label(const char *path, mode_t mode) {
+        return mkdirat_label(AT_FDCWD, path, mode);
+}
+
+int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags);
+int mkdir_parents_label(const char *path, mode_t mod);
+int mkdir_p_label(const char *path, mode_t mode);
index da6bf2742637d266715156bbae021b384787c411..79179684975eb267cef0f96791bc611374a568e4 100644 (file)
@@ -20,7 +20,7 @@
 #include "label.h"
 #include "log.h"
 #include "macro.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-setup.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
index fcc900bdce677e45c2e95d295ebf40e13b3e2963..8d4a6cd25a3693620e2b181c0190dbee69ec6f21 100644 (file)
@@ -22,7 +22,7 @@
 #include "libmount-util.h"
 #include "missing_mount.h"
 #include "missing_syscall.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "namespace-util.h"
index 1669dec50e3ea5463e9f5ed34a2bc6114dcbdae3..8094ad764345f2da96019617f37689f7eca92b94 100644 (file)
@@ -14,7 +14,7 @@
 #include "log.h"
 #include "macro.h"
 #include "missing_socket.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "selinux-util.h"
 #include "socket-util.h"
 #include "umask-util.h"
index 7edb9d7ff273e32f0b1374206ea34e22b9c0296d..99cd574197305bf48b1be532a0e32c4cdc3bddf7 100644 (file)
@@ -13,7 +13,7 @@
 #include "fd-util.h"
 #include "log.h"
 #include "missing_syscall.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "path-util.h"
index 2503bddb96cc56c6a720c28c72e876555ece5add..b59a67ac22f699fabb70dd1cc13d14ba237f3eb7 100644 (file)
@@ -5,7 +5,7 @@
 #include "fd-util.h"
 #include "fileio.h"
 #include "fs-util.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "pager.h"
 #include "path-util.h"
 #include "pretty-print.h"
index 1a113a94c3cb8c41231cadb417f2401562b9f15f..c0e779a813b6e8f81cbcc5a3837ddfc2e0854798 100644 (file)
@@ -15,7 +15,7 @@
 #include "fs-util.h"
 #include "log.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "namespace-util.h"
 #include "selinux-util.h"
index 94e99b42de054fb8bf23b998d34fecd460082423..6f316746f5889453c496b63845f7895167ae7516 100644 (file)
@@ -12,7 +12,7 @@
 #include "fd-util.h"
 #include "fs-util.h"
 #include "main-func.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "network-util.h"
 #include "process-util.h"
 #include "signal-util.h"
index d6206ffd6afe992a0bfec88506430d953cebfb89..4f1ce1f73fc62876ada9a5c7688f5ed38ecd45b2 100644 (file)
@@ -42,7 +42,7 @@
 #include "main-func.h"
 #include "missing_stat.h"
 #include "missing_syscall.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "mount-util.h"
 #include "mountpoint-util.h"
 #include "offline-passwd.h"
index 37cfd8bb72c3785e04e1e5a7d6f2c4ef8b0fb2b4..56110ba37551d6b82bf61b2c4c5292dffbd09d45 100644 (file)
@@ -30,7 +30,7 @@
 #include "macro.h"
 #include "main-func.h"
 #include "memory-util.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "path-util.h"
 #include "pretty-print.h"
 #include "process-util.h"
index 809db14e60753d5141a4e3d9849191c7d50b243b..760c3a4448c20cea8ab18371b0456cd170fb8bf6 100644 (file)
@@ -17,7 +17,7 @@
 #include "format-util.h"
 #include "fs-util.h"
 #include "hexdecoct.h"
-#include "mkdir.h"
+#include "mkdir-label.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "random-util.h"