eliminate unneeded debug spew
[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         # eval allows quoted arguments (config directories for example) to be passed in $FREERADIUS_OPTIONS
54         eval "start_daemon -p '$PIDFILE' '$PROGRAM' $FREERADIUS_OPTIONS" || ret=$?
55         log_end_msg $ret
56         ;;
57
58     stop)
59         log_daemon_msg "Stopping $DESCR" "$PROG"
60
61         killproc -p "$PIDFILE" || ret=$?
62         log_end_msg $ret
63         ;;
64
65     restart|force-reload)
66         test_freeradius_config || exit $?
67
68         $0 stop
69         $0 start
70         ;;
71
72     reload)
73         test_freeradius_config || exit $?
74
75         if status_of_proc -p "$PIDFILE" "$PROG" "$DESCR"; then
76             log_daemon_msg "Reloading $DESCR" "$PROG"
77
78             start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE || ret=$?
79             log_end_msg $ret
80         fi
81         ;;
82
83     configtest|testconfig)
84         test_freeradius_config || exit $?
85         ;;
86
87     debug)
88         $PROGRAM -X $FREERADIUS_OPTIONS
89         ;;
90
91     debug-threaded)
92         $PROGRAM -f -xx -l stdout $FREERADIUS_OPTIONS
93         ;;
94
95     status)
96         status_of_proc -p "$PIDFILE" "$PROGRAM" "$PROG" && exit 0 || exit $?
97         ;;
98
99     *)
100         echo "Usage: $0 start|stop|restart|force-reload|reload|configtest|debug|debug-threaded|status"
101         exit 1
102         ;;
103 esac
104
105 exit 0