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