X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fmkdir-label.c;h=76bbc1edda11b9e4eef6040fb6a56f1a389a19a1;hp=2b9cb161cb2829cca6095290c0165aae8abd4a01;hb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;hpb=6baa7db00812437bbc87e73faa1a11b6cf631958 diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c index 2b9cb161c..76bbc1edd 100644 --- a/src/shared/mkdir-label.c +++ b/src/shared/mkdir-label.c @@ -20,56 +20,20 @@ along with systemd; If not, see . ***/ -#include -#include #include -#include -#include #include #include "label.h" -#include "util.h" -#include "path-util.h" #include "mkdir.h" -static int label_mkdir(const char *path, mode_t mode) { - int r; - - if (mac_selinux_use()) { - r = mac_selinux_mkdir(path, mode); - if (r < 0) - return r; - } - - if (mac_smack_use()) { - r = mkdir(path, mode); - if (r < 0 && errno != EEXIST) - return -errno; - - r = mac_smack_relabel_in_dev(path); - if (r < 0) - return r; - } - - r = mkdir(path, mode); - if (r < 0 && errno != EEXIST) - return -errno; - - return 0; -} - -int mkdir_label(const char *path, mode_t mode) { - return label_mkdir(path, mode); -} - int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid) { - return mkdir_safe_internal(path, mode, uid, gid, label_mkdir); + return mkdir_safe_internal(path, mode, uid, gid, mkdir_label); } int mkdir_parents_label(const char *path, mode_t mode) { - return mkdir_parents_internal(NULL, path, mode, label_mkdir); + return mkdir_parents_internal(NULL, path, mode, mkdir_label); } int mkdir_p_label(const char *path, mode_t mode) { - return mkdir_p_internal(NULL, path, mode, label_mkdir); + return mkdir_p_internal(NULL, path, mode, mkdir_label); }