Ondrej Vasik 2bb0e0
diff -urp coreutils-6.10-orig/src/Makefile.am coreutils-6.10/src/Makefile.am
Ondrej Vasik 2bb0e0
--- coreutils-6.10-orig/src/Makefile.am	2008-01-11 11:34:22.000000000 +0100
Ondrej Vasik 2bb0e0
+++ coreutils-6.10/src/Makefile.am	2008-01-23 14:52:26.000000000 +0100
Ondrej Vasik 2bb0e0
@@ -170,7 +170,7 @@ install_su =						\
Ondrej Vasik 2bb0e0
     echo " chown root $(installed_su)";			\
Ondrej Vasik 2bb0e0
     chown root $(installed_su);				\
Ondrej Vasik 2bb0e0
     echo " chmod $(setuid_root_mode) $(installed_su)";	\
Ondrej Vasik 2bb0e0
-    chmod $(setuid_root_mode) $(installed_su)		\
Ondrej Vasik 2bb0e0
+    chmod $(setuid_root_mode) $(installed_su);		\
Ondrej Vasik 2bb0e0
   else							\
Ondrej Vasik 2bb0e0
     :;							\
Ondrej Vasik 2bb0e0
   fi
Ondrej Vasik 0629e2
diff -urp coreutils-6.10-orig/gnulib-tests/test-getaddrinfo.c coreutils-6.10/gnulib-tests/test-getaddrinfo.c
Ondrej Vasik 0629e2
--- coreutils-6.10-orig/gnulib-tests/test-getaddrinfo.c	2007-11-17 07:59:42.000000000 +0100
Ondrej Vasik 0629e2
+++ coreutils-6.10/gnulib-tests/test-getaddrinfo.c	2008-01-25 19:19:43.000000000 +0100
Ondrej Vasik 0629e2
@@ -61,6 +61,10 @@ int simple (char *host, char *service)
Ondrej Vasik 0629e2
       if (res == EAI_SERVICE)
Ondrej Vasik 0629e2
 	return 0;
Ondrej Vasik 0629e2
 
Ondrej Vasik 0629e2
+      /* Do not fail this test for temporary name resolution errors. */
Ondrej Vasik 0629e2
+      if (res == EAI_AGAIN)
Ondrej Vasik 0629e2
+         return 0;
Ondrej Vasik 0629e2
+
Ondrej Vasik 0629e2
       return 1;
Ondrej Vasik 0629e2
     }
Ondrej Vasik f8a2ac
Ondrej Vasik f8a2ac
diff -urNp coreutils-6.10-orig/tests/misc/chcon coreutils-6.10/tests/misc/chcon
Ondrej Vasik f8a2ac
--- coreutils-6.10-orig/tests/misc/chcon	2008-01-05 23:59:11.000000000 +0100
Ondrej Vasik f8a2ac
+++ coreutils-6.10/tests/misc/chcon	2008-03-26 13:19:37.000000000 +0100
Ondrej Vasik f8a2ac
@@ -21,9 +21,15 @@ u1=root
Ondrej Vasik f8a2ac
 r1=object_r
Ondrej Vasik f8a2ac
 t1=tmp_t
Ondrej Vasik f8a2ac
 ctx=$u1:$r1:$t1
Ondrej Vasik f8a2ac
-chcon $ctx f || fail=1
Ondrej Vasik f8a2ac
+chcon $ctx f 2>outerror || fail=1
Ondrej Vasik f8a2ac
 stat --printf='f|%C\n' f > out || fail=1
Ondrej Vasik f8a2ac
 
Ondrej Vasik f8a2ac
+cat <<\EOF > experror || fail=1
Ondrej Vasik f8a2ac
+chcon: failed to change context of `f' to `root:object_r:tmp_t': Invalid argument
Ondrej Vasik f8a2ac
+EOF
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
+compare outerror experror >/dev/null && skip_test_ "Missing mcstransd, skipping the test"
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
 # Use --reference.
Ondrej Vasik f8a2ac
 chcon --ref=f g || fail=1
Ondrej Vasik f8a2ac
 stat --printf='g|%C\n' g >> out || fail=1
Ondrej Vasik f8a2ac
@@ -38,8 +38,9 @@ stat --printf='g|%C\n' g >> out || fail=
Ondrej Vasik f8a2ac
 u2=user_u
Ondrej Vasik f8a2ac
 r2=object_r
Ondrej Vasik f8a2ac
 t2=file_t
