diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 2003-06-04 16:00:27 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 2003-06-04 16:00:27 +0000 |
| commit | 1c0442969cd576514acfce932c0a0798593c7af7 (patch) | |
| tree | 430cd197d61e20d51161de05e99c28dc8c06ae42 /etc/rc.d/ppp | |
| parent | 196dcb487d15e63d76c2cdd9ad58a847849c6e9e (diff) | |
Diffstat (limited to 'etc/rc.d/ppp')
| -rwxr-xr-x | etc/rc.d/ppp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/etc/rc.d/ppp b/etc/rc.d/ppp new file mode 100755 index 000000000000..5e5a6f2aff7a --- /dev/null +++ b/etc/rc.d/ppp @@ -0,0 +1,68 @@ +#!/bin/sh +# +# $NetBSD: ppp,v 1.6 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD: src/etc/rc.d/ppp,v 1.2 2002/06/13 22:14:36 gordon Exp $ +# + +# PROVIDE: ppp +# REQUIRE: mountcritremote syslogd +# BEFORE: SERVERS +# +# Note that this means that syslogd will not be listening on +# any PPP addresses. This is considered a feature. +# + +. /etc/rc.subr + +name="ppp" +start_cmd="ppp_start" +stop_cmd="ppp_stop" +sig_stop="-INT" +sig_hup="-HUP" +hup_cmd="ppp_hup" +extra_commands="hup" + +ppp_start() +{ + # /etc/ppp/peers and $ppp_peers contain boot configuration + # information for pppd. each value in $ppp_peers that has a + # file in /etc/ppp/peers of the same name, will be run as + # `pppd call <peer>'. + # + if [ -n "$ppp_peers" ]; then + set -- $ppp_peers + echo -n "Starting pppd:" + while [ $# -ge 1 ]; do + peer=$1 + shift + if [ -f /etc/ppp/peers/$peer ]; then + pppd call $peer + echo -n " $peer" + fi + done + echo "." + fi +} + +ppp_hup() +{ + pids="`check_process pppd`" + if [ -n "$pids" ]; then + for pid in $pids; do + kill $sig_hup $pid + done + fi +} + +ppp_stop() +{ + pids="`check_process pppd`" + if [ -n "$pids" ]; then + for pid in $pids; do + kill $sig_stop $pid + done + fi +} + +load_rc_config $name +run_rc_command "$1" |
