summaryrefslogtreecommitdiff
path: root/tests/misc/selinux.sh
diff options
context:
space:
mode:
authorNicolas Iooss <nicolas.iooss@m4x.org>2016-02-11 15:07:52 +0100
committerPádraig Brady <P@draigBrady.com>2016-12-18 20:03:59 +0000
commitbe2f82f670b914e26ffcbbff0378a0452d432d1c (patch)
tree5b00c4a1b0c0547351683ec5c4d94cd2ac78a46f /tests/misc/selinux.sh
parentca52f3bf3f48a1a296e70bff5fd77ff789c570f5 (diff)
downloadcoreutils-be2f82f670b914e26ffcbbff0378a0452d432d1c.tar.xz
tests: support non-MLS enabled SELinux systems
When running "make check" on a Linux system running SELinux with a non-MLS policy, tests/mkdir/restorecon.sh test fails with: chcon: invalid context: root:object_r:tmp_t:s0: Invalid argument Indeed in such a configuration, contexts cannot have ":s0" suffix. * init.cfg (get_selinux_type): Refactor this function to here from various tests. Update to work with a non-MLS policy. (mls_enabled_): A new function to detect if MLS is enabled. (skip_if_mcstransd_is_running_): Update to not skip when MLS is not enabled. * tests/mkdir/restorecon.sh: Use a valid non-MLS context when needed. * tests/install/install-Z-selinux.sh: Likewise. * tests/cp/cp-a-selinux.sh: Likewise. * tests/misc/selinux.sh: Likewise. * tests/misc/chcon.sh: Skip if non-MLS as --range used throughout. Fixes http://bugs.gnu.org/22631
Diffstat (limited to 'tests/misc/selinux.sh')
-rwxr-xr-xtests/misc/selinux.sh3
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/misc/selinux.sh b/tests/misc/selinux.sh
index a9515680a..28c05c4f8 100755
--- a/tests/misc/selinux.sh
+++ b/tests/misc/selinux.sh
@@ -30,7 +30,8 @@ mkfifo_or_skip_ p
# special context that works both with and without mcstransd
-ctx=root:object_r:tmp_t:s0
+ctx='root:object_r:tmp_t'
+mls_enabled_ && ctx="$ctx:s0"
chcon $ctx f d p ||
skip_ '"chcon '$ctx' ..." failed'