ipsec revision 1.11
11.1Sitojun#!/bin/sh
21.1Sitojun#
31.11Stsutsui# $NetBSD: ipsec,v 1.11 2008/11/22 20:23:33 tsutsui Exp $
41.1Sitojun#
51.1Sitojun
61.1Sitojun# PROVIDE: ipsec
71.11Stsutsui# REQUIRE: root bootconf mountcritlocal tty
81.7Sthorpej# BEFORE:  DAEMON
91.1Sitojun
101.8Smycroft$_rc_subr_loaded . /etc/rc.subr
111.1Sitojun
121.1Sitojunname="ipsec"
131.6Slukemrcvar=$name
141.4Slukemstart_precmd="ipsec_prestart"
151.1Sitojunstart_cmd="ipsec_start"
161.6Slukemstop_precmd="test -f /etc/ipsec.conf"
171.1Sitojunstop_cmd="ipsec_stop"
181.1Sitojunreload_cmd="ipsec_reload"
191.1Sitojunextra_commands="reload"
201.1Sitojun
211.5Slukemipsec_prestart()
221.1Sitojun{
231.1Sitojun	if [ ! -f /etc/ipsec.conf ]; then
241.4Slukem		warn "/etc/ipsec.conf not readable; ipsec start aborted."
251.9Sapb
261.9Sapb		stop_boot
271.4Slukem		return 1
281.1Sitojun	fi
291.4Slukem	return 0
301.4Slukem}
311.4Slukem
321.4Slukemipsec_start()
331.4Slukem{
341.1Sitojun	echo "Installing ipsec manual keys/policies."
351.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
361.1Sitojun}
371.1Sitojun
381.1Sitojunipsec_stop()
391.1Sitojun{
401.3Sitojun	echo "Clearing ipsec manual keys/policies."
411.1Sitojun
421.1Sitojun	# still not 100% sure if we would like to do this.
431.1Sitojun	# it is very questionable to do this during shutdown session, since
441.1Sitojun	# it can hang any of remaining IPv4/v6 session.
451.1Sitojun	#
461.1Sitojun	/sbin/setkey -F
471.1Sitojun	/sbin/setkey -FP
481.1Sitojun}
491.1Sitojun
501.1Sitojunipsec_reload()
511.1Sitojun{
521.1Sitojun	echo "Reloading ipsec manual keys/policies."
531.1Sitojun	/sbin/setkey -F
541.1Sitojun	/sbin/setkey -FP
551.1Sitojun	/sbin/setkey -f /etc/ipsec.conf
561.1Sitojun}
571.1Sitojun
581.1Sitojunload_rc_config $name
591.1Sitojunrun_rc_command "$1"
60