1#!/bin/sh
2#
3# $NetBSD: ppp,v 1.11 2013/01/13 18:47:58 prlw1 Exp $
4#
5
6# PROVIDE: ppp
7# REQUIRE: mountcritremote syslogd
8# BEFORE:  SERVERS
9#
10#	Note that this means that syslogd will not be listening on
11#	any PPP addresses.  This is considered a feature.
12#
13
14$_rc_subr_loaded . /etc/rc.subr
15
16name="ppp"
17rcvar=$name
18start_cmd="ppp_start"
19stop_cmd="ppp_stop"
20sig_stop="-INT"
21sig_hup="-HUP"
22hup_cmd="ppp_hup"
23extra_commands="hup"
24
25ppp_start()
26{
27	#	/etc/ppp/peers and $ppp_peers contain boot configuration
28	#	information for pppd.  each value in $ppp_peers that has a
29	#	file in /etc/ppp/peers of the same name, will be run as
30	#	`pppd call <peer>'.
31	#
32	if [ -n "$ppp_peers" ]; then
33		set -- $ppp_peers
34		echo -n "Starting pppd:"
35		while [ $# -ge 1 ]; do
36			peer=$1
37			shift
38			if [ -f /etc/ppp/peers/$peer ]; then
39				pppd call $peer
40				echo -n " $peer"
41			fi
42		done
43		echo "."
44	fi
45}
46
47ppp_hup()
48{
49	pids="$(check_process pppd)"
50	if [ -n "$pids" ]; then
51		for pid in $pids; do
52			kill $sig_hup $pid
53		done
54	fi
55}
56
57ppp_stop()
58{
59	pids="$(check_process pppd)"
60	if [ -n "$pids" ]; then
61		for pid in $pids; do
62			kill $sig_stop $pid
63		done
64	fi
65}
66
67load_rc_config $name
68run_rc_command "$1"
69