Reformatting in firebird
[freeradius.git] / debian / freeradius.init
1 #!/bin/sh
2 # Start/stop the FreeRADIUS daemon.
3
4 ### BEGIN INIT INFO
5 # Provides:          freeradius
6 # Required-Start:    $remote_fs $network $syslog
7 # Should-Start:      $time mysql slapd postgresql samba krb5-kdc
8 # Required-Stop:     $remote_fs $syslog
9 # Default-Start:     2 3 4 5
10 # Default-Stop:      0 1 6
11 # Short-Description: Radius Daemon
12 # Description:       Extensible, configurable radius daemon
13 ### END INIT INFO
14
15 PROG="freeradius"
16 PROGRAM="/usr/sbin/freeradius"
17 PIDFILE="/var/run/freeradius/freeradius.pid"
18 DESCR="FreeRADIUS daemon"
19
20 set -e
21
22 . /lib/lsb/init-functions
23
24 test_freeradius_config() {
25   log_action_begin_msg "Checking $DESCR configuration"
26
27   out=`$PROGRAM -Cxl stdout $FREERADIUS_OPTIONS`; ret=$?
28   out=`echo "${out}" | tail -n 1 | sed 's/^\s*ERROR:\s*\(.*\)\s*$/\1/'`
29   log_action_end_msg $ret "$out"
30   return $ret
31 }
32
33 if [ -r /etc/default/$PROG ]; then
34   . /etc/default/$PROG
35 fi
36
37 test -f $PROGRAM || exit 0
38
39 # /var/run may be a tmpfs
40 if [ ! -d /var/run/freeradius ]; then
41   mkdir -p /var/run/freeradius
42   chown freerad:freerad /var/run/freeradius
43 fi
44
45 export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
46
47 ret=0
48
49 case "$1" in
50         start)
51                 log_daemon_msg "Starting $DESCR" "$PROG"
52
53                 start_daemon -p "$PIDFILE" "$PROGRAM" $FREERADIUS_OPTIONS || ret=$?
54                 log_end_msg $ret
55                 ;;
56
57         stop)
58                 log_daemon_msg "Stopping $DESCR" "$PROG"
59
60                 killproc -p "$PIDFILE" || ret=$?
61                 log_end_msg $ret
62                 ;;
63
64         restart|force-reload)
65                 test_freeradius_config || exit $?
66
67                 $0 stop
68                 $0 start
69                 ;;
70
71         reload)
72                 test_freeradius_config || exit $?
73
74                 if status_of_proc -p "$PIDFILE" "$PROG" "$DESCR"; then
75                   log_daemon_msg "Reloading $DESCR" "$PROG"
76
77                   start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE || ret=$?
78                   log_end_msg $ret
79                 fi
80                 ;;
81
82         configtest|testconfig)
83                 test_freeradius_config || exit $?
84                 ;;
85
86         debug)
87                 $PROGRAM -X $FREERADIUS_OPTIONS
88                 ;;
89
90         *)
91                 echo "Usage: $0 start|stop|restart|force-reload|reload|configtest|debug"
92                 exit 1
93                 ;;
94 esac
95
96 exit 0