#!/bin/bash



###############################
###############################
#
# Display help text
#
###############################
###############################

helptext() {

	echo ""
	echo "------------------------------------------------"
	echo " Script to test network configuration settings "
	echo " on a system."
	echo ""
	echo " -h             Display help text (this text)"
	echo " -o <target>    Redirect outpput from stdout to "
	echo "                <target> file. If <target>"
	echo "                already exists it will be "
	echo "                overwritten"
#	echo " With parameter -o <target> output can be re- "
#	echo " directed from stdout to <target> file."
	echo "------------------------------------------------"

	exit 0
}

###############################
###############################
#
# Initial configuration of script behaviour
#
##############################
##############################

while getopts "o:h" OPTIONS
do
	case $OPTIONS in
	o)
	TARGETFILE=$OPTARG
	OUTPUTTOFILE=1;;
	h)
	helptext;;
	esac
done



typeset -i OUTPUTTOFILE
if  (( OUTPUTTOFILE == 1 ))
then
	if [ -f "$TARGETFILE"  ]
	then 
		> $TARGETFILE
	fi
	exec 1>$TARGETFILE
fi





#####################
#####################
#
#  Test available NFS-Shares  
#
####################
####################
	
	echo 
	echo ------------------------ 
	echo Testing for available NFS shares 
	echo ------------------------


NFSSHAREDIRS=""
COUNTER=0
NFSNUMBER=0

NFSSHAREDIRS=$( grep : /etc/mtab | awk -F' ' '{print $2}')
NFSNUMBER=$(  echo $NFSSHAREDIRS  | awk -F' ' '{print NF}' )
#echo $NFSSHAREDIRS | awk -F' ' '{print $2}'


	echo Number of detected NFS shared directorys:  $NFSNUMBER


for  (( i = 1; i <= NFSNUMBER; i++))
do
	NFSARRAY[$i]=$( echo $NFSSHAREDIRS | awk -F' ' '{print '\$$i'}')

	if [ -d "${NFSARRAY[$i]}"    ]
	then
		echo NFS share ${NFSARRAY[$i]}: Directory is available 
		COUNTER=$(($COUNTER + 1  ))
	else 
		echo NFS share ${NFSARRAY[$i]}: Directory is not available
	fi
done 

if [ "$COUNTER" -eq "$NFSNUMBER"  ]
then
	echo "**" All NFS shares are available "**"

fi


echo 
echo ------------------------	
echo Testing for http and ftp proxy entries
echo ------------------------



HTTPPROXYSTRING=""
FTPPROXYSTRING=""
HTTPPROXY=""
HTTPPROXYPORT=""
FTPPROXYPORT=""
FTPPROXY=""
COUNTER=0

HTTPPROXYSTRING=$( echo $http_proxy )

if [ "$HTTPPROXYSTRING" != "" ]
then
	HTTPPROXY=$( echo $HTTPPROXYSTRING | awk -F'//' '{print $2}' | awk -F':' '{print $1}' )
	HTTPPROXYPORT=$( echo $HTTPPROXYSTRING | awk -F'//' '{print $2}' | awk -F':' '{print $2}' )
#	echo $http_proxy
#	echo $HTTPPROXY

	if [ "$HTTPPROXYPORT" == "" ]
	then
		HTTPPROXYPORT=8080
	fi

	COUNTER=$( ( echo Q ) | telnet -e Q $HTTPPROXY $HTTPPROXYPORT | grep Connected | wc -l)
	
	if [ $COUNTER -eq 1  ]
	then
		echo http proxy $HTTPPROXYSTRING responds to ping
		COUNTER=0
	else
		echo http proxy $HTTPPROXYSTRING did not respond to ping
	fi
else 
	echo No http proxy set
fi

COUNTER=0


FTPPROXYSTRING=$( echo $ftp_proxy )

if [ "$FTPPROXYSTRING" != "" ]
then
	FTPPROXY=$( echo $FTPPROXYSTRING  | awk -F'//' '{print $2}' | awk -F':' '{print $1}' )
	FTPPROXYPORT=$( echo $FTPPROXYSTRING  | awk -F'//' '{print $2}' | awk -F':' '{print $2}' )

	if [ "$FTPPROXYPORT" == "" ]
	then
		FTPPROXYPORT=8021
	fi




	COUNTER=$(  echo Q  | telnet -e Q $FTPPROXY $FTPPROXYPORT | grep Connected | wc -l)

	
		if [ $COUNTER -eq 1  ]
		then
			echo ftp proxy $FTPPROXYSTRING responds to ping
			COUNTER=0
		else
			echo ftp proxy $FTTPPROXYSTRING did not respond to ping
		fi
else 
	echo No ftp proxy set
fi




