1 #!/bin/sh 2 # 3 # $NetBSD: ppp,v 1.8.50.1 2013/01/16 05:26:13 yamt 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 else 45 warn "\${ppp_peers} is not set - pppd was not started." 46 fi 47 } 48 49 ppp_hup() 50 { 51 pids="$(check_process pppd)" 52 if [ -n "$pids" ]; then 53 for pid in $pids; do 54 kill $sig_hup $pid 55 done 56 fi 57 } 58 59 ppp_stop() 60 { 61 pids="$(check_process pppd)" 62 if [ -n "$pids" ]; then 63 for pid in $pids; do 64 kill $sig_stop $pid 65 done 66 fi 67 } 68 69 load_rc_config $name 70 run_rc_command "$1" 71