summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/ppp-user
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/ppp-user')
-rw-r--r--etc/rc.d/ppp-user48
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"
OpenPOWER on IntegriCloud