ip-{up,down} scripts
Hi,
I noticed that the ip-{up,down} scripts are runned on _every_ ppp connections
which isn't, in mosts cases, the desired behaviour. It poses a problem for
people like me who connects to the internet with a modem with pppd and also
is on a local network with serial cables.
Here's a modification I did to the ip-{up,down} main scripts that sets
a variable that tells the scripts if the connection is local or not.
It can afterward be used by the packages script to act consequently.
It would be nice to add this to debian's ip-{up,down} scripts. Perhaps
the way I did it isn't best. Please give me some comments.
--
Remi Lefebvre - <remi@debian.org>
#!/bin/sh
#
# $Id: ip-up,v 1.2 1998/02/10 21:25:34 phil Exp $
#
# This script is run by the pppd after the link is established.
# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
# set IP address, run the mailq etc. you should create script(s) there.
#
# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
# after that package), so choose local script names with that in mind.
#
# This script is called with the following arguments:
# Arg Name Example
# $1 Interface name ppp0
# $2 The tty ttyS1
# $3 The link speed 38400
# $4 Local IP number 12.34.56.78
# $5 Peer IP number 12.34.56.99
# $6 Optional ``ipparam'' value foo
# The environment is cleared before executing this script
# so the path must be reset
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
# These variables are for the use of the scripts run by run-parts
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
# test if connecting to a local network
HOSTNAME=`hostname`
IP=`grep $HOSTNAME /etc/hosts | cut -f 1`
if [ $IP = $PPP_LOCAL ]; then
LOCAL=1
else
LOCAL=0
fi
export LOCAL
###
# as an additional convenience, $PPP_TTYNAME is set to the tty name,
# stripped of /dev/ (if present) for easier matching.
PPP_TTYNAME=`/usr/bin/basename "$2"`
export PPP_TTYNAME
# Main Script starts here
run-parts /etc/ppp/ip-up.d
# last line
Reply to: