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