ipsec revision 1.9
11.1Sitojun#!/bin/sh
21.1Sitojun#
31.9Sapb# $NetBSD: ipsec,v 1.9 2007/04/06 14:20:17 apb Exp $
41.1Sitojun#
51.1Sitojun
61.1Sitojun# PROVIDE: ipsec
71.1Sitojun# REQUIRE: root beforenetlkm mountcritlocal tty
81.7Sthorpej# BEFORE:  DAEMON
91.1Sitojun
101.1Sitojun#	it does not really require beforenetlkm.
111.1Sitojun
121.8Smycroft$_rc_subr_loaded . /etc/rc.subr
131.1Sitojun
141.1Sitojunname="ipsec"
151.6Slukemrcvar=$name
161.4Slukemstart_precmd="ipsec_prestart"
171.1Sitojunstart_cmd="ipsec_start"
181.6Slukemstop_precmd="test -f /etc/ipsec.conf"
191.1Sitojunstop_cmd="ipsec_stop"
201.1Sitojunreload_cmd="ipsec_reload"
211.1Sitojunextra_commands="reload"
221.1Sitojun
231.5Slukemipsec_prestart()
241.1Sitojun{
251.1Sitojun	if [ ! -f /etc/ipsec.conf ]; then
261.4Slukem		warn "/etc/ipsec.conf not readable; ipsec start aborted."
271.9Sapb
281.9Sapb		stop_boot
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