Contents of /tags/mkinitrd-6_5_1/busybox/selinux/setenforce.c
Parent Directory | Revision Log
Revision 1519 -
(show annotations)
(download)
Wed Sep 7 17:51:16 2011 UTC (13 years ago) by niro
File MIME type: text/plain
File size: 891 byte(s)
Wed Sep 7 17:51:16 2011 UTC (13 years ago) by niro
File MIME type: text/plain
File size: 891 byte(s)
tagged 'mkinitrd-6_5_1'
1 | /* |
2 | * setenforce |
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 tarball for details. |
8 | */ |
9 | |
10 | #include "libbb.h" |
11 | |
12 | /* These strings are arranged so that odd ones |
13 | * result in security_setenforce(1) being done, |
14 | * the rest will do security_setenforce(0) */ |
15 | static const char *const setenforce_cmd[] = { |
16 | "0", |
17 | "1", |
18 | "permissive", |
19 | "enforcing", |
20 | NULL, |
21 | }; |
22 | |
23 | int setenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
24 | int setenforce_main(int argc UNUSED_PARAM, char **argv) |
25 | { |
26 | int i, rc; |
27 | |
28 | if (!argv[1] || argv[2]) |
29 | bb_show_usage(); |
30 | |
31 | selinux_or_die(); |
32 | |
33 | for (i = 0; setenforce_cmd[i]; i++) { |
34 | if (strcasecmp(argv[1], setenforce_cmd[i]) != 0) |
35 | continue; |
36 | rc = security_setenforce(i & 1); |
37 | if (rc < 0) |
38 | bb_perror_msg_and_die("setenforce() failed"); |
39 | return 0; |
40 | } |
41 | |
42 | bb_show_usage(); |
43 | } |