1c8d933a1c6c174ce8e594c8c158cc1c9e8e4a8f
[invirt/packages/invirt-web.git] / debian / sipb-xen-iptables.init
1 #! /bin/sh
2 ### BEGIN INIT INFO
3 # Provides:          sipb-xen-iptables
4 # Required-Start:    $local_fs $remote_fs
5 # Required-Stop:     $local_fs $remote_fs
6 # Default-Start:     2 3 4 5
7 # Default-Stop:      0 1 6
8 # Short-Description: sipb-xen iptables rules
9 # Description:       
10 ### END INIT INFO
11
12 # Author: SIPB Xen Project <sipb-xen@mit.edu>
13
14 # Do NOT "set -e"
15
16 # PATH should only include /usr/* if it runs after the mountnfs.sh script
17 PATH=/sbin:/usr/sbin:/bin:/usr/bin
18 DESC="Load the sipb-xen iptables rules"
19 NAME=sipb-xen-iptables
20 RULES=/usr/share/sipb-xen-iptables/iptables.rules
21
22 # Read configuration variable file if it is present
23 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
24
25 # Load the VERBOSE setting and other rcS variables
26 . /lib/init/vars.sh
27
28 # Define LSB log_* functions.
29 # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
30 . /lib/lsb/init-functions
31
32 #
33 # Function that starts the daemon/service
34 #
35 do_start()
36 {
37         # Return
38         #   0 if daemon has been started
39         #   1 if daemon was already running
40         #   2 if daemon could not be started
41         for i in /usr/share/sipb-xen-iptables/iptables.rules
42         do mako-render $i.mako > $i
43         done
44         
45         /sbin/iptables-restore < $RULES
46 }
47
48 #
49 # Function that stops the daemon/service
50 #
51 do_stop()
52 {
53         # Return
54         #   0 if daemon has been stopped
55         #   1 if daemon was already stopped
56         #   2 if daemon could not be stopped
57         #   other if a failure occurred
58         return 0
59 }
60
61 case "$1" in
62   start)
63         [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
64         do_start
65         case "$?" in
66                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
67                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
68         esac
69         ;;
70   stop)
71         [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
72         do_stop
73         case "$?" in
74                 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
75                 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
76         esac
77         ;;
78   #reload|force-reload)
79         #
80         # If do_reload() is not implemented then leave this commented out
81         # and leave 'force-reload' as an alias for 'restart'.
82         #
83         #log_daemon_msg "Reloading $DESC" "$NAME"
84         #do_reload
85         #log_end_msg $?
86         #;;
87   restart|force-reload)
88         #
89         # If the "reload" option is implemented then remove the
90         # 'force-reload' alias
91         #
92         log_daemon_msg "Restarting $DESC" "$NAME"
93         do_stop
94         case "$?" in
95           0|1)
96                 do_start
97                 case "$?" in
98                         0) log_end_msg 0 ;;
99                         1) log_end_msg 1 ;; # Old process is still running
100                         *) log_end_msg 1 ;; # Failed to start
101                 esac
102                 ;;
103           *)
104                 # Failed to stop
105                 log_end_msg 1
106                 ;;
107         esac
108         ;;
109   *)
110         #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
111         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
112         exit 3
113         ;;
114 esac
115
116 :