#!/bin/sh
#
# radiusd	Start/Stop the FreeRADIUS server
#
# chkconfig: 345 88 10
# description: GPL version of RADIUS server
#
# config: /etc/raddb/radiusd.conf
# pidfile: /var/run/radiusd.pid

# Source function library.
. /etc/rc.d/init.d/functions

RADIUSD=/usr/sbin/radiusd
LOCKFILE=/var/lock/subsys/radiusd
CONFIG=/etc/raddb/radiusd.conf

[ -f $RADIUSD ] || exit 0
[ -f $CONFIG ] || exit 0

RETVAL=0

start()
{
        echo -n "Starting FreeRADIUS server: "
#	touch /var/run/radiusd.pid
#	chown radius /var/run/radiusd.pid
        daemon $RADIUSD -y
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch "$LOCKFILE"
        return $RETVAL
}



stop()
{
    echo -n "Stopping FreeRADIUS server: "
    killproc $RADIUSD
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"
    return $RETVAL
}

restart()
{
        stop
        start
}
		
reload()
{
        echo -n "Reloading FreeRADIUS server configuration: "
        killproc crond -HUP
        RETVAL=$?
        echo
        return $RETVAL
}



# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        reload)
                reload
                ;;
        restart)
                restart
                ;;
        condstop)
                if [ -e "$LOCKFILE" ]; then
                stop
                fi
                ;;
        condrestart)
                if [ -e "$LOCKFILE" ]; then
                restart
                fi
                ;;
        status)
                status $RADIUSD
                RETVAL=$?
                ;;
        *)
	        echo "Usage: ${0##*/} {start|stop|reload|restart|condstop|condrestart|status}"
	        RETVAL=1
esac
								
exit $RETVAL

