summarylogtreecommitdiffstats
path: root/0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch')
-rw-r--r--0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch36
1 files changed, 21 insertions, 15 deletions
diff --git a/0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch b/0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch
index b2b30f8965f4..0c8427c46b37 100644
--- a/0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch
+++ b/0001-tests-support-non-MLS-SELinux-systems-in-mkdir-tests.patch
@@ -1,22 +1,27 @@
-From 9ea92da190ba454a5e690095ac10aff5bf220a95 Mon Sep 17 00:00:00 2001
-From: Nicolas Iooss <nicolas.iooss_git@polytechnique.org>
-Date: Wed, 8 Jul 2015 19:01:03 +0800
+From b6668a23d4a58c08d25023440854f9ce720b87de Mon Sep 17 00:00:00 2001
+From: Nicolas Iooss <nicolas.iooss@m4x.org>
+Date: Thu, 11 Feb 2016 14:36:50 +0100
Subject: [PATCH] tests: support non-MLS SELinux systems in mkdir tests
-When running "make check" on a non-MLS Linux system,
-tests/mkdir/restorecon.sh test fails with:
+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
-A valid context for such a configuration would be
-root:object_r:tmp_t. So use it, and fix the sed pattern too to
-correctly grab the type out of "ls -Zd" result.
+Indeed in such a configuration, contexts cannot have ":s0" suffix.
+
+* tests/mkdir/restorecon.sh: detect non-MLS SELinux configurations by
+ using sestatus and in this case use a valid context when calling
+ runcon. Update the sed pattern of get_selinux_type to always grab the
+ SELinux type from the output of "ls -Zd" even with a non-MLS policy.
+
+[Upstream bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22631]
---
- tests/mkdir/restorecon.sh | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
+ tests/mkdir/restorecon.sh | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/mkdir/restorecon.sh b/tests/mkdir/restorecon.sh
-index 7d6a671b58a8..e5aa5507af96 100755
+index 0e7f03bc93db..cfd3bdda9637 100755
--- a/tests/mkdir/restorecon.sh
+++ b/tests/mkdir/restorecon.sh
@@ -21,10 +21,14 @@ print_ver_ mkdir mknod mkfifo
@@ -27,14 +32,15 @@ index 7d6a671b58a8..e5aa5507af96 100755
+get_selinux_type() { ls -Zd "$1" | sed -n 's/.*:\(.*_t\)[: ].*/\1/p'; }
mkdir subdir || framework_failure_
-+if sestatus |grep 'Policy MLS status:.*enabled' > /dev/null ; then
- chcon 'root:object_r:tmp_t:s0' subdir || framework_failure_
+-chcon 'root:object_r:tmp_t:s0' subdir || framework_failure_
++if sestatus 2>&1 |grep 'Policy MLS status:.*enabled' > /dev/null; then
++ chcon 'root:object_r:tmp_t:s0' subdir || framework_failure_
+else
-+chcon 'root:object_r:tmp_t' subdir || framework_failure_
++ chcon 'root:object_r:tmp_t' subdir || framework_failure_
+fi
cd subdir
# --- mkdir -Z ---
--
-2.4.5
+2.7.0