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