[PATCH] xfstests: fix NIS detection damage

Kinzel, David David.Kinzel at encana.com
Tue Aug 10 08:44:10 CDT 2010


Dave Chinner <dchinner at redhat.com> said,
>
>NIS detection wasn't tested on machines without NIS enabled, 
>so many tests are
>failing on non-NIS machines. the _yp_active function has no 
>specific return
>value so always evaluates as 0 (active) and the "_cat_passwd" 
>function is
>called from within an awk script which is not valid as the 
>shell may run with a
>sanitised environment. Hence the functions do not need 
>specific export calls,
>either, as unsanitised subshells will automatically inherit 
>the parent's
>environment.
>

Is there any reason why getent passwd/group cannot be used for these, as
it would get local and nss defined accounts? This would add support for
people using LDAP as well.


>Signed-off-by: Dave Chinner <dchinner at redhat.com>
>---
> common.attr |    9 +++++++--
> common.rc   |    6 +++---
> 2 files changed, 10 insertions(+), 5 deletions(-)
>
>diff --git a/common.attr b/common.attr
>index 51616bc..6ba0b32 100644
>--- a/common.attr
>+++ b/common.attr
>@@ -90,10 +90,14 @@ _create_n_aces()
> #
> _filter_aces()
> {
>-    $AWK_PROG '
>+    tmp_file=`mktemp /tmp/ace.XXXXXX`
>+
>+    (_cat_passwd; _cat_group) > $tmp_file
>+
>+    $AWK_PROG -v tmpfile=$tmp_file '
> 	BEGIN {
> 	    FS=":"
>-	    while ( "_cat_passwd" | getline > 0 ) {
>+	    while ( getline <tmpfile > 0 ) {
> 		idlist[$1] = $3 
> 	    }
> 	}
>@@ -102,6 +106,7 @@ _filter_aces()
> 	/^default:user/ { if ($3 in idlist) sub($3, 
>idlist[$3]); print; next}
> 	{print}
>     '
>+    rm -f $tmp_file
> }
> 
> _filter_aces_notypes()
>diff --git a/common.rc b/common.rc
>index e0cdfe6..08d4f71 100644
>--- a/common.rc
>+++ b/common.rc
>@@ -800,13 +800,14 @@ _yp_active()
> 	local dn
> 	dn=$(domainname 2>/dev/null)
> 	test -n "${dn}" -a "${dn}" != "(none)"
>+	echo $?
> }
> 
> # cat the password file
> #
> _cat_passwd()
> {
>-	[ _yp_active ] && ypcat passwd
>+	[ $(_yp_active) -eq 0 ] && ypcat passwd
> 	cat /etc/passwd
> }
> 
>@@ -814,10 +815,9 @@ _cat_passwd()
> #
> _cat_group()
> {
>-	[ _yp_active ] && ypcat group
>+	[ $(_yp_active) -eq 0 ] && ypcat group
> 	cat /etc/group
> }
>-export -f _yp_active _cat_passwd _cat_group
> 
> # check for the fsgqa user on the machine
> #
>-- 
>1.7.1
>
>_______________________________________________
>xfs mailing list
>xfs at oss.sgi.com
>http://oss.sgi.com/mailman/listinfo/xfs
>

This email communication and any files transmitted with it may contain confidential and or proprietary information and is provided for the use of the intended recipient only.  Any review, retransmission or dissemination of this information by anyone other than the intended recipient is prohibited.  If you receive this email in error, please contact the sender and delete this communication and any copies immediately.  Thank you.
http://www.encana.com






More information about the xfs mailing list