ps: conditionally enable -T on non-DESKTOP build too
[oweals/busybox.git] / selinux / setenforce.c
index 670e3008630812ac88e33f36c3fe0609a5476d13..a2d04288bd2dd0be7f6473f3efd65b00e698c759 100644 (file)
@@ -4,16 +4,14 @@
  * Based on libselinux 1.33.1
  * Port to BusyBox  Hiroshi Shinji <shiroshi@my.email.ne.jp>
  *
+ * Licensed under GPLv2, see file LICENSE in this tarball for details.
  */
 
-#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 +20,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 +33,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;