#!/bin/sh
######################################################################
## $Id: sample-etc_ppp_ip-up.local 128 2011-07-11 20:24:43Z wimpunk $
######################################################################
## 
## On my host, pppd invokes this script with args:
## /etc/ppp/ip-up.local ppp0 /dev/pts/1 115200 192.168.2.1 192.168.2.3
##
## From the manual page for my pppd, these aguments are:
##   scriptname interface-name tty-device speed local-IP-address remote-IP-address ipparam
##
## Some people have reported that their pppd returns their 
## local-IP-address as $3.  If that's also the case for you,
## you may need to change the $4 below to $3.  This may not
## be necessary if your pppd also passes the local-ip-address
## in the environment as either PPP_LOCAL or IPLOCAL.
##
######################################################################
PATH=/usr/sbin:${PATH}
IP=
IP=${IP:-$PPP_LOCAL}
IP=${IP:-$IPLOCAL}
IP=${IP:-$4}

IFACE=
IFACE=${IFACE:-$PPP_IFACE}
IFACE=${IFACE:-$1}

## update the DNS server unless the IP address is a private address
## that may be used as an internal LAN address (or PPtP tunnel).

logger -t ddclient $0 $*
case "$IP" in
10.*)		;;
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*)	;;
192.168.*)	;;
"")		logger -t ddclient No local IP given so cannot update
		;;
*)		(
			sleep 5
			ddclient -daemon=0 -syslog -use=if -if=$IFACE >/dev/null 2>&1
		) &
		;;
esac
