diff options
author | Daniel Mack <github@zonque.org> | 2015-08-04 14:27:09 +0200 |
---|---|---|
committer | Daniel Mack <github@zonque.org> | 2015-08-04 14:27:09 +0200 |
commit | ee80b4b2977186883aab6b90adcb87c7a4b24ea3 (patch) | |
tree | fc00d0ef4918737450f6872cd9b547db27bd1804 /src/basic/smack-util.h | |
parent | 5977db2a3acd86214ad214fe692fd354f46c5955 (diff) | |
parent | e419a0e31089994ecd1d9019c791e63d13b37584 (diff) |
Merge pull request #860 from walyong/smack_v11
Smack v11: set only the default smack process label if the command path has no execute label
Diffstat (limited to 'src/basic/smack-util.h')
-rw-r--r-- | src/basic/smack-util.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/basic/smack-util.h b/src/basic/smack-util.h index 50f55b1f4b..1052cecf4c 100644 --- a/src/basic/smack-util.h +++ b/src/basic/smack-util.h @@ -25,12 +25,28 @@ #include <stdbool.h> +#include "macro.h" + +typedef enum SmackAttr { + SMACK_ATTR_ACCESS = 0, + SMACK_ATTR_EXEC = 1, + SMACK_ATTR_MMAP = 2, + SMACK_ATTR_TRANSMUTE = 3, + SMACK_ATTR_IPIN = 4, + SMACK_ATTR_IPOUT = 5, + _SMACK_ATTR_MAX, + _SMACK_ATTR_INVALID = -1, +} SmackAttr; + bool mac_smack_use(void); int mac_smack_fix(const char *path, bool ignore_enoent, bool ignore_erofs); -int mac_smack_apply(const char *path, const char *label); -int mac_smack_apply_fd(int fd, const char *label); +const char* smack_attr_to_string(SmackAttr i) _const_; +SmackAttr smack_attr_from_string(const char *s) _pure_; +int mac_smack_read(const char *path, SmackAttr attr, char **label); +int mac_smack_read_fd(int fd, SmackAttr attr, char **label); +int mac_smack_apply(const char *path, SmackAttr attr, const char *label); +int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label); + int mac_smack_apply_pid(pid_t pid, const char *label); -int mac_smack_apply_ip_in_fd(int fd, const char *label); -int mac_smack_apply_ip_out_fd(int fd, const char *label); |