#!/bin/bash
    
export PATH=/sbin:/usr/sbin:/root/bin:/usr/local/sbin:$PATH:/usr/sl
    
DEVICE=`cat /tmp/ppp.device`

# WWWOffle auf Offline schalten
runs wwwoffled > /dev/null
if [ $? -eq 0 ]; then
    echo "Schalte WWWOffle Offline."
    wwwoffle -offline;
fi

# Test, ob gerade noch News/Mail transferiert werden
if [ -e /var/lock/ppp-on.lock ]; then
  echo "Es läuft noch das PPP-ON und transferiert Mail/News."
  echo "Abbruch nicht möglich!"
  exit 1;
fi

# MGetty oder VGetty anhalten
mgetty=`which mgetty`
vgetty=`which vgetty`
if which killproc >/dev/null 2>/dev/null
then
  killproc -STOP $mgetty > /dev/null
  killproc -STOP $vgetty > /dev/null
else
  killall -q --signal STOP $mgetty > /dev/null
  killall -q --signal STOP $vgetty > /dev/null
fi

#
# If the ppp0 pid file is present then the program is running. Stop it.
if [ -r /var/run/$DEVICE.pid ]
then
      kill -INT `cat /var/run/$DEVICE.pid`
      #
      # If unsuccessful, ensure that the pid file is removed.
      #
      if [ ! "$?" = "0" ]
      then
       	echo "removing stale $DEVICE pid file."
       	rm -f /var/run/$DEVICE.pid
       	if which killproc >/dev/null 2>/dev/null
       	 then
       	    killproc -CONT $mgetty > /dev/null
       	    killproc -CONT $vgetty > /dev/null
       	 else
       	    killall -q --signal CONT $mgetty > /dev/null
       	    killall -q --signal CONT $vgetty > /dev/null
       	  fi
       	  exit 1
        fi
        #
        # Success. Terminate with proper status.
        #
        echo "$DEVICE link terminated"
	sleep 5
	cat /tmp/ppp-chat-disconnect.out
	unten=`grep ^3300 /tmp/ppp-chat-disconnect.out| awk '{print $2}'`
	oben=`grep ^3750 /tmp/ppp-chat-disconnect.out| awk '{print $2}'`
	diff=`expr $oben - $unten`
	echo
	echo "Leitungsqualität ist $diff"
	echo "Werte über 25 machen 56K unmöglich. Sehr gut wäre 0."
	echo
       	if which killproc >/dev/null 2>/dev/null
       	then
       	   killproc -CONT $mgetty > /dev/null
       	   killproc -CONT $vgetty > /dev/null
       	else
       	   killall -q --signal CONT $mgetty > /dev/null
       	   killall -q --signal CONT $vgetty > /dev/null
   	fi

	# Das muß in ip-down rein:
	#grep "pppd.*: Connect time " /var/log/syslog | tail -n 1 >> /var/log/ppp-sl.log
	#grep "pppd.*: Sent " /var/log/syslog | tail -n 1 >> /var/log/ppp-sl.log
	#chronyc <<EOF
	#password xyzzy
	#offline
	#EOF

	exit 0
fi

#
# The link is not active
#
if which killproc >/dev/null 2>/dev/null
then
   killproc -CONT $mgetty > /dev/null
   killproc -CONT $vgetty > /dev/null
else
   killall -q --signal CONT $mgetty > /dev/null
   killall -q --signal CONT $vgetty > /dev/null
fi
echo "$DEVICE link is not active"
exit 1
