Over to Mimi for review. Regards-- Subrata
On Thu, 2009-07-30 at 23:18 -0700, Garrett Cooper wrote: > I started work on this because there's a fair amount of noise that > currently gets generated with the smack test unnecessarily and doesn't > check for /smack. There were some other items that I found that could > be improved along the way... > > This change in its entirety does the following: > > 1. Adds a prerequisite check for /smack. > 2. Checks /smack/onlycap once per test in the smack_common.sh file > (new file) in an effort to reduce unnecessary shell code. > 3. Properly quote variables and echo calls so vim doesn't print things > out as syntax errors. > 4. Convert all double echo calls to cat <<EOM .. EOM. > 5. Toss unnecessary exit 0 at the bottom of a number of test scripts. > 6. Make /smack into $smackfsdir, so folks can parameterize the > mountpoint better (or maybe I could add code to grep through > /proc/mounts to find a /smack mount point ;)...). > 7. Get rid of bash's `==' in favor of the POSIX compliant `='. > > Signed-off-by: Garrett Cooper <[email protected]> > > Index: smack_common.sh > =================================================================== > RCS file: smack_common.sh > diff -N smack_common.sh > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ smack_common.sh 31 Jul 2009 06:17:05 -0000 > @@ -0,0 +1,48 @@ > +#!/bin/sh > +# > +# testcases/security/smack/smack_common.sh > +# > +# Copyright (C) 2009, Cisco Systems Inc. > +# > +# This program is free software; you can redistribute it and/or modify > +# it under the terms of the GNU General Public License as published by > +# the Free Software Foundation; either version 2 of the License, or > +# (at your option) any later version. > +# > +# This program is distributed in the hope that it will be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License along > +# with this program; if not, write to the Free Software Foundation, Inc., > +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. > +# > +# Garrett Cooper, July 2009 > +# > +# This file serves the sole purpose of executing every common piece of > +# prerequisite code for all of the smack tests, s.t. a lot of duplicate shell > +# code isn't laying around all over the place. > +# > + > +smackfsdir=${smackfsdir:=/smack} > + > +check_mounted() { > + if [ ! -d "$smackfsdir" ]; then > + echo "smackfs not mounted at $smackfsdir" > + exit 1 > + fi > +} > + > +check_onlycap() { > + onlycap=`cat "$smackfsdir/onlycap" 2>/dev/null` > + if [ -z "$onlycap" ]; then > + cat <<EOM > +The smack label reported for $smackfsdir/onlycap is "$onlycap", not > the expected "". > +EOM > + exit 1 > + fi > +} > + > +check_mounted > +check_onlycap > Index: smack_file_access.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_file_access.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_file_access.sh > --- smack_file_access.sh 19 Mar 2009 07:27:05 -0000 1.1 > +++ smack_file_access.sh 31 Jul 2009 06:17:05 -0000 > @@ -13,43 +13,38 @@ > # > # 1 2 3 4 5 6 > # 123456789012345678901234567890123456789012345678901234567890123456789 > + > +source smack_common.sh > + > RuleA="TheOne TheOther r---" > RuleB="TheOne TheOther rw--" > > Where="./testdir" > What="testfile" > -TestFile="$Where"/"$What" > +TestFile="$Where/$What" > CAT=/bin/cat > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > - > if [ ! -d "$Where" ]; then > if [ -e "$Where" ]; then > - echo Test directory \"$Where\" exists but is not a directory. > + echo "Test directory \"$Where\" exists but is not a directory." > exit 1 > fi > - mkdir "$Where" > + mkdir -m 777 "$Where" > if [ ! -d "$Where" ]; then > - echo Test directory \"$Where\" can not be created. > + echo "Test directory \"$Where\" can not be created." > exit 1 > fi > - chmod 777 "$Where" > fi > > if [ ! -f "$TestFile" ]; then > if [ -e "$TestFile" ]; then > - echo Test file \"$TestFile\" exists but is not a file. > + echo "Test file \"$TestFile\" exists but is not a file." > rm -rf "$Where" > exit 1 > fi > - ./notroot /bin/sh -c "echo InitialData > $TestFile" > + ./notroot /bin/sh -c "echo InitialData 2>/dev/null > $TestFile" > if [ ! -d "$TestFile" ]; then > - echo Test file \"$TestFile\" can not be created. > + echo "Test file \"$TestFile\" can not be created." > rm -rf "$Where" > exit 1 > fi > @@ -60,65 +55,65 @@ > SetTo=`echo $SetTo` > > if [ "TheOther" != "$SetTo" ]; then > - echo Test file \"$TestFile\" labeled \"$SetTo\" incorrectly. > + echo "Test file \"$TestFile\" labeled \"$SetTo\" incorrectly." > rm -rf "$Where" > exit 1 > fi > > -OldRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > +OldRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '` > > -echo -n "$RuleA" > /smack/load > -NewRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleA" > "$smackfsdir/load" > +NewRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > rm -rf "$Where" > exit 1 > fi > Mode=`echo $NewRule | sed -e 's/.* //'` > if [ "$Mode" != "r" ]; then > - echo Rule \"$NewRule\" is not set correctly. > + echo "Rule \"$NewRule\" is not set correctly." > rm -rf "$Where" > exit 1 > fi > > -OldProc=`cat /proc/self/attr/current` > +OldProc=`cat /proc/self/attr/current 2>/dev/null` > > -echo TheOne > /proc/self/attr/current > +echo TheOne 2>/dev/null > /proc/self/attr/current > GotRead=`./notroot $CAT "$TestFile"` > > if [ "$GotRead" != "InitialData" ]; then > - echo Read failed for \"$TestFile\" labeled \"TheOther\". > + echo "Read failed for \"$TestFile\" labeled \"TheOther\"." > rm -rf "$Where" > exit 1 > fi > > -echo NotTheOne > /proc/self/attr/current > +echo NotTheOne 2>/dev/null > /proc/self/attr/current > GotRead=`./notroot $CAT "$TestFile"` > > -if [ "$GotRead" == "InitialData" ]; then > - echo Read should have failed for \"$TestFile\" labeled \"TheOther\". > +if [ "$GotRead" = "InitialData" ]; then > + echo "Read should have failed for \"$TestFile\" labeled \"TheOther\"." > rm -rf "$Where" > exit 1 > fi > > -echo -n "$RuleB" > /smack/load > -NewRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleB" 2>/dev/null > "$smackfsdir/load" > +NewRule=`grep "^TheOne" $smackfsdir/load 2>/dev/null | grep ' TheOther '` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > rm -rf "$Where" > exit 1 > fi > Mode=`echo $NewRule | sed -e 's/.* //'` > if [ "$Mode" != "rw" ]; then > - echo Rule \"$NewRule\" is not set correctly. > + echo "Rule \"$NewRule\" is not set correctly." > rm -rf "$Where" > exit 1 > fi > > if [ "$OldRule" != "$NewRule" ]; then > - echo Notice: Test access rule changed from > - echo \"$OldRule\" to \"$NewRule\". > + cat <<EOM > +Notice: Test access rule changed from "$OldRule" to "$NewRule". > +EOM > fi > > rm -rf "$Where" > -exit 0 > Index: smack_set_ambient.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_ambient.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_ambient.sh > --- smack_set_ambient.sh 19 Mar 2009 07:27:05 -0000 1.1 > +++ smack_set_ambient.sh 31 Jul 2009 06:17:05 -0000 > @@ -9,32 +9,29 @@ > # Environment: > # CAP_MAC_ADMIN > # > -NotTheFloorLabel="XYZZY" > -StartLabel=`cat /smack/ambient` > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > +source smack_common.sh > > -echo $NotTheFloorLabel > /smack/ambient > +NotTheFloorLabel="XYZZY" > +StartLabel=`cat "$smackfsdir/ambient" 2>/dev/null` > + > +echo "$NotTheFloorLabel" 2>/dev/null > "$smackfsdir/ambient" > > -label=`cat /smack/ambient` > +label=`cat "$smackfsdir/ambient" 2>/dev/null` > if [ "$label" != "$NotTheFloorLabel" ]; then > - echo The smack label reported for the current process is \"$label\", > - echo not the expected \"$NotTheFloorLabel\". > + cat <<EOM > +The smack label reported for the current process is "$label", not the > expected > +"$NotTheFloorLabel". > +EOM > exit 1 > fi > > -echo "$StartLabel" > /smack/ambient > +echo "$StartLabel" 2>/dev/null > "$smackfsdir/ambient" > > -label=`cat /smack/ambient` > +label=`cat "$smackfsdir/ambient" 2>/dev/null` > if [ "$label" != "$StartLabel" ]; then > - echo The smack label reported for the current process is \"$label\", > - echo not the expected \"$StartLabel\". > + cat <<EOM > +The smack label reported for the current process is "$label", not > the expected "$StartLabel". > +EOM > exit 1 > fi > - > -exit 0 > Index: smack_set_cipso.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_cipso.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_cipso.sh > --- smack_set_cipso.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_cipso.sh 31 Jul 2009 06:17:05 -0000 > @@ -13,58 +13,53 @@ > # > # 1 2 llllCCCCccccCCCCcccc 5 6 > # 123456789012345678901234567890123456789012345678901234567890123456789 > + > +source smack_common.sh > + > RuleA="TheOne 2 0 " > RuleB="TheOne 3 1 55 " > RuleC="TheOne 4 2 17 33 " > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > +OldRule=`grep "^TheOne" "$smackfsdir/cipso" 2>/dev/null` > > -OldRule=`grep "^TheOne" /smack/cipso` > - > -echo -n "$RuleA" > /smack/cipso > -NewRule=`grep "^TheOne" /smack/cipso` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleA" 2>/dev/null > "$smackfsdir/cipso" > +NewRule=`grep "^TheOne" "$smackfsdir/cipso" 2>/dev/null` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > exit 1 > fi > -Right=`echo $NewRule | grep ' 2'` > -if [ "$Right" == "" ]; then > - echo Rule \"$NewRule\" is not set correctly. > +Right=`echo "$NewRule" | grep ' 2'` > +if [ "$Right" = "" ]; then > + echo "Rule \"$NewRule\" is not set correctly." > exit 1 > fi > > -echo -n "$RuleB" > /smack/cipso > -NewRule=`grep "^TheOne" /smack/cipso` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleB" 2>/dev/null > "$smackfsdir/cipso" > +NewRule=`grep "^TheOne" "$smackfsdir/cipso" 2>/dev/null` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > exit 1 > fi > Right=`echo $NewRule | grep '/55'` > -if [ "$Right" == "" ]; then > - echo Rule \"$NewRule\" is not set correctly. > +if [ "$Right" = "" ]; then > + echo "Rule \"$NewRule\" is not set correctly." > exit 1 > fi > > -echo -n "$RuleC" > /smack/cipso > -NewRule=`grep "^TheOne" /smack/cipso` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleC" 2>/dev/null > "$smackfsdir/cipso" > +NewRule=`grep "^TheOne" "$smackfsdir/cipso" 2>/dev/null` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > exit 1 > fi > -Right=`echo $NewRule | grep '/17,33'` > -if [ "$Right" == "" ]; then > - echo Rule \"$NewRule\" is not set correctly. > +Right=`echo "$NewRule" | grep '/17,33'` > +if [ "$Right" = "" ]; then > + echo "Rule \"$NewRule\" is not set correctly." > exit 1 > fi > > - > if [ "$OldRule" != "$NewRule" ]; then > - echo Notice: Test access rule changed from \"$OldRule\" to \"$NewRule\". > + cat <<EOM > +Notice: Test access rule changed from "$OldRule" to "$NewRule". > +EOM > fi > - > -exit 0 > Index: smack_set_current.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_current.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_current.sh > --- smack_set_current.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_current.sh 31 Jul 2009 06:17:05 -0000 > @@ -10,32 +10,30 @@ > # CAP_MAC_ADMIN > # /smack/onlycap unset > # > -NotTheFloorLabel="XYZZY" > -StartLabel=`cat /proc/self/attr/current` > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > +source smack_common.sh > > -echo $NotTheFloorLabel > /proc/self/attr/current > +NotTheFloorLabel="XYZZY" > +StartLabel=`cat /proc/self/attr/current 2>/dev/null` > + > +echo "$NotTheFloorLabel" 2>/dev/null > /proc/self/attr/current > > -label=`cat /proc/self/attr/current` > +label=`cat /proc/self/attr/current 2>/dev/null` > if [ "$label" != "$NotTheFloorLabel" ]; then > - echo The smack label reported for the current process is \"$label\", > - echo not the expected \"$NotTheFloorLabel\". > + cat <<EOM > +The smack label reported for the current process is "$label", > +not the expected "$NotTheFloorLabel". > +EOM > exit 1 > fi > > -echo "$StartLabel" > /proc/self/attr/current > +echo "$StartLabel" 2>/dev/null > /proc/self/attr/current > > -label=`cat /proc/self/attr/current` > +label=`cat /proc/self/attr/current > /dev/null` > if [ "$label" != "$StartLabel" ]; then > - echo The smack label reported for the current process is \"$label\", > - echo not the expected \"$StartLabel\". > + cat <<EOM > +The smack label reported for the current process is "$label", > +not the expected "$StartLabel". > +EOM > exit 1 > fi > - > -exit 0 > Index: smack_set_direct.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_direct.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_direct.sh > --- smack_set_direct.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_direct.sh 31 Jul 2009 06:17:05 -0000 > @@ -9,32 +9,30 @@ > # Environment: > # CAP_MAC_ADMIN > # > -NotTheStartValue="17" > -StartValue=`cat /smack/direct` > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$onlycap\", > - echo not the expected \"\". > - exit 1 > -fi > +source smack_common.sh > > -echo $NotTheStartValue > /smack/direct > +NotTheStartValue="17" > +StartValue=`cat "$smackfsdir/direct" 2>/dev/null` > + > +echo "$NotTheStartValue" 2>/dev/null > "$smackfsdir/direct" > > -DirectValue=`cat /smack/direct` > +DirectValue=`cat "$smackfsdir/direct" 2>/dev/null` > if [ "$DirectValue" != "$NotTheStartValue" ]; then > - echo The CIPSO direct level reported is \"$DirectValue\", > - echo not the expected \"$NotTheStartValue\". > + cat <<EOM > +The CIPSO direct level reported is "$DirectValue", > +not the expected "$NotTheStartValue". > +EOM > exit 1 > fi > > -echo "$StartValue" > /smack/direct > +echo "$StartValue" 2>/dev/null> "$smackfsdir/direct" > > -DirectValue=`cat /smack/direct` > +DirectValue=`cat "$smackfsdir/direct" 2>/dev/null` > if [ "$DirectValue" != "$StartValue" ]; then > - echo The CIPSO direct level reported is \"$DirectValue\", > - echo not the expected \"$StartValue\". > + cat <<EOM > +The CIPSO direct level reported is "$DirectValue", > +not the expected "$StartValue". > +EOM > exit 1 > fi > - > -exit 0 > Index: smack_set_doi.sh > =================================================================== > RCS file: /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_doi.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_doi.sh > --- smack_set_doi.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_doi.sh 31 Jul 2009 06:17:05 -0000 > @@ -9,31 +9,31 @@ > # Environment: > # CAP_MAC_ADMIN > # > -NotTheStartValue="17" > -StartValue=`cat /smack/doi` > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$onlycap\", > - echo not the expected \"\". > - exit 1 > -fi > +source smack_common.sh > + > +NotTheStartValue="17" > +StartValue=`cat "$smackfsdir/doi" 2>/dev/null` > > -echo $NotTheStartValue > /smack/doi > +echo "$NotTheStartValue" 2>/dev/null > "$smackfsdir/doi" > > -DirectValue=`cat /smack/doi` > +DirectValue=`cat "$smackfsdir/doi" 2>/dev/null` > if [ "$DirectValue" != "$NotTheStartValue" ]; then > - echo The CIPSO doi reported is \"$DirectValue\", > - echo not the expected \"$NotTheStartValue\". > + cat <<EOM > +The CIPSO doi reported is "$DirectValue", > +not the expected "$NotTheStartValue". > +EOM > exit 1 > fi > > -echo "$StartValue" > /smack/doi > +echo "$StartValue" 2>/dev/null > "$smackfsdir/doi" > > -DirectValue=`cat /smack/doi` > +DirectValue=`cat "$smackfsdir/doi" 2>/dev/null` > if [ "$DirectValue" != "$StartValue" ]; then > - echo The CIPSO doi reported is \"$DirectValue\", > - echo not the expected \"$StartValue\". > + cat <<EOM > +The CIPSO doi reported is "$DirectValue", > +not the expected "$StartValue". > +EOM > exit 1 > fi > > Index: smack_set_load.sh > =================================================================== > RCS file: /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_load.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_load.sh > --- smack_set_load.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_load.sh 31 Jul 2009 06:17:05 -0000 > @@ -13,45 +13,41 @@ > # > # 1 2 3 4 5 6 > # 123456789012345678901234567890123456789012345678901234567890123456789 > + > +source smack_common.sh > + > RuleA="TheOne TheOther rwxa" > RuleB="TheOne TheOther r---" > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > - > -OldRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > +OldRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '` > > -echo -n "$RuleA" > /smack/load > -NewRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleA" 2>/dev/null > "$smackfsdir/load" > +NewRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > exit 1 > fi > -Mode=`echo $NewRule | sed -e 's/.* //'` > +Mode=`echo "$NewRule" | sed -e 's/.* //'` > if [ "$Mode" != "rwxa" ]; then > - echo Rule \"$NewRule\" is not set correctly. > + echo "Rule \"$NewRule\" is not set correctly." > exit 1 > fi > > -echo -n "$RuleB" > /smack/load > -NewRule=`grep "^TheOne" /smack/load | grep ' TheOther '` > -if [ "$NewRule" == "" ]; then > - echo Rule did not get set. > +echo -n "$RuleB" 2>/dev/null > "$smackfsdir/load" > +NewRule=`grep "^TheOne" "$smackfsdir/load" 2>/dev/null | grep ' TheOther '` > +if [ "$NewRule" = "" ]; then > + echo "Rule did not get set." > exit 1 > fi > -Mode=`echo $NewRule | sed -e 's/.* //'` > +Mode=`echo "$NewRule" | sed -e 's/.* //'` > if [ "$Mode" != "r" ]; then > - echo Rule \"$NewRule\" is not set correctly. > + echo "Rule \"$NewRule\" is not set correctly." > exit 1 > fi > > if [ "$OldRule" != "$NewRule" ]; then > - echo Notice: Test access rule changed from > - echo \"$OldRule\" to \"$NewRule\". > + cat <<EOM > +Notice: Test access rule changed from > +"$OldRule" to "$NewRule". > +EOM > fi > - > -exit 0 > Index: smack_set_netlabel.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_netlabel.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_netlabel.sh > --- smack_set_netlabel.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_netlabel.sh 31 Jul 2009 06:17:05 -0000 > @@ -9,41 +9,40 @@ > # Environment: > # CAP_MAC_ADMIN > # > + > +source smack_common.sh > + > RuleA="191.191.191.191 TheOne" > RuleA1="191.191.191.191/32 TheOne" > RuleB="191.190.190.0/24 TheOne" > > -onlycap=`cat /smack/onlycap` > -if [ "$onlycap" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"\". > - exit 1 > -fi > +Old32=`grep "^191.191.191.191/32" "$smackfsdir/netlabel" 2>/dev/null` > +Old24=`grep "^191.190.190.0/24" "$smackfsdir/netlabel" 2>/dev/null` > > -Old32=`grep "^191.191.191.191/32" /smack/netlabel` > -Old24=`grep "^191.190.190.0/24" /smack/netlabel` > - > -echo -n "$RuleA" > /smack/netlabel > -New32=`grep "$RuleA1" /smack/netlabel` > +echo -n "$RuleA" 2>/dev/null > "$smackfsdir/netlabel" > +New32=`grep "$RuleA1" $smackfsdir/netlabel 2>/dev/null` > if [ "$New32" != "$RuleA1" ]; then > - echo Rule \"$RuleA\" did not get set. > + echo "Rule \"$RuleA\" did not get set." > exit 1 > fi > > -echo -n "$RuleB" > /smack/netlabel > -New24=`grep "$RuleB" /smack/netlabel` > +echo -n "$RuleB" 2>/dev/null > "$smackfsdir/netlabel" > +New24=`grep "$RuleB" "$smackfsdir/netlabel" 2>/dev/null` > if [ "$New24" != "$RuleB" ]; then > - echo Rule \"$RuleB\" did not get set. > + echo "Rule \"$RuleB\" did not get set." > exit 1 > fi > > if [ "$Old24" != "$New24" ]; then > - echo Notice: Test access rule changed from > - echo \"$Old24\" to \"$New24\". > + cat <<EOM > +Notice: Test access rule changed from > +"$Old24" to "$New24". > +EOM > fi > + > if [ "$Old32" != "$New32" ]; then > - echo Notice: Test access rule changed from > - echo \"$Old32\" to \"$New32\". > + cat <<EOM > +Notice: Test access rule changed from > +"$Old32" to "$New32". > +EOM > fi > - > -exit 0 > Index: smack_set_onlycap.sh > =================================================================== > RCS file: > /cvsroot/ltp/ltp/testcases/kernel/security/smack/smack_set_onlycap.sh,v > retrieving revision 1.1 > diff -u -r1.1 smack_set_onlycap.sh > --- smack_set_onlycap.sh 19 Mar 2009 07:27:06 -0000 1.1 > +++ smack_set_onlycap.sh 31 Jul 2009 06:17:05 -0000 > @@ -9,31 +9,30 @@ > # Environment: > # CAP_MAC_ADMIN > # > -MyLabel=`cat /proc/self/attr/current` > -StartLabel=`cat /smack/onlycap` > > -if [ "$StartLabel" != "" ]; then > - echo The smack label reported for /smack/onlycap is \"$StartLabel\", > - echo not the expected \"\". > - exit 1 > -fi > +source smack_common.sh > > -echo $MyLabel > /smack/onlycap > +MyLabel=`cat /proc/self/attr/current 2>/dev/null` > +StartLabel=`cat "$smackfsdir/onlycap" 2>/dev/null` > > -label=`cat /smack/onlycap` > +echo "$MyLabel" 2>/dev/null > "$smackfsdir/onlycap" > + > +label=`cat "$smackfsdir/onlycap" 2>/dev/null` > if [ "$label" != "$MyLabel" ]; then > - echo The smack label reported for /smack/onlycap is \"$label\", > - echo not the expected \"$MyLabel\". > + cat <<EOM > +The smack label reported for $smackfsdir/onlycap is "$label", > +not the expected "$MyLabel". > +EOM > exit 1 > fi > > -echo "$StartLabel" > /smack/onlycap > +echo "$StartLabel" 2>/dev/null > "$smackfsdir/onlycap" > > -label=`cat /smack/onlycap` > +label=`cat "$smackfsdir/onlycap" 2>/dev/null` > if [ "$label" != "$StartLabel" ]; then > - echo The smack label reported for the current process is \"$label\", > - echo not the expected \"$StartLabel\". > + cat <<EOM > +The smack label reported for the current process is "$label", > +not the expected "$StartLabel". > +EOM > exit 1 > fi > - > -exit 0 > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Ltp-list mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ltp-list ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
