platform: strchrnul is missing if __APPLE__
[platform/upstream/busybox.git] / 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  * Licensed under GPLv2, see file LICENSE in this source tree.
8  */
9
10 //usage:#define getenforce_trivial_usage NOUSAGE_STR
11 //usage:#define getenforce_full_usage ""
12
13 #include "libbb.h"
14
15 int getenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
16 int getenforce_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
17 {
18         int rc;
19
20         rc = is_selinux_enabled();
21         if (rc < 0)
22                 bb_error_msg_and_die("is_selinux_enabled() failed");
23
24         if (rc == 1) {
25                 rc = security_getenforce();
26                 if (rc < 0)
27                         bb_error_msg_and_die("getenforce() failed");
28
29                 if (rc)
30                         puts("Enforcing");
31                 else
32                         puts("Permissive");
33         } else {
34                 puts("Disabled");
35         }
36
37         return 0;
38 }