#!/bin/sh

# save parameters
INTERFACE_NAME=$1
TTY_DEVICE=$2
SPEED=$3
LOCAL_IP_ADDRESS=$4
REMOTE_IP_ADDRESS=$5
IPPARAM=$6

LOGGER="/bin/logger -t $0 PPP_POPTOP UP "

printEnv () {
# print environment to log
    $LOGGER "DEVICE=$DEVICE"
    $LOGGER "IFNAME=$IFNAME"
    $LOGGER "IPLOCAL=$IPLOCAL"
    $LOGGER "IPREMOTE=$IPREMOTE"
    $LOGGER "PEERNAME=$PEERNAME"
    $LOGGER "SPEED=$SPEED"
    $LOGGER "ORIG_UID=$ORIG_UID"
    $LOGGER "PPPLOGNAME=$PPPLOGNAME"
    $LOGGER "DNS1=$DNS1"
    $LOGGER "DNS2=$DNS2"

    $LOGGER "CONNECT_TIME=$CONNECT_TIME"
    $LOGGER "BYTES_SENT=$BYTES_SENT"
    $LOGGER "BYTES_RCVD=$BYTES_RCVD"
    $LOGGER "LINKNAME=$LINKNAME"
    $LOGGER "IPPARAM=$IPPARAM"
}

dumpData () {
    DUMPFILE="/var/run/poptop/$PEERNAME.up"
    PID=`cat /var/run/$IFNAME.pid`
    IPCLIENT=`cat /var/run/pptpd.ips | grep $PID | /bin/cut -f 2 -d "="`
    echo "IFNAME=$IFNAME"	>  $DUMPFILE
    echo "IPCLIENT=$IPCLIENT"	>> $DUMPFILE
    echo "IPLOCAL=$IPLOCAL"	>> $DUMPFILE
    echo "IPREMOTE=$IPREMOTE"	>> $DUMPFILE
    echo "PEERNAME=$PEERNAME"	>> $DUMPFILE
    echo "PID=$PID"		>> $DUMPFILE
}
##################################################
$LOGGER "Start"

printEnv

if [ -d "/proc/$PPID" ]; then
    PPTPDPID=`cat /proc/$PPID/status | grep "PPid:" | cut -f 2`
    if [ -d "/proc/$PPTPDPID" ]; then
	x=`/bin/cat /proc/$PPTPDPID/cmdline | /bin/cut -f 2 -d "[" | /bin/cut -f 1 -d "]"`

	$LOGGER "Create $PPID = $x"
	/bin/modifycf -c /var/run/pptpd.ips -k "$PPID" -v "$x" > /dev/null 2>&1
    fi
fi

if [ "$PEERNAME" != "" ]; then
    dumpData
    /bin/cac-helper -a -t "pptp" -n "PPTP:$PEERNAME" -i "$IPREMOTE"
#    /bin/addroute -b -v "PPTP:$PEERNAME" -i "$IFNAME" > /dev/null 2>&1
    /bin/vpnnotifymessenger PPTP up $PEERNAME
    test=$(/bin/translate 'PPTP-Tunnel to $PEERNAME successfully started')
    /bin/raise_event -a VPN -n "Tunnel Started" -t "$test" > /dev/null 2>&1
fi

# inform cm
/bin/notifier -routechange &

$LOGGER "End"
exit 0
