On Tue, 2010-01-26 at 00:31 -0800, Garrett Cooper wrote:
> On Fri, Jan 15, 2010 at 9:48 AM, Garrett Cooper <[email protected]> wrote:
> > On Tue, Jan 12, 2010 at 7:38 AM, Serge E. Hallyn <[email protected]> wrote:
> >> Quoting Garrett Cooper ([email protected]):
> >>> On Mon, Jan 11, 2010 at 1:00 PM, Serge E. Hallyn <[email protected]> wrote:
> >>> > Quoting Serge E. Hallyn ([email protected]):
> >>> >> Quoting Serge E. Hallyn ([email protected]):
> >>> >> > Quoting Stephen Smalley ([email protected]):
> >>> >> > > On Mon, 2010-01-11 at 13:50 -0600, Serge E. Hallyn wrote:
> >>> >> > > > > Fails with:
> >>> >> > > > > cp: cannot stat
> >>> >> > > > > `/home/sds/ltp/testcases/kernel/security/selinux-testsuite/refpolicy/policy_files/generic/test_policy.*':
> >>> >> > > > >  No such file or directory
> >>> >> > > >
> >>> >> > > > You ran /home/sds/ltp/testscripts/test_selinux.sh, right?
> >>> >> > > >
> >>> >> > > > I think we are supposed to actually be running
> >>> >> > > > /opt/ltp/testscripts/test_selinux.sh.  So then the first 
> >>> >> > > > question for
> >>> >> > > > Garrett is how should we deduce /home/sds/ltp as $LTP_SRCDIR 
> >>> >> > > > from a
> >>> >> > > > testscript?  Or should the policy sources be copied into /opt?
> >>> >> > >
> >>> >> > > Ok, but regardless:  the refpolicy Makefile is still broken.
> >>> >> >
> >>> >> > Yup.
> >>> >>
> >>> >> All right, baby-steps.
> >>> >>
> >>> >> The attached test_selinux.diff is not to be applied, but something
> >>> >> like it is needed.  Should we have the ltp 'make install' fill in
> >>> >> TOP_SRCDIR in /opt/ltp/testscripts/test_selinux.sh?  BTW, Garrett,
> >>> >> that is the issue I was saying is shared between test_selinux.sh
> >>> >> and some others including test_robind.sh.  That's why I'm not just
> >>> >> sending a patch to make it work, bc i think we need more general
> >>> >> guidance.
> >>> >>
> >>> >> The second match makes the 'make load' part of test_selinux.sh
> >>> >> succeed on rhel5.4.  Stephen, how does it do on fedora?
> >>> >>
> >>> >> After loading policy it fails to execute ltp-pan, but I figure let's
> >>> >> get policy loading working first.
> >>> >>
> >>> >> -serge
> >>> >
> >>> > gah, attaching the actual patches this time.
> >>> >
> >>> > -serge
> >>>
> >>> 1. I'm rejecting the test_selinux.diff solely because it has /root/ltp
> >>> hardcoded as LTPROOT.
> >>
> >> I said 'not to be applied'.  You're not rejecting.
> >>
> >>> 2. Why is the redhat stuff support to work
> >>> agnostic to the major and minor version?
> >>
> >> It's not agnostic to the major version.  Only the minor version.
> >>
> >> And since you've made ltp not compile on rhel4 (requiring make-3.81.  feh)
> >> i suppose we can just get rid of rhel4 support selinux-testsuite.
> >
> > No. 1. Compiling make 3.81 today and installing it is trivial, so it
> > shouldn't be removed today. 2. I've finally decided that I'm going to
> > look outside of the box into providing equivalent functionality via
> > shell functions using purely built-in commands [and test(1)] to fill
> > in the feature gaps for make 3.80. I've gotten to the point where I
> > just gave up trying to ride out what I possibly can in make 3.80, so
> > it's time to pull in some external pieces to get the job done.
> 
>     All of the install junk works now, but the modes need fixing, or
> some such fun. Please analyze the test_selinux.sh script and tell me
> what to commit next to fix everything.

Hi Garrett,

I needed to apply the patch below to make test_selinux.sh run
successfully on Fedora 12.  The problems were:
- The setting of LTPROOT in test_selinux.sh was incorrect, leading to
problems with invoking everything else.  Note that I invoke it by doing:
cd /opt/ltp && ./testscripts/test_selinux.sh
and thus $0 is a relative path, whereas we want an absolute one.
- You don't need to cd to $POLICYDIR at all since you specify
$POLICYDIR/test_policy.pp to semodule -i and semodule -r is acting on
the installed policy module.
- The attempt to extract paths from runtest/selinux and invoke chcon on
them wasn't working as $LTPROOT wasn't being expanded; easier to just do
a chcon -R there as before.
- runtest/selinux had the wrong paths to the test programs (or
alternatively, they aren't being installed to the right location - they
all get installed directly to $LTPROOT/testcases/bin.

Index: testscripts/test_selinux.sh
===================================================================
RCS file: /cvsroot/ltp/ltp/testscripts/test_selinux.sh,v
retrieving revision 1.20
diff -u -r1.20 test_selinux.sh
--- testscripts/test_selinux.sh 26 Jan 2010 07:05:02 -0000      1.20
+++ testscripts/test_selinux.sh 26 Jan 2010 14:20:40 -0000
@@ -37,15 +37,14 @@
 fi
 
 # set the LTPROOT directory
-LTPROOT=${LTPROOT:=${0%/*}}
-cd "$LTPROOT"
+LTPROOT=`pwd`
 export TMP=${TMP:-/tmp}
-# If we're in the testscripts directory, go down a dir..
+# If we're in the testscripts directory, go up a dir..
 LTPROOT_TMP=${LTPROOT%/testscripts}
 if [ "x${LTPROOT_TMP}" != "x${LTPROOT}" ]
 then
        cd ..
-       LTPROOT=$LTPROOT_TMP
+       LTPROOT=`pwd`
 fi
 export LTPROOT
 unset LTPROOT_TMP
@@ -89,7 +88,6 @@
 
 # install the test policy...
 echo "Installing test_policy module..."
-cd $POLICYDIR
 if ! semodule -i $POLICYDIR/test_policy.pp; then
        echo "Failed to install test_policy module, aborting test run."
        config_unset_expandcheck
@@ -100,9 +98,6 @@
 
 config_unset_expandcheck
 
-# go back to test's root directory
-cd $LTPROOT
-
 echo "Running the SELinux testsuite..."
 
 mkdir $TMP/selinux > /dev/null 2>&1
@@ -112,8 +107,7 @@
 # The ../testcases/bin directory needs to have the test_file_t type.
 # Save and restore later.
 SAVEBINTYPE=`ls -Zd $LTPROOT/testcases/bin | awk '{ print $4 }' | awk -F: '{ 
