#
# Startup script for dansguardian
#
-# chkconfig: 35 92 8
-# description: A web content filtering plugin for web \
-# proxies, developed to filter using lists of \
-# banned phrases, MIME types, filename \
-# extensions and PICS labelling.
-# processname: dansguardian
-# pidfile: /var/run/dansguardian.pid
-# config: /etc/dansguardian/dansguardian.conf
+# chkconfig: 35 92 8
+# description: A web content filtering plugin for web \
+# proxies, developed to filter using lists of \
+# banned phrases, MIME types, filename \
+# extensions and PICS labelling.
+# processname: dansguardian
+# pidfile: /var/run/dansguardian.pid
+# config: /etc/dansguardian/dansguardian.conf
CONFFILELOCATION=/etc/dansguardian/
BINARYLOCATION=/usr/sbin/
PIDDIR=/var/run/
+# Source function library
+. /etc/rc.d/init.d/functions
+
# File includes changes by Thomas Jarosch
function wait_for_pid()
{
# See how we were called.
case "$1" in
-start)
- if [ -f ${BINARYLOCATION}dansguardian ] &&
- [ -f ${CONFFILELOCATION}dansguardian.conf ]; then
- echo -n "Starting dansguardian: "
- if ${BINARYLOCATION}dansguardian 2> /dev/null; then
- echo -e "\\033[60G\c"
- echo -e "[ \\033[1;32m\c"
- echo -e "OK\c"
- echo -e "\\033[0;39m\c"
- echo " ]"
- [ -d /var/lock/subsys ] && touch /var/lock/subsys/dansguardian
- else
- echo -e "\\033[60G\c"
- echo -e "[ \\033[1;31m\c"
- echo -e "FAILED\c"
- echo -e "\\033[0;39m\c"
- echo " ]"
- fi
- fi
- ;;
-stop)
- echo -n "Shutting down dansguardian: "
- WAITPID=0
- if [ -f ${PIDDIR}dansguardian.pid ] ; then
- WAITPID=`cat ${PIDDIR}dansguardian.pid`
- fi
- if ${BINARYLOCATION}dansguardian -q 2> /dev/null; then
- if wait_for_pid $WAITPID ; then
- echo -e "\\033[60G\c"
- echo -e "[ \\033[1;32m\c"
- echo -e "OK\c"
- echo -e "\\033[0;39m\c"
- echo " ]"
- else
- echo -e "\\033[60G\c"
- echo -e "[ \\033[1;31m\c"
- echo -e "FAILED\c"
- echo -e "\\033[0;39m\c"
- echo " ]"
- fi
- /bin/rm -f ${PIDDIR}dansguardian.pid
- /bin/rm -f /tmp/.dguardianipc
- [ -d /var/lock/subsys ] && /bin/rm -f /var/lock/subsys/dansguardian
- else
- echo -e "\\033[60G\c"
- echo -e "[ \\033[1;31m\c"
- echo -e "FAILED\c"
- echo -e "\\033[0;39m\c"
- echo " ]"
- fi
- ;;
-restart)
- $0 stop
- $0 start
- ;;
-status)
- if [ -f ${BINARYLOCATION}dansguardian ]; then
- ${BINARYLOCATION}dansguardian -s
- fi
- ;;
-
-*)
-
- echo "Usage: $0 {start|stop|restart|status}" >&2
+ start)
+ # Check if the service is already running?
+ if [ ! -f /var/lock/subsys/dansguardian ]; then
+ if [ -f ${BINARYLOCATION}dansguardian ] &&
+ [ -f ${CONFFILELOCATION}dansguardian.conf ]; then
+ msg_starting dansguardian
+ run_cmd ${BINARYLOCATION}dansguardian 2>/dev/null
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dansguardian
+ fi
+ else
+ msg_already_running dansguardian
+ fi
+ ;;
+ stop)
+ if [ -f /var/lock/subsys/dansguardian ]; then
+ msg_stopping dansguardian
+ busy
+ WAITPID=0
+ if [ -f ${PIDDIR}dansguardian.pid ] ; then
+ WAITPID=`cat ${PIDDIR}dansguardian.pid`
+ fi
+ if ${BINARYLOCATION}dansguardian -q 2> /dev/null; then
+ if wait_for_pid $WAITPID ; then
+ ok
+ else
+ fail
+ fi
+ rm -f ${PIDDIR}dansguardian.pid
+ rm -f /tmp/.dguardianipc
+ [ -d /var/lock/subsys ] && /bin/rm -f /var/lock/subsys/dansguardian
+ else
+ fail
+ fi
+ else
+ msg_not_running dansguardian
+ fi
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
;;
+ status)
+ if [ -f ${BINARYLOCATION}dansguardian ]; then
+ ${BINARYLOCATION}dansguardian -s
+ fi
+ status dansguardian
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|force-reload|status}"
+ exit 3
esac
-exit 0
+exit $RETVAL