diff options
Diffstat (limited to 'etc/rc.d/ppp-user')
-rw-r--r-- | etc/rc.d/ppp-user | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/etc/rc.d/ppp-user b/etc/rc.d/ppp-user new file mode 100644 index 0000000..67638cb --- /dev/null +++ b/etc/rc.d/ppp-user @@ -0,0 +1,48 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ppp-user +# REQUIRE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ppp" +rcvar="ppp_enable" +start_cmd="ppp_start" +stop_cmd=":" + +ppp_start() +{ + # Establish ppp mode. + # + if [ "${ppp_mode}" != "ddial" -a "${ppp_mode}" != "direct" \ + -a "${ppp_mode}" != "dedicated" \ + -a "${ppp_mode}" != "background" ]; then + ppp_mode="auto" + fi + + ppp_command="/usr/sbin/ppp -quiet -${ppp_mode}" + + # Switch on NAT mode? + # + case ${ppp_nat} in + [Yy][Ee][Ss]) + ppp_command="${ppp_command} -nat" + ;; + esac + + ppp_command="${ppp_command} ${ppp_profile}" + + echo "Starting ppp as \"${ppp_user}\"" + su -m ${ppp_user} -c "exec ${ppp_command}" + + # Re-Sync ipfilter so it picks up any new network interfaces + # + /etc/rc.d/ipfilter resync +} + +load_rc_config $name +run_rc_command "$1" |