RE: [PATCH] xfstests: fix NIS detection damage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dave Chinner <dchinner@xxxxxxxxxx> 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@xxxxxxxxxx>
>---
> 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@xxxxxxxxxxx
>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



_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux