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

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

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

SourceIfNotEmpty /etc/sysconfig/radiusd

RADIUSD=/usr/sbin/radiusd
[ -x $RADIUSD ] || exit

CONFIG=/etc/raddb/radiusd.conf
[ -f $CONFIG ] || exit

PIDFILE=/var/run/radiusd/radiusd.pid
LOCKFILE=/var/lock/subsys/radiusd

RETVAL=0

start()
{
        start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" -- radiusd $RADIUSD_OPTIONS
	RETVAL=$?
	return $RETVAL
}

stop()
{
        stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" -- radiusd
        RETVAL=$?
        return $RETVAL
}

restart()
{
        stop
        start
}
		
reload()
{
        msg_reloading radiusd
	stop_daemon --pidfile "$PIDFILE" -HUP -- radiusd
	RETVAL=$?
	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
                ;;
	condreload)
	        if [ -e "$LOCKFILE" ]; then
		reload
		fi
		;;
        status)
                status --pidfile "$PIDFILE" -- radiusd
                RETVAL=$?
                ;;
        *)
	        msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
		
	        RETVAL=1
esac
								
exit $RETVAL

