#!/bin/sh

# Par Julien MOREAU	( jmoreau@bigfoot.com )

nbps=1				# Nombre de paramètres souhaités (avec option)
nom_cmde=`basename $0`		# Nom de la commande
usage="Usage: $nom_cmde [<login_du_serveur>]"		# Message d'aide
usage=$usage"\n\tPermet de se connecter a un serveur pour un xblast."

if test `uname` != "HP-UX" ; then e="-e" ; fi

rep=~moreau_j/bin_pub		# Répertoire de mes utilitaires

if [ $# -gt $nbps ] ; then	# Si le nombre de paramètres est incorrecte,
	echo $e $usage 1>&2 ; exit 2	# Affichage aide puis arrêt.
fi

servers=`ps -ef|grep xblast|grep -v grep|cut -c-8|sort|uniq`
nbserv=`echo $servers|wc -w`

if [ $# -eq 1 ] ; then
	serv=$1
else
	if [ nbserv -eq 0 ] ; then
		echo "Il y a pas de seveur xblast actif."
		$rep/ouinon "Voulez-vous faire le serveur"
		if [ $? -eq 0 ] ; then $rep/xbserv ; fi
		exit 0
	else
		if [ nbserv -eq 1 ] ; then
			serv=$servers
			echo $serv | read serv	# Pour enlever les espaces
			echo "Il n'y a qu'un seveur xblast actif : $serv."
			$rep/ouinon "Voulez-vous bien lui envoyer la clef"
			ret=$?
			if [ $ret -ne 0 ] ; then exit $ret ; fi
		else
			echo "Il y a plus d'un seveur xblast actif :"
			n=`expr $nbserv + 1`
		while [ $n -lt 0 -o $n -gt $nbserv ] ; do
			set $servers
			echo " 0) Pour quitter."
			i=1
			while [ $# -gt 0 ] ; do
			    echo $e " $i) `$rep/l2n $1` ($1 - `$rep/l2promo $1`)"
			    i=`expr $i + 1` ; shift
			done
			echo "Appuyer sur Entrée pour quitter."
			echo $e "Lequel (numéro) choisissez vous ? \c"
			read n
			if test -z "$n" -o "$n" = "0" ; then exit 1 ; fi
		done
			serv=`echo $servers|cut -d" " -f$n`
			if test -z "$serv" ; then exit 3 ; fi
		fi
	fi
fi

echo $serv | read serv	# Pour enlever les espaces

grep -q ^$serv /etc/passwd
if [ $? -ne 0 ] ; then
	echo $e "Le login \"$serv\" est inexistant sur cette machine !" 1>&2
#	exit 3
fi

echo $e "Envoie d'une clef xblast à l'utilisteur \"$serv\" ... \c"

ftmp=~/$nom_cmde.tmp
xauth list | mailx -s "Clef xblast" $serv 2>> $ftmp
ret=$?
if [ $ret -eq 0 ] ; then
	echo "OK."
else
	echo "échec !"
	cat $ftmp
fi
rm -f $ftmp

exit $ret

