aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-10-18 10:46:42 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-10-18 10:46:42 +0000
commit740eae0585202a5d8fd15847b4f771dff9f28c72 (patch)
treeddf6b209946139988114f2066f053ada6f041893
parente87b8689d245083b355f32a751d05dfdf5176aba (diff)
downloadbusybox-w32-740eae0585202a5d8fd15847b4f771dff9f28c72.tar.gz
busybox-w32-740eae0585202a5d8fd15847b4f771dff9f28c72.tar.bz2
busybox-w32-740eae0585202a5d8fd15847b4f771dff9f28c72.zip
snv add setsebool
-rw-r--r--selinux/setsebool.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/selinux/setsebool.c b/selinux/setsebool.c
new file mode 100644
index 000000000..83e70e2d5
--- /dev/null
+++ b/selinux/setsebool.c
@@ -0,0 +1,34 @@
1/*
2 * setsebool
3 * Simple setsebool
4 * NOTE: -P option requires libsemanage, so this feature is
5 * omitted in this version
6 * Yuichi Nakamura <ynakam@hitachisoft.jp>
7 */
8
9#include "libbb.h"
10
11int setsebool_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
12int setsebool_main(int argc, char **argv)
13{
14 char *p;
15 int value;
16
17 if (argc != 3)
18 bb_show_usage();
19
20 p = argv[2];
21
22 if (LONE_CHAR(p, '1') || strcasecmp(p, "true") == 0 || strcasecmp(p, "on") == 0) {
23 value = 1;
24 } else if (LONE_CHAR(p, '0') || strcasecmp(p, "false") == 0 || strcasecmp(p, "off") == 0) {
25 value = 0;
26 } else {
27 bb_show_usage();
28 }
29
30 if (security_set_boolean(argv[1], value) < 0)
31 bb_error_msg_and_die("can't set boolean");
32
33 return 0;
34}