diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/label.c | 4 | ||||
-rw-r--r-- | src/shared/mkdir-label.c | 4 | ||||
-rw-r--r-- | src/shared/selinux-util.c | 34 | ||||
-rw-r--r-- | src/shared/selinux-util.h | 7 | ||||
-rw-r--r-- | src/shared/smack-util.c | 18 | ||||
-rw-r--r-- | src/shared/smack-util.h | 2 |
6 files changed, 35 insertions, 34 deletions
diff --git a/src/shared/label.c b/src/shared/label.c index 4b0960b96c..5124d2c55f 100644 --- a/src/shared/label.c +++ b/src/shared/label.c @@ -23,13 +23,13 @@ int label_fix(const char *path, bool ignore_enoent, bool ignore_erofs) { int r = 0; - if (use_selinux()) { + if (mac_selinux_use()) { r = mac_selinux_fix(path, ignore_enoent, ignore_erofs); if (r < 0) return r; } - if (use_smack()) { + if (mac_smack_use()) { r = mac_smack_relabel_in_dev(path); if (r < 0) return r; diff --git a/src/shared/mkdir-label.c b/src/shared/mkdir-label.c index 965ef7939f..b754a1ed66 100644 --- a/src/shared/mkdir-label.c +++ b/src/shared/mkdir-label.c @@ -33,13 +33,13 @@ static int label_mkdir(const char *path, mode_t mode) { int r; - if (use_selinux()) { + if (mac_selinux_use()) { r = mac_selinux_mkdir(path, mode); if (r < 0) return r; } - if (use_smack()) { + if (mac_smack_use()) { r = mkdir(path, mode); if (r < 0 && errno != EEXIST) return -errno; diff --git a/src/shared/selinux-util.c b/src/shared/selinux-util.c index 1860eeafa6..0584803bc4 100644 --- a/src/shared/selinux-util.c +++ b/src/shared/selinux-util.c @@ -38,24 +38,24 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); #define _cleanup_security_context_free_ _cleanup_(freeconp) #define _cleanup_context_free_ _cleanup_(context_freep) -static int use_selinux_cached = -1; +static int cached_use = -1; static struct selabel_handle *label_hnd = NULL; #endif -bool use_selinux(void) { +bool mac_selinux_use(void) { #ifdef HAVE_SELINUX - if (use_selinux_cached < 0) - use_selinux_cached = is_selinux_enabled() > 0; + if (cached_use < 0) + cached_use = is_selinux_enabled() > 0; - return use_selinux_cached; + return cached_use; #else return false; #endif } -void retest_selinux(void) { +void mac_selinux_retest(void) { #ifdef HAVE_SELINUX - use_selinux_cached = -1; + cached_use = -1; #endif } @@ -66,7 +66,7 @@ int mac_selinux_init(const char *prefix) { usec_t before_timestamp, after_timestamp; struct mallinfo before_mallinfo, after_mallinfo; - if (!use_selinux()) + if (!mac_selinux_use()) return 0; if (label_hnd) @@ -154,7 +154,7 @@ int mac_selinux_fix(const char *path, bool ignore_enoent, bool ignore_erofs) { void mac_selinux_finish(void) { #ifdef HAVE_SELINUX - if (!use_selinux()) + if (!mac_selinux_use()) return; if (label_hnd) @@ -170,7 +170,7 @@ int mac_selinux_get_create_label_from_exe(const char *exe, char **label) { security_context_t mycon = NULL, fcon = NULL; security_class_t sclass; - if (!use_selinux()) { + if (!mac_selinux_use()) { *label = NULL; return 0; } @@ -313,7 +313,7 @@ int mac_selinux_context_set(const char *path, mode_t mode) { #ifdef HAVE_SELINUX security_context_t filecon = NULL; - if (!use_selinux() || !label_hnd) + if (!mac_selinux_use() || !label_hnd) return 0; r = selabel_lookup_raw(label_hnd, &filecon, path, mode); @@ -339,7 +339,7 @@ int mac_selinux_context_set(const char *path, mode_t mode) { int mac_selinux_socket_set(const char *label) { #ifdef HAVE_SELINUX - if (!use_selinux()) + if (!mac_selinux_use()) return 0; if (setsockcreatecon((security_context_t) label) < 0) { @@ -359,7 +359,7 @@ void mac_selinux_context_clear(void) { #ifdef HAVE_SELINUX PROTECT_ERRNO; - if (!use_selinux()) + if (!mac_selinux_use()) return; setfscreatecon(NULL); @@ -371,7 +371,7 @@ void mac_selinux_socket_clear(void) { #ifdef HAVE_SELINUX PROTECT_ERRNO; - if (!use_selinux()) + if (!mac_selinux_use()) return; setsockcreatecon(NULL); @@ -381,7 +381,7 @@ void mac_selinux_socket_clear(void) { void mac_selinux_free(const char *label) { #ifdef HAVE_SELINUX - if (!use_selinux()) + if (!mac_selinux_use()) return; freecon((security_context_t) label); @@ -448,7 +448,7 @@ int mac_selinux_bind(int fd, const struct sockaddr *addr, socklen_t addrlen) { assert(addr); assert(addrlen >= sizeof(sa_family_t)); - if (!use_selinux() || !label_hnd) + if (!mac_selinux_use() || !label_hnd) goto skipped; /* Filter out non-local sockets */ @@ -509,7 +509,7 @@ int mac_selinux_apply(const char *path, const char *label) { int r = 0; #ifdef HAVE_SELINUX - if (!use_selinux()) + if (!mac_selinux_use()) return 0; r = setfilecon(path, (char *)label); diff --git a/src/shared/selinux-util.h b/src/shared/selinux-util.h index e6637f3fe5..d34efb977e 100644 --- a/src/shared/selinux-util.h +++ b/src/shared/selinux-util.h @@ -23,13 +23,14 @@ #include <stdio.h> #include <stdbool.h> -bool use_selinux(void); -void retest_selinux(void); +bool mac_selinux_use(void); +void mac_selinux_retest(void); int mac_selinux_init(const char *prefix); -int mac_selinux_fix(const char *path, bool ignore_enoent, bool ignore_erofs); void mac_selinux_finish(void); +int mac_selinux_fix(const char *path, bool ignore_enoent, bool ignore_erofs); + int mac_selinux_socket_set(const char *label); void mac_selinux_socket_clear(void); diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c index 1b9c7ec93d..0fb2c9db94 100644 --- a/src/shared/smack-util.c +++ b/src/shared/smack-util.c @@ -27,14 +27,14 @@ #include "path-util.h" #include "smack-util.h" -bool use_smack(void) { +bool mac_smack_use(void) { #ifdef HAVE_SMACK - static int use_smack_cached = -1; + static int cached_use = -1; - if (use_smack_cached < 0) - use_smack_cached = access("/sys/fs/smackfs/", F_OK) >= 0; + if (cached_use < 0) + cached_use = access("/sys/fs/smackfs/", F_OK) >= 0; - return use_smack_cached; + return cached_use; #else return false; #endif @@ -43,7 +43,7 @@ bool use_smack(void) { int mac_smack_set_path(const char *path, const char *label) { #ifdef HAVE_SMACK - if (!use_smack()) + if (!mac_smack_use()) return 0; if (label) @@ -57,7 +57,7 @@ int mac_smack_set_path(const char *path, const char *label) { int mac_smack_set_fd(int fd, const char *label) { #ifdef HAVE_SMACK - if (!use_smack()) + if (!mac_smack_use()) return 0; return fsetxattr(fd, "security.SMACK64", label, strlen(label), 0); @@ -68,7 +68,7 @@ int mac_smack_set_fd(int fd, const char *label) { int mac_smack_set_ip_out_fd(int fd, const char *label) { #ifdef HAVE_SMACK - if (!use_smack()) + if (!mac_smack_use()) return 0; return fsetxattr(fd, "security.SMACK64IPOUT", label, strlen(label), 0); @@ -79,7 +79,7 @@ int mac_smack_set_ip_out_fd(int fd, const char *label) { int mac_smack_set_ip_in_fd(int fd, const char *label) { #ifdef HAVE_SMACK - if (!use_smack()) + if (!mac_smack_use()) return 0; return fsetxattr(fd, "security.SMACK64IPIN", label, strlen(label), 0); diff --git a/src/shared/smack-util.h b/src/shared/smack-util.h index 0ccb1fb87c..6a67728c89 100644 --- a/src/shared/smack-util.h +++ b/src/shared/smack-util.h @@ -26,7 +26,7 @@ #define SMACK_FLOOR_LABEL "_" #define SMACK_STAR_LABEL "*" -bool use_smack(void); +bool mac_smack_use(void); int mac_smack_set_path(const char *path, const char *label); int mac_smack_set_fd(int fd, const char *label); |