1#!/bin/sh 2#
| 1#!/bin/sh 2#
|
3# $FreeBSD: head/etc/rc.d/ppp 168119 2007-03-31 09:03:38Z mtm $
| 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}"
| 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_precmd="ppp_prestart"
| 15start_cmd="ppp_start"
|
16start_postcmd="ppp_poststart" 17
| 16start_postcmd="ppp_poststart" 17
|
18ppp_prestart()
| 18ppp_start_profile()
|
19{
| 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
|
20 # Establish ppp mode. 21 #
| 38 # Establish ppp mode. 39 #
|
22 if [ "${ppp_mode}" != "ddial" -a "${ppp_mode}" != "direct" \ 23 -a "${ppp_mode}" != "dedicated" \ 24 -a "${ppp_mode}" != "background" ]; then 25 ppp_mode="auto"
| 40 if [ "${_ppp_mode}" != "ddial" -a "${_ppp_mode}" != "direct" \ 41 -a "${_ppp_mode}" != "dedicated" \ 42 -a "${_ppp_mode}" != "background" ]; then 43 _ppp_mode="auto"
|
26 fi 27
| 44 fi 45
|
28 rc_flags="$rc_flags -quiet -${ppp_mode}"
| 46 rc_flags="-quiet -${_ppp_mode}"
|
29 30 # Switch on NAT mode? 31 #
| 47 48 # Switch on NAT mode? 49 #
|
32 case ${ppp_nat} in
| 50 case ${_ppp_nat} in
|
33 [Yy][Ee][Ss]) 34 rc_flags="$rc_flags -nat" 35 ;; 36 esac 37
| 51 [Yy][Ee][Ss]) 52 rc_flags="$rc_flags -nat" 53 ;; 54 esac 55
|
38 rc_flags="$rc_flags ${ppp_profile}"
| 56 # Run! 57 # 58 su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}"
|
39} 40
| 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
|
41ppp_poststart() 42{ 43 # Re-Sync ipfilter and pf so they pick up any new network interfaces 44 # 45 /etc/rc.d/ipfilter resync 46 /etc/rc.d/pf resync 47} 48 49load_rc_config $name 50run_rc_command "$1"
| 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"
|