Ondrej Vasik f8a2ac
-l2=SystemLow-SystemHigh
Ondrej Vasik f8a2ac
-for i in --user=$u2 --role=$r2 --type=$t2 --range=$l2; do
Ondrej Vasik f8a2ac
+#do not set range here, it will fail in enforcing mode, requires permissive
Ondrej Vasik f8a2ac
+#l2=SystemLow-SystemHigh 
Ondrej Vasik f8a2ac
+for i in --user=$u2 --role=$r2 --type=$t2; do
Ondrej Vasik f8a2ac
   chcon $i f || fail=1
Ondrej Vasik f8a2ac
   stat --printf="f|$i|"'%C\n' f >> out || fail=1
Ondrej Vasik f8a2ac
 done
Ondrej Vasik f8a2ac
@@ -56,12 +57,24 @@ g|$ctx
Ondrej Vasik f8a2ac
 f|--user=$u2|$u2:$r1:$t1
Ondrej Vasik f8a2ac
 f|--role=$r2|$u2:$r2:$t1
Ondrej Vasik f8a2ac
 f|--type=$t2|$u2:$r2:$t2
Ondrej Vasik f8a2ac
-f|--range=$l2|$u2:$r2:$t2:$l2
Ondrej Vasik f8a2ac
-f|-uroot|root:object_r:file_t:SystemLow-SystemHigh
Ondrej Vasik f8a2ac
-f|-robject_r|root:object_r:file_t:SystemLow-SystemHigh
Ondrej Vasik f8a2ac
-f|-ttmp_t|root:object_r:tmp_t:SystemLow-SystemHigh
Ondrej Vasik f8a2ac
+f|-uroot|root:object_r:file_t
Ondrej Vasik f8a2ac
+f|-robject_r|root:object_r:file_t
Ondrej Vasik f8a2ac
+f|-ttmp_t|root:object_r:tmp_t
Ondrej Vasik f8a2ac
 EOF
Ondrej Vasik f8a2ac
 
Ondrej Vasik f8a2ac
 compare out exp || fail=1
Ondrej Vasik f8a2ac
 
Ondrej Vasik f8a2ac
+SELINUX_MODE=$(getenforce)
Ondrej Vasik f8a2ac
+if [ $SELINUX_MODE == "Permissive" ]; then
Ondrej Vasik f8a2ac
+#check running range for Permisive mode
Ondrej Vasik f8a2ac
+l2=SystemLow-SystemHigh
Ondrej Vasik f8a2ac
+chcon --range=$l2 f || fail
Ondrej Vasik f8a2ac
+stat --printf="f|--range=$l2|"'%C\n' f >> permout || fail=1
Ondrej Vasik f8a2ac
+cat <<EOF > permexp || fail=1
Ondrej Vasik f8a2ac
+f|--range=$l2|root:object_r:tmp_t:SystemLow-SystemHigh
Ondrej Vasik f8a2ac
+EOF
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
+compare permout permexp || fail=1
Ondrej Vasik f8a2ac
+fi
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
 (exit $fail); exit $fail
Ondrej Vasik f8a2ac
diff -urNp coreutils-6.10-orig/tests/cp/cp-a-selinux coreutils-6.10/tests/cp/cp-a-selinux
Ondrej Vasik f8a2ac
--- coreutils-6.10-orig/tests/cp/cp-a-selinux	2008-01-05 23:59:11.000000000 +0100
Ondrej Vasik f8a2ac
+++ coreutils-6.10/tests/cp/cp-a-selinux	2008-03-26 13:52:24.000000000 +0100
Ondrej Vasik f8a2ac
@@ -27,6 +27,16 @@ PRIV_CHECK_ARG=require-root . $srcdir/..
Ondrej Vasik f8a2ac
 . $srcdir/../test-lib.sh
Ondrej Vasik f8a2ac
 require_selinux_
Ondrej Vasik f8a2ac
 
Ondrej Vasik f8a2ac
+#check for missing mcstrans(d)
Ondrej Vasik f8a2ac
+touch f || fail=1
Ondrej Vasik f8a2ac
+chcon root:object_r:tmp_t f 2>outerror || fail=1
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
+cat <<\EOF > experror || fail=1
Ondrej Vasik f8a2ac
+chcon: failed to change context of `f' to `root:object_r:tmp_t': Invalid argument
Ondrej Vasik f8a2ac
+EOF
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
+compare outerror experror && skip_test_ "Missing mcstransd, skipping the test"
Ondrej Vasik f8a2ac
+
Ondrej Vasik f8a2ac
 cwd=`pwd`
Ondrej Vasik f8a2ac
 cleanup_() { cd /; umount "$cwd/mnt"; }
Ondrej Vasik 0629e2