aboutsummaryrefslogtreecommitdiffstats
path: root/libselinux/src/booleans.c
diff options
context:
space:
mode:
authorWilliam Roberts <william.c.roberts@intel.com>2016-09-29 14:02:25 -0400
committerStephen Smalley <sds@tycho.nsa.gov>2016-09-29 15:39:53 -0400
commitadca103639923216475714b08b89c4ee3d88ef6b (patch)
treede0eee560117c92c1292cd88a7a50430c45e860d /libselinux/src/booleans.c
parent68885c80ea2ccfe7868dc1fdefe2c0661a9bf13a (diff)
downloadandroid_external_selinux-adca103639923216475714b08b89c4ee3d88ef6b.tar.gz
android_external_selinux-adca103639923216475714b08b89c4ee3d88ef6b.tar.bz2
android_external_selinux-adca103639923216475714b08b89c4ee3d88ef6b.zip
libselinux: re-introduce DISABLE_BOOL=y
Provide stubs to the public boolean API that always returns -1. On Android, boolean symbols are needed for: external/ltrace/sysdeps/linux-gnu/trace.c Signed-off-by: William Roberts <william.c.roberts@intel.com>
Diffstat (limited to 'libselinux/src/booleans.c')
-rw-r--r--libselinux/src/booleans.c64
1 files changed, 54 insertions, 10 deletions
diff --git a/libselinux/src/booleans.c b/libselinux/src/booleans.c
index c438af18..cbb06104 100644
--- a/libselinux/src/booleans.c
+++ b/libselinux/src/booleans.c
@@ -25,6 +25,8 @@
#define SELINUX_BOOL_DIR "/booleans/"
+#ifndef DISABLE_BOOL
+
static int filename_select(const struct dirent *d)
{
if (d->d_name[0] == '.'
@@ -85,8 +87,6 @@ int security_get_boolean_names(char ***names, int *len)
goto out;
}
-hidden_def(security_get_boolean_names)
-
char *selinux_boolean_sub(const char *name)
{
char *sub = NULL;
@@ -141,8 +141,6 @@ out:
return sub;
}
-hidden_def(selinux_boolean_sub)
-
static int bool_open(const char *name, int flag) {
char *fname = NULL;
char *alt_name = NULL;
@@ -262,8 +260,6 @@ int security_get_boolean_active(const char *name)
return val;
}
-hidden_def(security_get_boolean_active)
-
int security_set_boolean(const char *name, int value)
{
int fd, ret;
@@ -297,8 +293,6 @@ int security_set_boolean(const char *name, int value)
return -1;
}
-hidden_def(security_set_boolean)
-
int security_commit_booleans(void)
{
int fd, ret;
@@ -327,8 +321,6 @@ int security_commit_booleans(void)
return -1;
}
-hidden_def(security_commit_booleans)
-
static char *strtrim(char *dest, char *source, int size)
{
int i = 0;
@@ -567,3 +559,55 @@ int security_load_booleans(char *path)
errno = EINVAL;
return errors ? -1 : 0;
}
+
+#else
+int security_set_boolean_list(size_t boolcnt __attribute__((unused)),
+ SELboolean * boollist __attribute__((unused)),
+ int permanent __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_load_booleans(char *path __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_get_boolean_names(char ***names __attribute__((unused)),
+ int *len __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_get_boolean_pending(const char *name __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_get_boolean_active(const char *name __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_set_boolean(const char *name __attribute__((unused)),
+ int value __attribute__((unused)))
+{
+ return -1;
+}
+
+int security_commit_booleans(void)
+{
+ return -1;
+}
+
+char *selinux_boolean_sub(const char *name __attribute__((unused)))
+{
+ return NULL;
+}
+#endif
+
+hidden_def(security_get_boolean_names)
+hidden_def(selinux_boolean_sub)
+hidden_def(security_get_boolean_active)
+hidden_def(security_set_boolean)
+hidden_def(security_commit_booleans)