[PATCH 8/8] busybox -- libselinux utilities applets
Denis Vlasenko
vda.linux at googlemail.com
Fri Jan 26 16:15:47 PST 2007
On Thursday 25 January 2007 15:45, KaiGai Kohei wrote:
> [8/8] busybox-libselinux-08-setenforce.patch
> setenforce - modify the mode SELinux is running in Enforcing
> mode or Permissive.
>
> Signed-off-by: Hiroshi Shinji <shiroshi at my.email.ne.jp>
> Signed-off-by: KaiGai Kohei <kaigai at kaigai.gr.jp>
>
> --
> KaiGai Kohei <kaigai at kaigai.gr.jp>
--- selinux/setenforce.c (revision 0)
+++ selinux/setenforce.c (revision 0)
@@ -0,0 +1,44 @@
+/*
+ * setenforce
+ *
+ * Based on libselinux 1.33.1
+ * Port to BusyBox Hiroshi Shinji <shiroshi at my.email.ne.jp>
+ *
+ */
+
+#include "busybox.h"
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <string.h>
+#include <strings.h>
+#include <selinux/selinux.h>
+
+int setenforce_main(int argc, char **argv)
+{
+ int rc = 0;
+ if (argc != 2) {
+ bb_show_usage();
+ }
+
+ if (is_selinux_enabled() <= 0) {
+ bb_error_msg("SELinux is disabled");
+ return 1;
+ }
+ if (strlen(argv[1]) == 1 && (argv[1][0] == '0' || argv[1][0] == '1')) {
You mean, "if ((unsigned char)(argv[1][0]-'0') <= 1 && !argv[1][1])..." ?
+ rc = security_setenforce(atoi(argv[1]));
+ } else {
+ if (strcasecmp(argv[1], "enforcing") == 0) {
+ rc = security_setenforce(1);
+ } else if (strcasecmp(argv[1], "permissive") == 0) {
+ rc = security_setenforce(0);
+ } else
+ bb_show_usage();
+ }
+ if (rc < 0) {
+ bb_error_msg("setenforce() failed");
If errno is set to meaningful value, bb_perror_msg() gives more
informative messages (appends ": <strerror>".
+ return 2;
+ }
+ return 0;
+}
More information about the busybox
mailing list