#!/bin/sh
# /etc/ppp/automail
#
# automatische Einwahl und Mail holen
#
#
echo "`date` $0 $1 $3 gestartet" 
echo "starte usereinwahl" 
#
if [ "$1" = "" ] ; then
benutz="u13547"
else
benutz="$1"
fi
#
echo Benutzer : $benutz
#
if [ "$2" = "" ] ; then
pass="fi2rSymb"
else
pass="$2"
fi
#
if [ "$3" = "" ] ; then 
timeout="60"
else
timeout="$3"
fi
#
if [ "$4" = "" ] ; then
	if [ "$3" = "" ] ; then
		telefongesellschaft=""
	else
		telefongesellschaft="$3"
	fi
else
	telefongesellschaft="$4"
fi
#
echo $0 $benutz $pass $timeout
#
if ! (/etc/ppp/usereinwahl "$benutz" "$pass" "$telefongesellschaft" ) ; then
	exit 1
fi
#

online=`tail -4 /var/log/messages | grep "remote IP address"`
echo "Online : $online"
echo "-----------------"
T=0
echo "warte auf Online-Status"
while [ "$online" = "" ] && [ "$T" -le "50" ] 
do
	online=`tail -4 /var/log/messages | grep "remote IP address"`
	if [ "$online" = "" ] ; then
	T=$[$T+5]
	else
	echo "$online"
	fi
	sleep 5
done
#
if [ "$T" -ge "50" ] ; then
	echo "Einwahl-Timeout erreicht "
	/etc/ppp/ppp-off
	exit 3
fi
#
timeout=$[$timeout-$T]
echo "Zeit fuer die Einwahl: $T "
echo
echo "Verbleibende Zeit: $timeout s"
#
# Uhr stellen
# 
echo Stelle Uhr...
date
/usr/sbin/ntpdate -b sodom.rz.tu-clausthal.de
/sbin/hwclock --systohc
date
#
timeout=$[$timeout-6]
# ... das Uhr stellen hat ca 6s gedauert...
#
# EMail-Austausch
echo "Mail..."
/usr/sbin/sendmail -bp 
# Mail holen
/etc/ppp/massenmail `ls /home` 
#
timeout=$[$timeout-15]
# ca 15s für Mail holen... 
#
# mail senden
/usr/sbin/sendmail -q -o ForkEachJob 
#
T=0
mail=`/usr/sbin/sendmail -bp | grep "Mail queue is empty"`
/usr/sbin/sendmail -bp
#
while [ "$mail" != "Mail queue is empty" ] && [ "$T" -le "$timeout" ] 
do
	mail=`/usr/sbin/sendmail -bp | grep "Mail queue is empty"`	
        T=$[$T+10]
	if [ $T -ge $timeout ] ; then
	    echo "sendmail -q timeout ($timeout s)..."
	    if /etc/ppp/ppp-off ; then
		 date
		 exit 4
	    else
		echo "Fehler bei der Abwahl"
		date
	        exit 6
	    fi
	fi
	sleep 10
done
#
if [ $T -ge $timeout ] ; then
    echo "sendmail -q timeout ($T s)..."
    if /etc/ppp/ppp-off ; then
	 date
	 exit 4
    else
	echo "Fehler bei der Abwahl"
	date
        exit 6
    fi
fi
#
echo "Zeit: $T von $timeout"
echo "Abwahl..."
if /etc/ppp/ppp-off ; then
	echo "Skript erfolgreich"
	date
	exit 8
else
	echo "Fehler bei der Abwahl"
	exit 5
fi



