#!/bin/sh
#
-# chkconfig: - 88 10
-# description: Start/Stop the RADIUS server daemon
+# chkconfig: - 88 10
+# description: Start/Stop the RADIUS server daemon
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
. /etc/rc.d/init.d/functions
RADIUSD=/usr/sbin/radiusd
-LOCKF=/var/lock/subsys/radiusd
+LOCKF=/var/lock/subsys/freeradius
CONFIG=/etc/raddb/radiusd.conf
-[ -f $RADIUSD ] || exit 0
-[ -f $CONFIG ] || exit 0
+[ -f "$RADIUSD" ] || exit 0
+[ -f "$CONFIG" ] || exit 0
RETVAL=0
-
case "$1" in
start)
- echo -n $"Starting RADIUS server: "
- daemon $RADIUSD -y
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch $LOCKF
+ # Check if the service is already running?
+ if [ ! -f "$LOCKF" ]; then
+ msg_starting RADIUS
+ daemon "$RADIUSD"
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch "$LOCKF"
+ else
+ msg_already_running RADIUS
+ fi
;;
stop)
- echo -n $"Stopping RADIUS server: "
- killproc $RADIUSD
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f $LOCKF
+ # Stop daemons.
+ if [ -f "$LOCKF" ]; then
+ msg_stopping RADIUS
+ killproc "$RADIUSD"
+ rm -f "$LOCKF" > /dev/null 2>&1
+ else
+ msg_not_running RADIUS
+ fi
;;
status)
status radiusd
- RETVAL=$?
- ;;
+ exit $?
+ ;;
reload)
- echo -n $"Reloading RADIUS server: "
- killproc $RADIUSD -HUP
- RETVAL=$?
- echo
+ if [ -f "$LOCKF" ]; then
+ msg_reloading RADIUS
+ killproc "$RADIUSD" -HUP
+ RETVAL=$?
+ else
+ msg_not_running RADIUS >&2
+ exit 7
+ fi
;;
- restart)
+ restart|force-reload)
$0 stop
sleep 3
$0 start
RETVAL=$?
;;
- condrestart)
- if [ -f $LOCKF ]; then
- $0 stop
- sleep 3
- $0 start
- RETVAL=$?
- fi
- ;;
+# condrestart)
+# if [ -f $LOCKF ]; then
+# $0 stop
+# sleep 3
+# $0 start
+# RETVAL=$?
+# fi
+# ;;
*)
- echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
- exit 1
+ msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+ exit 3
esac
exit $RETVAL