Initial public busybox upstream commit
[busybox4maemo] / selinux / getenforce.c
1 /*
2  * getenforce
3  *
4  * Based on libselinux 1.33.1
5  * Port to BusyBox  Hiroshi Shinji <shiroshi@my.email.ne.jp>
6  *
7  */
8
9 #include "libbb.h"
10
11 int getenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
12 int getenforce_main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
13 {
14         int rc;
15
16         rc = is_selinux_enabled();
17         if (rc < 0)
18                 bb_error_msg_and_die("is_selinux_enabled() failed");
19
20         if (rc == 1) {
21                 rc = security_getenforce();
22                 if (rc < 0)
23                         bb_error_msg_and_die("getenforce() failed");
24
25                 if (rc)
26                         puts("Enforcing");
27                 else
28                         puts("Permissive");
29         } else {
30                 puts("Disabled");
31         }
32
33         return 0;
34 }