Merge pull request #5883 from garyttierney/fix-selinux

selinux: enable labeling and access checks for unprivileged users
This commit is contained in:
Lennart Poettering
2017-05-17 11:39:44 +02:00
committed by GitHub
11 changed files with 24 additions and 27 deletions
+5 -15
View File
@@ -53,7 +53,7 @@ static struct selabel_handle *label_hnd = NULL;
#define log_enforcing(...) log_full(security_getenforce() == 1 ? LOG_ERR : LOG_DEBUG, __VA_ARGS__)
#endif
bool mac_selinux_have(void) {
bool mac_selinux_use(void) {
#ifdef HAVE_SELINUX
if (cached_use < 0)
cached_use = is_selinux_enabled() > 0;
@@ -64,16 +64,6 @@ bool mac_selinux_have(void) {
#endif
}
bool mac_selinux_use(void) {
if (!mac_selinux_have())
return false;
/* Never try to configure SELinux features if we aren't
* root */
return getuid() == 0;
}
void mac_selinux_retest(void) {
#ifdef HAVE_SELINUX
cached_use = -1;
@@ -205,7 +195,7 @@ int mac_selinux_get_create_label_from_exe(const char *exe, char **label) {
assert(exe);
assert(label);
if (!mac_selinux_have())
if (!mac_selinux_use())
return -EOPNOTSUPP;
r = getcon_raw(&mycon);
@@ -231,7 +221,7 @@ int mac_selinux_get_our_label(char **label) {
assert(label);
#ifdef HAVE_SELINUX
if (!mac_selinux_have())
if (!mac_selinux_use())
return -EOPNOTSUPP;
r = getcon_raw(label);
@@ -255,7 +245,7 @@ int mac_selinux_get_child_mls_label(int socket_fd, const char *exe, const char *
assert(exe);
assert(label);
if (!mac_selinux_have())
if (!mac_selinux_use())
return -EOPNOTSUPP;
r = getcon_raw(&mycon);
@@ -310,7 +300,7 @@ char* mac_selinux_free(char *label) {
if (!label)
return NULL;
if (!mac_selinux_have())
if (!mac_selinux_use())
return NULL;
-1
View File
@@ -26,7 +26,6 @@
#include "macro.h"
bool mac_selinux_use(void);
bool mac_selinux_have(void);
void mac_selinux_retest(void);
int mac_selinux_init(void);