Annotation of embedaddon/strongswan/testing/hosts/default/etc/init.d/charon-tkm, revision 1.1.1.1
1.1 misho 1: #! /bin/sh
2: ### BEGIN INIT INFO
3: # Provides: charon-tkm
4: # Required-Start: $remote_fs $syslog
5: # Required-Stop: $remote_fs $syslog
6: # Default-Start: 2 3 4 5
7: # Default-Stop: 0 1 6
8: # Short-Description: strongSwan charon-tkm IKE daemon
9: # Description: with swanctl the strongSwan charon-tkm daemon must be
10: # running in the background
11: ### END INIT INFO
12:
13: # Author: Andreas Steffen <andreas.steffen@strongswan.org>
14: #
15: # Do NOT "set -e"
16:
17: # PATH should only include /usr/* if it runs after the mountnfs.sh script
18: PATH=/sbin:/usr/sbin:/bin:/usr/bin
19: DESC="strongSwan charon-tkm IKE daemon"
20: NAME=charon-tkm
21: DAEMON=/usr/local/libexec/ipsec/$NAME
22: DAEMON_ARGS=""
23: PIDFILE=/var/run/$NAME.pid
24: SCRIPTNAME=/etc/init.d/charon-tkm
25:
26: # Exit if the package is not installed
27: [ -x "$DAEMON" ] || exit 0
28:
29: # Read configuration variable file if it is present
30: [ -r /etc/default/$NAME ] && . /etc/default/$NAME
31:
32: # Load the VERBOSE setting and other rcS variables
33: . /lib/init/vars.sh
34:
35: # Define LSB log_* functions.
36: # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
37: # and status_of_proc is working.
38: . /lib/lsb/init-functions
39:
40: #
41: # Function that starts the daemon/service
42: #
43: do_start()
44: {
45: # Return
46: # 0 if daemon has been started
47: # 1 if daemon was already running
48: # 2 if daemon could not be started
49: start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
50: || return 1
51: start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- \
52: $DAEMON_ARGS \
53: || return 2
54: # Add code here, if necessary, that waits for the process to be ready
55: # to handle requests from services started subsequently which depend
56: # on this one. As a last resort, sleep for some time.
57: }
58:
59: #
60: # Function that stops the daemon/service
61: #
62: do_stop()
63: {
64: # Return
65: # 0 if daemon has been stopped
66: # 1 if daemon was already stopped
67: # 2 if daemon could not be stopped
68: # other if a failure occurred
69: start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
70: RETVAL="$?"
71: [ "$RETVAL" = 2 ] && return 2
72: # Wait for children to finish too if this is a daemon that forks
73: # and if the daemon is only ever run from this initscript.
74: # If the above conditions are not satisfied then add some other code
75: # that waits for the process to drop all resources that could be
76: # needed by services started subsequently. A last resort is to
77: # sleep for some time.
78: start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
79: [ "$?" = 2 ] && return 2
80: # Many daemons don't delete their pidfiles when they exit.
81: rm -f $PIDFILE
82: return "$RETVAL"
83: }
84:
85: #
86: # Function that sends a SIGHUP to the daemon/service
87: #
88: do_reload() {
89: #
90: # If the daemon can reload its configuration without
91: # restarting (for example, when it is sent a SIGHUP),
92: # then implement that here.
93: #
94: start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
95: return 0
96: }
97:
98: case "$1" in
99: start)
100: [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
101: do_start
102: case "$?" in
103: 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
104: 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
105: esac
106: ;;
107: stop)
108: [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
109: do_stop
110: case "$?" in
111: 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
112: 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
113: esac
114: ;;
115: status)
116: status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
117: ;;
118: #reload|force-reload)
119: #
120: # If do_reload() is not implemented then leave this commented out
121: # and leave 'force-reload' as an alias for 'restart'.
122: #
123: #log_daemon_msg "Reloading $DESC" "$NAME"
124: #do_reload
125: #log_end_msg $?
126: #;;
127: restart|force-reload)
128: #
129: # If the "reload" option is implemented then remove the
130: # 'force-reload' alias
131: #
132: log_daemon_msg "Restarting $DESC" "$NAME"
133: do_stop
134: case "$?" in
135: 0|1)
136: do_start
137: case "$?" in
138: 0) log_end_msg 0 ;;
139: 1) log_end_msg 1 ;; # Old process is still running
140: *) log_end_msg 1 ;; # Failed to start
141: esac
142: ;;
143: *)
144: # Failed to stop
145: log_end_msg 1
146: ;;
147: esac
148: ;;
149: *)
150: #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
151: echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
152: exit 3
153: ;;
154: esac
155:
156: :
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>