ifupdown: support for %retries% (L. Gabriel Somlo <somlo AT cmu.edu>)
[oweals/busybox.git] / selinux / setenforce.c
index 670e3008630812ac88e33f36c3fe0609a5476d13..198324c91ea120ff3f96448edd465ef0644e650d 100644 (file)
@@ -6,14 +6,11 @@
  *
  */
 
-#include "busybox.h"
+#include "libbb.h"
 
-static const smallint setenforce_mode[] = {
-       0,
-       1,
-       0,
-       1,
-};
+/* These strings are arranged so that odd ones
+ * result in security_setenforce(1) being done,
+ * the rest will do security_setenforce(0) */
 static const char *const setenforce_cmd[] = {
        "0",
        "1",
@@ -22,6 +19,7 @@ static const char *const setenforce_cmd[] = {
        NULL,
 };
 
+int setenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setenforce_main(int argc, char **argv)
 {
        int i, rc;
@@ -34,7 +32,7 @@ int setenforce_main(int argc, char **argv)
        for (i = 0; setenforce_cmd[i]; i++) {
                if (strcasecmp(argv[1], setenforce_cmd[i]) != 0)
                        continue;
-               rc = security_setenforce(setenforce_mode[i]);
+               rc = security_setenforce(i & 1);
                if (rc < 0)
                        bb_perror_msg_and_die("setenforce() failed");
                return 0;