2 # Start/stop the FreeRADIUS daemon.
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
11 # Short-Description: Radius Daemon
12 # Description: Extensible, configurable radius daemon
16 PROGRAM="/usr/sbin/freeradius"
17 PIDFILE="/var/run/freeradius/freeradius.pid"
18 DESCR="FreeRADIUS daemon"
22 . /lib/lsb/init-functions
24 test_freeradius_config() {
25 log_action_begin_msg "Checking $DESCR configuration"
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"
33 if [ -r /etc/default/$PROG ]; then
37 test -f $PROGRAM || exit 0
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
45 export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
51 log_daemon_msg "Starting $DESCR" "$PROG"
53 start_daemon -p "$PIDFILE" "$PROGRAM" $FREERADIUS_OPTIONS || ret=$?
58 log_daemon_msg "Stopping $DESCR" "$PROG"
60 killproc -p "$PIDFILE" || ret=$?
65 test_freeradius_config || exit $?
72 test_freeradius_config || exit $?
74 if status_of_proc -p "$PIDFILE" "$PROG" "$DESCR"; then
75 log_daemon_msg "Reloading $DESCR" "$PROG"
77 start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE || ret=$?
82 configtest|testconfig)
83 test_freeradius_config || exit $?
87 $PROGRAM -X $FREERADIUS_OPTIONS
91 echo "Usage: $0 start|stop|restart|force-reload|reload|configtest|debug"