#!/bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin # ifup-post for PPP is handled through /etc/ppp/ip-up if [ "$1" != daemon ] ; then # just in case a full path to the configuration file is passed in ifcfg=$(basename $1) shift # let ppp-watch do the right thing exec /sbin/ppp-watch "$ifcfg" "$@" fi shift cd /etc/sysconfig/network-scripts . network-functions CONFIG=$1 [ -f "$CONFIG" ] || CONFIG=ifcfg-$1 source_config if [ -z "$DISCONNECTTIMEOUT" ]; then DISCONNECTTIMEOUT=2 fi if [ -z "$RETRYTIMEOUT" ]; then RETRYTIMEOUT=30 fi if [ "$2" = "boot" -a "${ONBOOT}" = "no" ]; then exit fi [ -x /usr/sbin/pppd ] || { echo "/usr/sbin/pppd does not exist or is not executable" echo "ifup-ppp for $DEVICE exiting" logger -p daemon.info -t ifup-ppp \ "/usr/sbin/pppd does not exist or is not executable for $DEVICE" exit 1 } [ -n "$WVDIALSECT" -o -f /etc/sysconfig/network-scripts/chat-$DEVICE ] || { echo "/etc/sysconfig/network-scripts/chat-$DEVICE does not exist" echo "ifup-ppp for $DEVICE exiting" logger -p daemon.info -t ifup-ppp \ "/etc/sysconfig/network-scripts/chat-$DEVICE does not exist for $DEVICE" exit 1 } opts="lock" if [ "${HARDFLOWCTL}" != no ] ; then opts="$opts modem crtscts" fi if [ "${ESCAPECHARS}" != yes ] ; then opts="$opts asyncmap 00000000" fi if [ "${DEFROUTE}" != no ] ; then # pppd will no longer delete an existing default route # so we have to help it out a little here. route del default >/dev/null 2>&1 opts="$opts defaultroute" fi if [ "${PEERDNS}" != no ] ; then opts="$opts usepeerdns" fi if [ -n "${MRU}" ] ; then opts="$opts mru ${MRU}" fi if [ -n "${MTU}" ] ; then opts="$opts mtu ${MTU}" fi if [ -n "${IPADDR}${REMIP}" ] ; then # if either IP address is set, the following will work. opts="$opts ${IPADDR}:${REMIP}" fi if [ -n "${PAPNAME}" ] ; then opts="$opts user ${PAPNAME} remotename ${DEVNAME}" fi if [ "${DEBUG}" = yes ] ; then opts="$opts debug" chatdbg="-v" fi if [ -z "$WVDIALSECT" ] ; then CHATSCRIPT=/etc/sysconfig/network-scripts/chat-$DEVNAME [ -f $CHATSCRIPT ] || { CHATSCRIPT=/etc/sysconfig/network-scripts/chat-$PARENTDEVNAME } else CHATSCRIPT= fi (logger -p daemon.info -t ifup-ppp \ "pppd started for $DEVICE on $MODEMPORT at $LINESPEED" &)& if [ -n "$WVDIALSECT" ] ; then exec /usr/sbin/pppd -detach $opts $MODEMPORT $LINESPEED \ ipparam $DEVICE linkname $DEVICE \ noauth \ ${PPPOPTIONS} \ connect "/usr/bin/wvdial --remotename $DEVICE --chat $WVDIALSECT" else exec /usr/sbin/pppd -detach $opts $MODEMPORT $LINESPEED \ ipparam $DEVICE linkname $DEVICE \ noauth \ ${PPPOPTIONS} \ connect "/usr/sbin/chat $chatdbg -f $CHATSCRIPT" fi