Contents of /trunk/ipsec-tools/racoon.rc
Parent Directory | Revision Log
Revision 144 -
(show annotations)
(download)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 1986 byte(s)
Tue May 8 20:06:05 2007 UTC (17 years, 4 months ago) by niro
File size: 1986 byte(s)
-import
1 | #!/bin/bash |
2 | # $Header: /root/magellan-cvs/src/ipsec-tools/racoon.rc,v 1.1 2007-05-08 19:49:03 niro Exp $ |
3 | |
4 | #%rlevels: 3:s 4:s 5:s 0:k 1:k 2:k 6:k |
5 | #%start: 30 |
6 | #%stop: 30 |
7 | |
8 | #deps |
9 | #%needs: |
10 | #%before: |
11 | #%after: |
12 | |
13 | source /etc/sysconfig/rc |
14 | source $rc_functions |
15 | |
16 | |
17 | |
18 | checkconfig() { |
19 | if [ ! -e ${SETKEY_CONF} ] ; then |
20 | echo "You need to configure setkey before starting racoon." |
21 | return 1 |
22 | fi |
23 | if [ ! -e ${RACOON_CONF} ] ; then |
24 | echo "You need a configuration file to start racoon." |
25 | return 1 |
26 | fi |
27 | if [ ! -z ${RACOON_PSK_FILE} ] ; then |
28 | if [ ! -f ${RACOON_PSK_FILE} ] ; then |
29 | echo "PSK file not found as specified." |
30 | echo "Set RACOON_PSK_FILE in /etc/conf.d/racoon." |
31 | return 1 |
32 | fi |
33 | case "`ls -Lldn ${RACOON_PSK_FILE}`" in |
34 | -r--------*) |
35 | ;; |
36 | *) |
37 | eerror "Your defined PSK file should be mode 400 for security!" |
38 | return 1 |
39 | ;; |
40 | esac |
41 | fi |
42 | } |
43 | |
44 | case "$1" in |
45 | start) |
46 | checkconfig || exit 1 |
47 | echo -e ${COLOREDSTAR}"Loading ipsec policies from ${SETKEY_CONF}." |
48 | /usr/sbin/setkey -f ${SETKEY_CONF} |
49 | if [ $? -eq 1 ] ; then |
50 | echo "Error while loading ipsec policies" |
51 | fi |
52 | echo -e ${COLOREDSTAR}"Starting racoon ... " |
53 | /usr/sbin/racoon -f ${RACOON_CONF} ${RACOON_OPTS} |
54 | evaluate_retval |
55 | |
56 | update_svcstatus $1 |
57 | splash svc_started "$(basename $0)" 0 |
58 | ;; |
59 | |
60 | stop) |
61 | echo -e ${COLOREDSTAR}"Stopping racoon ... " |
62 | kill `cat /var/run/racoon.pid` |
63 | evaluate_retval |
64 | if [ -n "${RACOON_RESET_TABLES}" ]; then |
65 | echo -e ${COLOREDSTAR}"Flushing policy entries ... " |
66 | /usr/sbin/setkey -F |
67 | /usr/sbin/setkey -FP |
68 | evaluate_retval |
69 | fi |
70 | |
71 | update_svcstatus $1 |
72 | splash svc_stopped "$(basename $0)" 0 |
73 | ;; |
74 | |
75 | restart) |
76 | $0 stop |
77 | sleep 1 |
78 | $0 start |
79 | ;; |
80 | |
81 | status) |
82 | statusproc /usr/sbin/racoon |
83 | ;; |
84 | |
85 | *) |
86 | echo "Usage: $0 {start|stop|restart|status}" |
87 | exit 1 |
88 | ;; |
89 | esac |
90 | |
91 | |
92 | stop() { |
93 | ebegin "Stopping racoon" |
94 | kill `cat /var/run/racoon.pid` |
95 | eend $? |
96 | if [ -n "${RACOON_RESET_TABLES}" ]; then |
97 | ebegin "Flushing policy entries" |
98 | /usr/sbin/setkey -F |
99 | /usr/sbin/setkey -FP |
100 | eend $? |
101 | fi |
102 | } |