annotate toys/pending/getenforce.c @ 1639:856b544f8fce draft

strncpy(optptr, hname, strlen(hname)) is really just strcpy().
author Rob Landley <rob@landley.net>
date Thu, 01 Jan 2015 16:49:55 -0600
parents 1cc305c51cde
children 563ec6dfc751
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1625
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
1 /* getenforce.c - Get the current SELinux mode
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
2 *
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
3 * Copyright 2014 The Android Open Source Project
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
4
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
5 USE_GETENFORCE(NEWTOY(getenforce, "", TOYFLAG_USR|TOYFLAG_SBIN))
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
6
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
7 config GETENFORCE
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
8 bool "getenforce"
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
9 default n
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
10 help
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
11 usage: getenforce
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
12
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
13 Shows whether SELinux is disabled, enforcing, or permissive.
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
14 */
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
15
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
16 #define FOR_getenforce
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
17 #include "toys.h"
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
18 #include <selinux/selinux.h>
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
19
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
20 void getenforce_main(void)
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
21 {
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
22 if (!is_selinux_enabled())
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
23 printf("Disabled\n");
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
24 else {
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
25 int ret = security_getenforce();
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
26 if (ret == -1)
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
27 perror_exit("Couldn't get enforcing status");
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
28 else
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
29 printf(ret ? "Enforcing\n" : "Permissive\n");
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
30 }
1cc305c51cde getenforce and setenforce
Elliott Hughes <enh@google.com>
parents:
diff changeset
31 }