#!/bin/sh
# Start/stop the FreeRADIUS daemon.

set -e

source /lib/lsb/init-functions

PROG="freeradius"
PROGRAM="/usr/sbin/freeradius"
PIDFILE="/var/run/freeradius/freeradius.pid"
DESCR="FreeRADIUS daemon"

test -f $PROGRAM || exit 0

ret=0

case "$1" in
        start)
                log_daemon_msg "Starting $DESCR" "$PROG"
                start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM
                ret=$?
                log_end_msg $ret
                exit $ret
                ;;
        stop)
                log_daemon_msg "Stopping $DESCR" "$PROG"
                start-stop-daemon --stop --retry=TERM/30/KILL/5 --oknodo --quiet --pidfile $PIDFILE
                ret=$?
                log_end_msg $ret
                ;;
        restart)
                $0 stop
                $0 start
                ;;
        reload | force-reload) 
                log_action_begin_msg "Reloading configuration files for $DESCR"
                start-stop-daemon --oknodo --stop --signal 1 --quiet --pidfile $PIDFILE
                log_action_cont_msg "HUP sent"
                sleep 2
                kill -0 $(cat $PIDFILE) > /dev/null
                ret=$?
                if [ "$ret" -ne 0 ]; then
                  log_action_cont_msg "$DESCR has died!"
                fi
                log_end_msg $ret
                exit $ret
                ;;
        *)
                echo "Usage: $0 start|stop|restart|reload|force-reload"
                exit 1 
                ;;
esac

exit 0
