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 16 name="ppp" 17 rcvar=$name 18 start_cmd="ppp_start" 19 stop_cmd="ppp_stop" 20 sig_stop="-INT" 21 sig_hup="-HUP" 22 hup_cmd="ppp_hup" 23 extra_commands="hup" 24 25 ppp_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 47 ppp_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 57 ppp_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 67 load_rc_config $name 68 run_rc_command "$1" 69