ppp revision 172586
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/ppp 172586 2007-10-12 16:35:36Z emax $ 4# 5 6# PROVIDE: ppp 7# REQUIRE: netif isdnd 8# KEYWORD: nojail 9 10. /etc/rc.subr 11 12name="ppp" 13rcvar=`set_rcvar` 14command="/usr/sbin/${name}" 15start_cmd="ppp_start" 16start_postcmd="ppp_poststart" 17 18ppp_start_profile() 19{ 20 local _ppp_profile _ppp_mode _ppp_nat 21 22 _ppp_profile=$1 23 24 # Check for ppp profile mode override. 25 # 26 eval _ppp_mode=\$ppp_${_ppp_profile}_mode 27 if [ -z "$_ppp_mode" ]; then 28 _ppp_mode=$ppp_mode 29 fi 30 31 # Check for ppp profile nat override. 32 # 33 eval _ppp_nat=\$ppp_${_ppp_profile}_nat 34 if [ -z "$_ppp_nat" ]; then 35 _ppp_nat=$ppp_nat 36 fi 37 38 # Establish ppp mode. 39 # 40 if [ "${_ppp_mode}" != "ddial" -a "${_ppp_mode}" != "direct" \ 41 -a "${_ppp_mode}" != "dedicated" \ 42 -a "${_ppp_mode}" != "background" ]; then 43 _ppp_mode="auto" 44 fi 45 46 rc_flags="-quiet -${_ppp_mode}" 47 48 # Switch on NAT mode? 49 # 50 case ${_ppp_nat} in 51 [Yy][Ee][Ss]) 52 rc_flags="$rc_flags -nat" 53 ;; 54 esac 55 56 # Run! 57 # 58 su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}" 59} 60 61ppp_start() 62{ 63 local _p 64 65 echo -n "Starting PPP profile:" 66 67 for _p in $ppp_profile; do 68 echo -n " $_p" 69 ppp_start_profile $_p 70 done 71 72 echo "." 73} 74 75ppp_poststart() 76{ 77 # Re-Sync ipfilter and pf so they pick up any new network interfaces 78 # 79 /etc/rc.d/ipfilter resync 80 /etc/rc.d/pf resync 81} 82 83load_rc_config $name 84run_rc_command "$1" 85