Hiding all the warnings generated by #include<windows.h>
[privoxy.git] / junkbuster.init
index 04bdfde..f5f045e 100644 (file)
@@ -5,9 +5,6 @@
 # 
 #  Purpose     :  This shell script takes care of starting and stopping
 #                 junkbuster.
-#                 This works only correctly if the user `nobody' is allowed
-#                 to be in the directory where this file is called 
-#                 (for example: /root is NOT ok)
 # 
 #  Copyright   :  Written by and Copyright (C) 2001 the SourceForge
 #                 IJBSWA team.  http://ijbswa.sourceforge.net
 # 
 #  Revisions   :
 #     $Log: junkbuster.init,v $
+#     Revision 1.14  2002/03/06 06:13:40  hal9
+#     Adapted for Andreas' changes for --user and --pidfile.
+#
+#     Revision 1.13  2002/03/05 05:10:10  oes
+#     Changed pidfile path to conform with FHS
+#
+#     Revision 1.12  2002/03/04 20:44:36  oes
+#     Changed to new cmdline syntax
+#
+#     Revision 1.11  2001/12/30 14:07:32  steudten
+#     - Add signal handling (unix)
+#     - Add SIGHUP handler (unix)
+#     - Add creation of pidfile (unix)
+#     - Add action 'top' in rc file (RH)
+#     - Add entry 'SIGNALS' to manpage
+#     - Add exit message to logfile (unix)
+#
+#     Revision 1.10  2001/11/05 21:30:23  steudten
+#     Make JB startup without & due to be a 'real' daemon right now.
+#     Make the script easy to change.
+#
+#     Revision 1.9  2001/09/15 01:53:12  steudten
+#
+#     Remove test for subsys flag in start. Some minor changes.
+#
+#     Revision 1.8  2001/06/28 13:50:36  sarantis
+#     swap ?$ with $?; remove bogus ";;"
+#
+#     Revision 1.7  2001/06/28 13:40:26  sarantis
+#     remove single quotes from $JB; it was not expanded.
+#
 #     Revision 1.6  2001/06/28 13:38:42  sarantis
 #     formatting changes; individual return values are returned from the init script.
 #
 # chkconfig: 235 84 09
 #
 # description: This shell script takes care of starting and stopping \
-#             junkbuster.
+#              junkbuster.
 #
 
+
 # Source function library.
 . /etc/rc.d/init.d/functions
 
 
 #  Check that networking is up.
 [ ${NETWORKING} = "no" ] && exit 0
-[ -f /usr/sbin/junkbuster ] || exit 0
 
-[ -f /etc/junkbuster/config ] || exit 0
+JB_PRG="junkbuster"
+JB_BIN="/usr/sbin/$JB_PRG"
+JB_CONF="/etc/$JB_PRG/config"
+JB_USER="junkbuster"
+JB_PID=/var/run/$JB_PRG.pid
+JB_LOCK=/var/lock/subsys/$JB_PRG
+JB="$JB_BIN --user $JB_USER.$JB_USER --pidfile $JB_PID $JB_CONF"
+
+# some checks for us
+! [ -x $JB_BIN  ] && echo "Can't find $JB_BIN, exit." && exit 0
+! [ -f $JB_CONF ] && echo "Can't find $JB_CONF, exit." && exit 0
 
 # See how we were called.
 
-JB="/usr/sbin/junkbuster /etc/junkbuster/config & "
 start () {
        # start daemon
-       [ -f /var/lock/subsys/junkbuster ] && exit 0
-       echo -n $"Starting junkbuster: "
-       daemon --user junkbust $JB 
+       echo -n $"Starting $JB_PRG: "
+     if [ -f $JB_PID ]; then 
+        killproc $JB_PRG && rm -f $JB_LOCK $JB_PID
+        RETVAL=$?
+        [ $RETVAL != 0 ] && return $RETVAL
+     fi
+       daemon $JB 
        RETVAL=$?
        echo
-       [ $RETVAL = 0 ] && touch /var/lock/subsys/junkbuster
+       [ $RETVAL = 0 ] && touch $JB_LOCK
        return $RETVAL
 }
 
 stop () {
        # stop daemon
-       echo -n $"Stopping junkbuster: "
-       killproc junkbuster && rm -f /var/lock/subsys/junkbuster
-       RETVAL=?$
+       echo -n $"Stopping $JB_PRG: "
+       killproc $JB_PRG && rm -f $JB_LOCK $JB_PID
+       RETVAL=$?
        echo
        return $RETVAL
 }
@@ -103,28 +144,42 @@ case "$1" in
        start   
        ;;
   stop)
-       stop    
+       stop
+       ;;
+  reload)
+       if [ -f $JB_PID ] ; then
+        kill -HUP `cat $JB_PID`
+        RETVAL=$?
+     fi
        ;;
-  reload|restart)
+  restart)
        stop
        start
        RETVAL=$?
        ;;
   condrestart)
        # restart only if already running
-       if [ -f /var/lock/subsys/junkbuster ] ; then
-               stop
-               start
-               RETVAL=$?
-               ;;
+       if [ -f $JB_PID ] ; then
+        stop
+        start
+        RETVAL=$?
        fi 
        ;;
   status)
-       status junkbuster
+       status $JB_PRG 
        RETVAL=$?
        ;;
+  top)
+     if [ -f $JB_PID ]; then
+                a=""
+                for i in `pidof $JB_PRG` ; do
+                        a="$a -p $i"
+                done
+                top $a
+     fi
+       ;;
   *)
-       echo $"Usage: junkbuster {start|stop|reload|restart|condrestart|status}"
+       echo $"Usage: $JB_PRG {start|stop|reload|restart|condrestart|status|top}"
        exit 1
 esac