print $3 }'`
-/usr/bin/chcon -t test_file_t  $LTPROOT/testcases/bin \
-                               $(awk '$1 !~ /^#/ { print $2 }' 
"$LTPROOT/runtest/selinux")
+/usr/bin/chcon -R -t test_file_t       $LTPROOT/testcases/bin
 
 $LTPROOT/bin/ltp-pan -S -a $LTPROOT/results/selinux -n ltp-selinux \
        -l $LTPROOT/results/selinux.logfile \
@@ -127,7 +121,6 @@
 /usr/bin/chcon -R -t $SAVEBINTYPE $LTPROOT/testcases/bin
 
 echo "Removing test_policy module..."
-cd $POLICYDIR
 if ! semodule -r test_policy; then
        echo "Failed to remove test_policy module."
        exit 1
Index: runtest/selinux
===================================================================
RCS file: /cvsroot/ltp/ltp/runtest/selinux,v
retrieving revision 1.4
diff -u -r1.4 selinux
--- runtest/selinux     25 Jan 2010 12:44:59 -0000      1.4
+++ runtest/selinux     26 Jan 2010 14:20:40 -0000
@@ -1,40 +1,40 @@
 #DESCRIPTION:Security-Enhanced Linux
-SELinux01      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_capable_file.sh
-SELinux02      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_capable_net.sh
-SELinux03      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_capable_sys.sh
-SELinux04      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_domain_trans.sh
-SELinux05      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_entrypoint.sh
-SELinux06      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_execshare.sh
-SELinux07      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_exectrace.sh
-SELinux08      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_execute_no_trans.sh
-SELinux09      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_fdreceive.sh
-SELinux10      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_file.sh
-SELinux11      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_inherit.sh
-SELinux12      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_ioctl.sh
-SELinux13      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_link.sh
-SELinux14      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_mkdir.sh
-SELinux15      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_msg.sh
-SELinux16      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_open.sh
-SELinux17      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_ptrace.sh
-SELinux18      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_readlink.sh
-SELinux19      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_relabel.sh
-SELinux20      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_rename.sh
-SELinux21      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_rxdir.sh
-SELinux22      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_sem.sh
-SELinux23      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_setattr.sh
-SELinux24      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_setnice.sh
-SELinux25      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_shm.sh
-SELinux26      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_sigkill.sh
-SELinux27      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_stat.sh
-SELinux28      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_sysctl.sh
-SELinux29      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_create.sh
-SELinux30      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_getpgid.sh
-SELinux31      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_getscheduler.sh
-SELinux32      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_getsid.sh
-SELinux33      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_setnice.sh
-SELinux34      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_setpgid.sh
-SELinux35      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_task_setscheduler.sh
-SELinux36      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_wait.sh
-SELinux37      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_dyntrace.sh
-SELinux38      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_dyntrans.sh
-SELinux39      
$LTPROOT/testcases/bin/kernel/security/selinux-testsuite/tests/selinux_bounds.sh
+SELinux01      $LTPROOT/testcases/bin/selinux_capable_file.sh
+SELinux02      $LTPROOT/testcases/bin/selinux_capable_net.sh
+SELinux03      $LTPROOT/testcases/bin/selinux_capable_sys.sh
+SELinux04      $LTPROOT/testcases/bin/selinux_domain_trans.sh
+SELinux05      $LTPROOT/testcases/bin/selinux_entrypoint.sh
+SELinux06      $LTPROOT/testcases/bin/selinux_execshare.sh
+SELinux07      $LTPROOT/testcases/bin/selinux_exectrace.sh
+SELinux08      $LTPROOT/testcases/bin/selinux_execute_no_trans.sh
+SELinux09      $LTPROOT/testcases/bin/selinux_fdreceive.sh
+SELinux10      $LTPROOT/testcases/bin/selinux_file.sh
+SELinux11      $LTPROOT/testcases/bin/selinux_inherit.sh
+SELinux12      $LTPROOT/testcases/bin/selinux_ioctl.sh
+SELinux13      $LTPROOT/testcases/bin/selinux_link.sh
+SELinux14      $LTPROOT/testcases/bin/selinux_mkdir.sh
+SELinux15      $LTPROOT/testcases/bin/selinux_msg.sh
+SELinux16      $LTPROOT/testcases/bin/selinux_open.sh
+SELinux17      $LTPROOT/testcases/bin/selinux_ptrace.sh
+SELinux18      $LTPROOT/testcases/bin/selinux_readlink.sh
+SELinux19      $LTPROOT/testcases/bin/selinux_relabel.sh
+SELinux20      $LTPROOT/testcases/bin/selinux_rename.sh
+SELinux21      $LTPROOT/testcases/bin/selinux_rxdir.sh
+SELinux22      $LTPROOT/testcases/bin/selinux_sem.sh
+SELinux23      $LTPROOT/testcases/bin/selinux_setattr.sh
+SELinux24      $LTPROOT/testcases/bin/selinux_setnice.sh
+SELinux25      $LTPROOT/testcases/bin/selinux_shm.sh
+SELinux26      $LTPROOT/testcases/bin/selinux_sigkill.sh
+SELinux27      $LTPROOT/testcases/bin/selinux_stat.sh
+SELinux28      $LTPROOT/testcases/bin/selinux_sysctl.sh
+SELinux29      $LTPROOT/testcases/bin/selinux_task_create.sh
+SELinux30      $LTPROOT/testcases/bin/selinux_task_getpgid.sh
+SELinux31      $LTPROOT/testcases/bin/selinux_task_getscheduler.sh
+SELinux32      $LTPROOT/testcases/bin/selinux_task_getsid.sh
+SELinux33      $LTPROOT/testcases/bin/selinux_task_setnice.sh
+SELinux34      $LTPROOT/testcases/bin/selinux_task_setpgid.sh
+SELinux35      $LTPROOT/testcases/bin/selinux_task_setscheduler.sh
+SELinux36      $LTPROOT/testcases/bin/selinux_wait.sh
+SELinux37      $LTPROOT/testcases/bin/selinux_dyntrace.sh
+SELinux38      $LTPROOT/testcases/bin/selinux_dyntrans.sh
+SELinux39      $LTPROOT/testcases/bin/selinux_bounds.sh

-- 
Stephen Smalley
National Security Agency


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to