summaryrefslogtreecommitdiff
path: root/src/basic/smack-util.c
diff options
context:
space:
mode:
authorSangjung Woo <sangjung.woo@samsung.com>2015-09-08 14:58:22 +0900
committerSven Eden <yamakuzure@gmx.net>2017-03-29 10:45:08 +0200
commite50b9bfa20b2f3aa0d29a956b1f9307f0e2a0db0 (patch)
treedb7bad4168fc4ae304e881fcf529c6da9650d5cb /src/basic/smack-util.c
parent9277945f9aca8ed56f8575ab3c6bab5ace859d3a (diff)
smack: introduce new mac_smack_copy() function
This adds a new mac_smack_copy() function in order to read the smack label from the source and apply it to the destination.
Diffstat (limited to 'src/basic/smack-util.c')
-rw-r--r--src/basic/smack-util.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c
index 6d5c20511..9e221d6ea 100644
--- a/src/basic/smack-util.c
+++ b/src/basic/smack-util.c
@@ -185,6 +185,23 @@ int mac_smack_fix(const char *path, bool ignore_enoent, bool ignore_erofs) {
return r;
}
+int mac_smack_copy(const char *dest, const char *src) {
+ int r = 0;
+ _cleanup_free_ char *label = NULL;
+
+ assert(dest);
+ assert(src);
+
+ r = mac_smack_read(src, SMACK_ATTR_ACCESS, &label);
+ if (r < 0)
+ return r;
+
+ r = mac_smack_apply(dest, SMACK_ATTR_ACCESS, label);
+ if (r < 0)
+ return r;
+
+ return r;
+}
#else
bool mac_smack_use(void) {
@@ -214,4 +231,8 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
int mac_smack_fix(const char *path, bool ignore_enoent, bool ignore_erofs) {
return 0;
}
+
+int mac_smack_copy(const char *dest, const char *src) {
+ return 0;
+}
#endif