Home | History | Annotate | Line # | Download | only in rc.d
ipsec revision 1.4
      1  1.1  itojun #!/bin/sh
      2  1.1  itojun #
      3  1.4   lukem # $NetBSD: ipsec,v 1.4 2000/07/17 13:10:54 lukem Exp $
      4  1.1  itojun #
      5  1.1  itojun 
      6  1.1  itojun # PROVIDE: ipsec
      7  1.1  itojun # REQUIRE: root beforenetlkm mountcritlocal tty
      8  1.1  itojun 
      9  1.1  itojun #	it does not really require beforenetlkm.
     10  1.1  itojun 
     11  1.1  itojun . /etc/rc.subr
     12  1.1  itojun 
     13  1.1  itojun name="ipsec"
     14  1.4   lukem start_precmd="ipsec_prestart"
     15  1.1  itojun start_cmd="ipsec_start"
     16  1.1  itojun stop_precmd="checkyesno ipsec && [ -f /etc/ipsec.conf ]"
     17  1.1  itojun stop_cmd="ipsec_stop"
     18  1.1  itojun reload_precmd="$stop_precmd"
     19  1.1  itojun reload_cmd="ipsec_reload"
     20  1.1  itojun extra_commands="reload"
     21  1.1  itojun 
     22  1.1  itojun ipsec_start()
     23  1.1  itojun {
     24  1.1  itojun 	if ! checkyesno ipsec; then
     25  1.4   lukem 		return 1
     26  1.1  itojun 	fi
     27  1.1  itojun 	if [ ! -f /etc/ipsec.conf ]; then
     28  1.4   lukem 		warn "/etc/ipsec.conf not readable; ipsec start aborted."
     29  1.4   lukem 		return 1
     30  1.1  itojun 	fi
     31  1.4   lukem 	return 0
     32  1.4   lukem }
     33  1.4   lukem 
     34  1.4   lukem ipsec_start()
     35  1.4   lukem {
     36  1.1  itojun 	echo "Installing ipsec manual keys/policies."
     37  1.1  itojun 	/sbin/setkey -f /etc/ipsec.conf
     38  1.1  itojun }
     39  1.1  itojun 
     40  1.1  itojun ipsec_stop()
     41  1.1  itojun {
     42  1.3  itojun 	echo "Clearing ipsec manual keys/policies."
     43  1.1  itojun 
     44  1.1  itojun 	# still not 100% sure if we would like to do this.
     45  1.1  itojun 	# it is very questionable to do this during shutdown session, since
     46  1.1  itojun 	# it can hang any of remaining IPv4/v6 session.
     47  1.1  itojun 	#
     48  1.1  itojun 	/sbin/setkey -F
     49  1.1  itojun 	/sbin/setkey -FP
     50  1.1  itojun }
     51  1.1  itojun 
     52  1.1  itojun ipsec_reload()
     53  1.1  itojun {
     54  1.1  itojun 	echo "Reloading ipsec manual keys/policies."
     55  1.1  itojun 	/sbin/setkey -F
     56  1.1  itojun 	/sbin/setkey -FP
     57  1.1  itojun 	/sbin/setkey -f /etc/ipsec.conf
     58  1.1  itojun }
     59  1.1  itojun 
     60  1.1  itojun load_rc_config $name
     61  1.1  itojun run_rc_command "$1"
     62