Apparently spaces are necessary.
[freeradius.git] / debian / freeradius.init
1 #!/bin/sh
2 # Start/stop the FreeRADIUS daemon.
3
4 ### BEGIN INIT INFO
5 # Provides:          radiusd
6 # Required-Start:    $network
7 # Should-Start:      $time mysql ldap postgresql samba krb5-kdc
8 # Required-Stop:
9 # Default-Start:     2 3 4 5
10 # Default-Stop:      0 1 6
11 # Short-Description: FreeRADIUS server
12 # Description:       Extensible, configurable, high performance RADIUS server.
13 ### END INIT INFO
14
15 # Do NOT "set -e"
16
17 PATH=/sbin:/usr/sbin:/bin:/usr/bin
18 DESC="FreeRADIUS server"
19 NAME=freeradius
20 DAEMON=/usr/sbin/$NAME
21 PIDFILE=/var/run/$NAME/$NAME.pid
22 SCRIPTNAME=/etc/init.d/$NAME
23
24 # Default values for config variables
25 FR_USER=freerad
26 FR_GROUP=freerad
27 FR_ARGS=
28
29 # Exit if the package is not installed
30 [ -x $DAEMON ] || exit 0
31
32 # Read configuration variable file if it is present
33 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
34
35 # Load the VERBOSE setting and other rcS variables
36 . /lib/init/vars.sh
37
38 # Define LSB start_daemon, killproc and log_* functions.
39 . /lib/lsb/init-functions
40
41 # /var/run may be a tmpfs
42 if [ ! -d /var/run/$NAME ]; then
43         install -o "$FR_USER" -g "$FR_GROUP" -m 0755 -d /var/run/$NAME
44         if [ $? -ne 0 ]; then
45                 echo "Error creating the /var/run/$NAME directory."
46                 exit 1
47         fi
48 fi
49
50 case "$1" in
51   start)
52         [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
53         start_daemon -p $PIDFILE $DAEMON $FR_ARGS
54         if [ $? -ne 0 ]; then
55                 [ "$VERBOSE" != no ] && log_end_msg 1 || \
56                 log_failure_msg "Run '$DAEMON -X' to find out why."
57                 exit 1
58         fi
59         [ "$VERBOSE" != no ] && log_end_msg 0
60         ;;
61   stop)
62         [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
63         killproc -p $PIDFILE $DAEMON
64         if [ $? -ne 0 ]; then
65                 [ "$VERBOSE" != no ] && log_end_msg 1
66                 exit 1
67         fi
68         [ "$VERBOSE" != no ] && log_end_msg 0
69         ;;
70   restart)
71         log_daemon_msg "Restarting $DESC" "$NAME"
72         killproc -p $PIDFILE $DAEMON
73         if [ $? -ne 0 ]; then
74                 log_end_msg 1
75                 log_failure_msg "Failed to stop $NAME."
76                 exit 1
77         fi
78         start_daemon -p $PIDFILE $DAEMON $FR_ARGS
79         if [ $? -ne 0 ]; then
80                 log_end_msg 1
81                 log_failure_msg "Failed to start $NAME."
82                 log_failure_msg "Run '$DAEMON -X' to find out why."
83                 exit 1
84         fi
85         log_end_msg 0
86         ;;
87   reload|force-reload)
88         log_daemon_msg "Reloading $DESC" "$NAME"
89         killproc -p $PIDFILE $DAEMON -SIGHUP
90         if [ $? -ne 0 ]; then
91                 log_end_msg 1
92                 exit 1
93         fi
94         sleep 2
95         pidofproc -p $PIDFILE > /dev/null
96         if [ $? -ne 0 ]; then
97                 log_end_msg 1
98                 log_failure_msg "$NAME has died."
99                 exit 1
100         fi
101         log_end_msg 0
102         ;;
103   *)
104         echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
105         exit 3
106         ;;
107 esac
108
109 exit 0