ipsec revision 1.1
11.1Sitojun#!/bin/sh
21.1Sitojun#
31.1Sitojun# $NetBSD: ipsec,v 1.1 2000/06/13 16:29:54 itojun Exp $
41.1Sitojun#
51.1Sitojun
61.1Sitojun# PROVIDE: ipsec
71.1Sitojun# REQUIRE: root beforenetlkm mountcritlocal tty
81.1Sitojun
91.1Sitojun#	it does not really require beforenetlkm.
101.1Sitojun
111.1Sitojun. /etc/rc.subr
121.1Sitojun
131.1Sitojunname="ipsec"
141.1Sitojunstart_cmd="ipsec_start"
151.1Sitojunstop_precmd="checkyesno ipsec && [ -f /etc/ipsec.conf ]"
161.1Sitojunstop_cmd="ipsec_stop"
171.1Sitojunreload_precmd="$stop_precmd"
181.1Sitojunreload_cmd="ipsec_reload"
191.1Sitojunextra_commands="reload"
201.1Sitojun
211.1Sitojunipsec_start()
221.1Sitojun{
231.1Sitojun	if ! checkyesno ipsec; then
241.1Sitojun		return 0
251.1Sitojun	fi
261.1Sitojun
271.1Sitojun	# if /etc/ipsec.conf isn't readable, abort the boot rather
281.1Sitojun	# than risk a security problem
291.1Sitojun	#
301.1Sitojun	if [ ! -f /etc/ipsec.conf ]; then
311.1Sitojun		err 1 "/etc/ipsec.conf not readable; ipsec start aborted."
321.1Sitojun	fi
331.1Sitojun	echo "Installing ipsec manual keys/policies."
341.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
351.1Sitojun}
361.1Sitojun
371.1Sitojunipsec_stop()
381.1Sitojun{
391.1Sitojun	echo "Clearing ipesc manual keys/policies."
401.1Sitojun
411.1Sitojun	# still not 100% sure if we would like to do this.
421.1Sitojun	# it is very questionable to do this during shutdown session, since
431.1Sitojun	# it can hang any of remaining IPv4/v6 session.
441.1Sitojun	#
451.1Sitojun	/sbin/setkey -F
461.1Sitojun	/sbin/setkey -FP
471.1Sitojun}
481.1Sitojun
491.1Sitojunipsec_reload()
501.1Sitojun{
511.1Sitojun	echo "Reloading ipsec manual keys/policies."
521.1Sitojun	/sbin/setkey -F
531.1Sitojun	/sbin/setkey -FP
541.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
551.1Sitojun}
561.1Sitojun
571.1Sitojunload_rc_config $name
581.1Sitojunrun_rc_command "$1"
59