diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-12-16 13:32:42 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2018-05-30 07:49:41 +0200 |
commit | b20c01866c4794e5a4fc1cce1b81f23aa21157ab (patch) | |
tree | 66d91804a79e509048db47319a985eaf896557b3 /src/basic/mkdir-label.c | |
parent | d881a6555a3ffc74fe825d3df0b9a3a272b71d58 (diff) |
Move mkdir_label() to mkdir-label.c
It just seems strange to have it in a different file if mkdir-label.c exists.
Diffstat (limited to 'src/basic/mkdir-label.c')
-rw-r--r-- | src/basic/mkdir-label.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/basic/mkdir-label.c b/src/basic/mkdir-label.c index 7a2287f4a..59ba85b85 100644 --- a/src/basic/mkdir-label.c +++ b/src/basic/mkdir-label.c @@ -20,11 +20,32 @@ ***/ #include <stdio.h> +//#include <sys/stat.h> #include <sys/types.h> #include <unistd.h> #include "label.h" +//#include "macro.h" #include "mkdir.h" +//#include "selinux-util.h" +//#include "smack-util.h" + +int mkdir_label(const char *path, mode_t mode) { + int r; + + assert(path); + + r = mac_selinux_create_file_prepare(path, S_IFDIR); + if (r < 0) + return r; + + r = mkdir_errno_wrapper(path, mode); + mac_selinux_create_file_clear(); + if (r < 0) + return r; + + return mac_smack_fix(path, false, false); +} int mkdir_safe_label(const char *path, mode_t mode, uid_t uid, gid_t gid, bool follow_symlink) { return mkdir_safe_internal(path, mode, uid, gid, follow_symlink, mkdir_label); |