diff options
author | Sangjung Woo <sangjung.woo@samsung.com> | 2015-09-08 14:58:22 +0900 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-03-29 10:45:08 +0200 |
commit | e50b9bfa20b2f3aa0d29a956b1f9307f0e2a0db0 (patch) | |
tree | db7bad4168fc4ae304e881fcf529c6da9650d5cb /src/basic/smack-util.c | |
parent | 9277945f9aca8ed56f8575ab3c6bab5ace859d3a (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.c | 21 |
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 |