#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
#    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 1, 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.
#
#     Please see the file `COPYING' for the complete copyright notice.
#
# SunOS/5/gen_passwd_sets - 06/14/93
#
#-----------------------------------------------------------------------------
#

local=0
for parm
do
  case "$parm" in
    -p) passwordflag=Y;;
    -l) local=1;;
    *)	outfile="$parm";;
  esac
done

zappasswd()
{
  IFS=:
  while read user passwd rest
  do
    case $passwd in
      [a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./][a-zA-Z0-9\./])
	     passwd="xxxxxxxxxxxxx"
	   ;;
      " ") passwd=""
	   ;;
	*)
	     passwd="*"
	   ;;
    esac
    echo "$user:$passwd:$rest" 
  done
}

$SORT /etc/passwd > $WORKDIR/p.$$
$SORT /etc/shadow |
$JOIN -t: -e " " -o 2.1 1.2 2.3 2.4 2.5 2.6 2.7 - $WORKDIR/p.$$ |
{
  if [ "$passwordflag" = 'Y' ]; then
    $CAT
  else
    zappasswd
  fi
} > $WORKDIR/etc_passwd.$$
	   
[ -s $WORKDIR/etc_passwd.$$ ] && {
  echo "/etc/passwd" > $WORKDIR/etc_passwd.$$.src
  echo $WORKDIR/etc_passwd.$$ >> $outfile
}
$RM -f $WORKDIR/p.$$
