summaryrefslogtreecommitdiff
path: root/src/basic/mkdir-label.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-12-16 13:32:42 +0100
committerSven Eden <yamakuzure@gmx.net>2018-05-30 07:49:41 +0200
commitb20c01866c4794e5a4fc1cce1b81f23aa21157ab (patch)
tree66d91804a79e509048db47319a985eaf896557b3 /src/basic/mkdir-label.c
parentd881a6555a3ffc74fe825d3df0b9a3a272b71d58 (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.c21
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);