#!/bin/csh -f

# This script recursively expands a netgroup from NIS.
#  Uses ipa if ypmatch not available. 9/30/20

if (! -e /usr/bin/ypmatch) goto useipa

set FOO = `ypmatch $1 netgroup`
if ($status) exit
foreach BAR($FOO)
	echo "$BAR" | grep "(" > /dev/null
#	echo $status
	if ($status) then
		$0 $BAR
	else
		echo $BAR
	endif
end
exit

useipa:
set TMP = /tmp/`basename $0`.$$
ipa netgroup-show $1 >& $TMP
set FOO = `grep "Member netgroups:" $TMP | sed -e 's;.*:;;' -e 's;,;;g'`
set BAZ = `grep -i "host:" $TMP | sed -e 's;.*:;;' -e 's;,;;g'`
foreach BAR($FOO)
    $0 $BAR
end
foreach BAR($BAZ)
    echo "("$BAR",-,)"
end

/bin/rm -f $TMP
