ipsec revision 168531
1#!/bin/sh 2# 3# $NetBSD: ipsec,v 1.7 2002/03/22 04:33:58 thorpej Exp $ 4# $FreeBSD: head/etc/rc.d/ipsec 168531 2007-04-09 08:53:40Z des $ 5# 6 7# PROVIDE: ipsec 8# REQUIRE: FILESYSTEMS 9# BEFORE: DAEMON mountcritremote 10# KEYWORD: nojail 11 12. /etc/rc.subr 13 14name="ipsec" 15rcvar=`set_rcvar` 16start_precmd="ipsec_prestart" 17start_cmd="ipsec_start" 18stop_precmd="test -f $ipsec_file" 19stop_cmd="ipsec_stop" 20reload_cmd="ipsec_reload" 21extra_commands="reload" 22ipsec_program="/sbin/setkey" 23# ipsec_file is set by rc.conf 24 25ipsec_prestart() 26{ 27 if [ ! -f "$ipsec_file" ]; then 28 warn "$ipsec_file not readable; ipsec start aborted." 29 # 30 # If booting directly to multiuser, send SIGTERM to 31 # the parent (/etc/rc) to abort the boot 32 # 33 if [ "$autoboot" = yes ]; then 34 echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!" 35 kill -TERM $$ 36 exit 1 37 fi 38 return 1 39 fi 40 return 0 41} 42 43ipsec_start() 44{ 45 echo "Installing ipsec manual keys/policies." 46 ${ipsec_program} -f $ipsec_file 47} 48 49ipsec_stop() 50{ 51 echo "Clearing ipsec manual keys/policies." 52 53 # still not 100% sure if we would like to do this. 54 # it is very questionable to do this during shutdown session, since 55 # it can hang any of remaining IPv4/v6 session. 56 # 57 ${ipsec_program} -F 58 ${ipsec_program} -FP 59} 60 61ipsec_reload() 62{ 63 echo "Reloading ipsec manual keys/policies." 64 ${ipsec_program} -f "$ipsec_file" 65} 66 67load_rc_config $name 68run_rc_command "$1" 69