NetBSD/etc/rc.d/ppp
prlw1 281a5e1fdb Add ppp=YES variable. Currently pppd(8) starts automatically if ppp_peers
is not empty. Adding a ppp variable allows the default peer to be set,
and ppp set to NO so that dialing can happen with /etc/rc.d/ppp onestart.
Default set to YES so that old behaviour is preserved.
http://mail-index.netbsd.org/tech-userlevel/2012/08/21/msg006656.html
2013-01-13 18:47:57 +00:00

69 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ppp,v 1.11 2013/01/13 18:47:58 prlw1 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.
#
$_rc_subr_loaded . /etc/rc.subr
name="ppp"
rcvar=$name
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"