mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-19 04:34:30 +00:00
0c407c3f1d
Print error description on failure after functions known to set errno. Also mention the library function name in getenforce, policyvers and setenforce instead of the program name twice. Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Acked-by: James Carter <jwcart2@gmail.com>
35 lines
621 B
C
35 lines
621 B
C
#include <unistd.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
#include <selinux/selinux.h>
|
|
|
|
int main(int argc __attribute__ ((unused)),
|
|
char **argv __attribute__ ((unused)))
|
|
{
|
|
int rc;
|
|
|
|
rc = is_selinux_enabled();
|
|
if (rc < 0) {
|
|
fputs("getenforce: is_selinux_enabled() failed", stderr);
|
|
return 2;
|
|
}
|
|
if (rc == 1) {
|
|
rc = security_getenforce();
|
|
if (rc < 0) {
|
|
fprintf(stderr, "getenforce: security_getenforce() failed: %s\n", strerror(errno));
|
|
return 2;
|
|
}
|
|
|
|
if (rc)
|
|
puts("Enforcing");
|
|
else
|
|
puts("Permissive");
|
|
} else {
|
|
puts("Disabled");
|
|
}
|
|
|
|
return 0;
|
|
}
|