1 1.1 manu #!/bin/sh 2 1.1 manu # 3 1.1 manu # chkconfig: 2345 08 92 4 1.1 manu # description: Starts and stops racoon and loads IPSec SPD's 5 1.1 manu # 6 1.1 manu # config: /etc/sysconfig/ipsec.spd 7 1.1 manu # config: /etc/racoon/racoon.conf 8 1.1 manu 9 1.1 manu # Contributed by Kimmo Koivisto <kimmo.koivisto (at] surfeu.fi> 10 1.1 manu # Tested with Fedora C1 11 1.1 manu 12 1.1 manu # Source function library. 13 1.1 manu . /etc/init.d/functions 14 1.1 manu 15 1.1 manu RACOON=/usr/sbin/racoon 16 1.1 manu SETKEY=/sbin/setkey 17 1.1 manu IPSEC_SPD=/etc/sysconfig/ipsec.spd 18 1.1 manu VAR_SUBSYS_IPSEC=/var/lock/subsys/ipsec 19 1.1 manu 20 1.1 manu if [ ! -x /usr/sbin/$RACOON ]; then 21 1.1 manu echo -n $"/usr/sbin/$RACOON does not exist."; warning; echo 22 1.1 manu exit 0 23 1.1 manu fi 24 1.1 manu 25 1.1 manu 26 1.1 manu start() { 27 1.1 manu 28 1.1 manu # Check that SPD-file exists and load it. 29 1.1 manu if [ -f "$IPSEC_SPD" ]; then 30 1.1 manu $SETKEY -f $IPSEC_SPD 31 1.1 manu fi 32 1.1 manu $RACOON 33 1.1 manu touch $VAR_SUBSYS_IPSEC 34 1.1 manu } 35 1.1 manu 36 1.1 manu 37 1.1 manu stop() { 38 1.1 manu killall $RACOON 2> /dev/null 39 1.1 manu $SETKEY -FD 40 1.1 manu $SETKEY -FP 41 1.1 manu rm -f $VAR_SUBSYS_IPSEC 42 1.1 manu } 43 1.1 manu 44 1.1 manu status() { 45 1.1 manu # Do not print status if lockfile is missing 46 1.1 manu 47 1.1 manu if [ ! -f "$VAR_SUBSYS_IPSEC" ]; then 48 1.1 manu echo $"IPSec is stopped." 49 1.1 manu return 1 50 1.1 manu fi 51 1.1 manu 52 1.1 manu if [ -f "$VAR_SUBSYS_IPSEC" ]; then 53 1.1 manu echo $"IPSec is started." 54 1.1 manu return 0 55 1.1 manu fi 56 1.1 manu } 57 1.1 manu 58 1.1 manu restart() { 59 1.1 manu stop 60 1.1 manu start 61 1.1 manu } 62 1.1 manu 63 1.1 manu 64 1.1 manu 65 1.1 manu case "$1" in 66 1.1 manu start) 67 1.1 manu start 68 1.1 manu ;; 69 1.1 manu stop) 70 1.1 manu stop 71 1.1 manu ;; 72 1.1 manu restart) 73 1.1 manu restart 74 1.1 manu ;; 75 1.1 manu condrestart) 76 1.1 manu [ -e "$VAR_SUBSYS_IPSEC" ] && restart 77 1.1 manu ;; 78 1.1 manu status) 79 1.1 manu status 80 1.1 manu ;; 81 1.1 manu *) 82 1.1 manu echo $"Usage: $0 {start|stop|restart|condrestart|status}" 83 1.1 manu exit 1 84 1.1 manu ;; 85 1.1 manu esac 86 1.1 manu 87 1.1 manu exit 0 88