ppp revision 172586
198184Sgordon#!/bin/sh 298184Sgordon# 398184Sgordon# $FreeBSD: head/etc/rc.d/ppp 172586 2007-10-12 16:35:36Z emax $ 498184Sgordon# 598184Sgordon 6151806Syar# PROVIDE: ppp 7113676Smtm# REQUIRE: netif isdnd 8136224Smtm# KEYWORD: nojail 998184Sgordon 1098184Sgordon. /etc/rc.subr 1198184Sgordon 1298184Sgordonname="ppp" 13138889Sbrianrcvar=`set_rcvar` 14151807Syarcommand="/usr/sbin/${name}" 15172586Semaxstart_cmd="ppp_start" 16168119Smtmstart_postcmd="ppp_poststart" 1798184Sgordon 18172586Semaxppp_start_profile() 1998184Sgordon{ 20172586Semax local _ppp_profile _ppp_mode _ppp_nat 21172586Semax 22172586Semax _ppp_profile=$1 23172586Semax 24172586Semax # Check for ppp profile mode override. 25172586Semax # 26172586Semax eval _ppp_mode=\$ppp_${_ppp_profile}_mode 27172586Semax if [ -z "$_ppp_mode" ]; then 28172586Semax _ppp_mode=$ppp_mode 29172586Semax fi 30172586Semax 31172586Semax # Check for ppp profile nat override. 32172586Semax # 33172586Semax eval _ppp_nat=\$ppp_${_ppp_profile}_nat 34172586Semax if [ -z "$_ppp_nat" ]; then 35172586Semax _ppp_nat=$ppp_nat 36172586Semax fi 37172586Semax 3898184Sgordon # Establish ppp mode. 3998184Sgordon # 40172586Semax if [ "${_ppp_mode}" != "ddial" -a "${_ppp_mode}" != "direct" \ 41172586Semax -a "${_ppp_mode}" != "dedicated" \ 42172586Semax -a "${_ppp_mode}" != "background" ]; then 43172586Semax _ppp_mode="auto" 4498184Sgordon fi 4598184Sgordon 46172586Semax rc_flags="-quiet -${_ppp_mode}" 4798184Sgordon 4898184Sgordon # Switch on NAT mode? 4998184Sgordon # 50172586Semax case ${_ppp_nat} in 5198184Sgordon [Yy][Ee][Ss]) 52138889Sbrian rc_flags="$rc_flags -nat" 5398184Sgordon ;; 5498184Sgordon esac 5598184Sgordon 56172586Semax # Run! 57172586Semax # 58172586Semax su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}" 59138889Sbrian} 6098184Sgordon 61172586Semaxppp_start() 62172586Semax{ 63172586Semax local _p 64172586Semax 65172586Semax echo -n "Starting PPP profile:" 66172586Semax 67172586Semax for _p in $ppp_profile; do 68172586Semax echo -n " $_p" 69172586Semax ppp_start_profile $_p 70172586Semax done 71172586Semax 72172586Semax echo "." 73172586Semax} 74172586Semax 75168119Smtmppp_poststart() 76138889Sbrian{ 77163696Savatar # Re-Sync ipfilter and pf so they pick up any new network interfaces 7898184Sgordon # 7998184Sgordon /etc/rc.d/ipfilter resync 80163696Savatar /etc/rc.d/pf resync 8198184Sgordon} 8298184Sgordon 8398184Sgordonload_rc_config $name 8498184Sgordonrun_rc_command "$1" 85