ipsec revision 1.4
11.1Sitojun#!/bin/sh
21.1Sitojun#
31.4Slukem# $NetBSD: ipsec,v 1.4 2000/07/17 13:10:54 lukem 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.4Slukemstart_precmd="ipsec_prestart"
151.1Sitojunstart_cmd="ipsec_start"
161.1Sitojunstop_precmd="checkyesno ipsec && [ -f /etc/ipsec.conf ]"
171.1Sitojunstop_cmd="ipsec_stop"
181.1Sitojunreload_precmd="$stop_precmd"
191.1Sitojunreload_cmd="ipsec_reload"
201.1Sitojunextra_commands="reload"
211.1Sitojun
221.1Sitojunipsec_start()
231.1Sitojun{
241.1Sitojun	if ! checkyesno ipsec; then
251.4Slukem		return 1
261.1Sitojun	fi
271.1Sitojun	if [ ! -f /etc/ipsec.conf ]; then
281.4Slukem		warn "/etc/ipsec.conf not readable; ipsec start aborted."
291.4Slukem		return 1
301.1Sitojun	fi
311.4Slukem	return 0
321.4Slukem}
331.4Slukem
341.4Slukemipsec_start()
351.4Slukem{
361.1Sitojun	echo "Installing ipsec manual keys/policies."
371.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
381.1Sitojun}
391.1Sitojun
401.1Sitojunipsec_stop()
411.1Sitojun{
421.3Sitojun	echo "Clearing ipsec manual keys/policies."
431.1Sitojun
441.1Sitojun	# still not 100% sure if we would like to do this.
451.1Sitojun	# it is very questionable to do this during shutdown session, since
461.1Sitojun	# it can hang any of remaining IPv4/v6 session.
471.1Sitojun	#
481.1Sitojun	/sbin/setkey -F
491.1Sitojun	/sbin/setkey -FP
501.1Sitojun}
511.1Sitojun
521.1Sitojunipsec_reload()
531.1Sitojun{
541.1Sitojun	echo "Reloading ipsec manual keys/policies."
551.1Sitojun	/sbin/setkey -F
561.1Sitojun	/sbin/setkey -FP
571.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
581.1Sitojun}
591.1Sitojun
601.1Sitojunload_rc_config $name
611.1Sitojunrun_rc_command "$1"
62