3 # This is file /etc/rc.d/init.d/privoxy and was put here
6 # chkconfig: 2345 84 09
8 # description: This shell script takes care of starting and stopping \
12 # ********************************************************************
14 # File : $Source: /cvsroot/ijbswa/current/privoxy.init,v $
16 # Purpose : This shell script takes care of starting and stopping
19 # Copyright : Written by and Copyright (C) 2001 the SourceForge
20 # Privoxy team. http://www.privoxy.org/
22 # Based on the Internet Junkbuster originally written
23 # by and Copyright (C) 1997 Anonymous Coders and
24 # Junkbusters Corporation. http://www.junkbusters.com
26 # This program is free software; you can redistribute it
27 # and/or modify it under the terms of the GNU General
28 # Public License as published by the Free Software
29 # Foundation; either version 2 of the License, or (at
30 # your option) any later version.
32 # This program is distributed in the hope that it will
33 # be useful, but WITHOUT ANY WARRANTY; without even the
34 # implied warranty of MERCHANTABILITY or FITNESS FOR A
35 # PARTICULAR PURPOSE. See the GNU General Public
36 # License for more details.
38 # The GNU General Public License should be included with
39 # this file. If not, you can view it at
40 # http://www.gnu.org/copyleft/gpl.html
41 # or write to the Free Software Foundation, Inc., 59
42 # Temple Place - Suite 330, Boston, MA 02111-1307, USA.
45 # $Log: privoxy.init,v $
46 # Revision 1.8.2.1 2002/07/12 09:14:26 kick_
47 # don't use ghost files for rcX.d/*, chkconfig is available to do this job. Enable translation of error messge
49 # Revision 1.8 2002/04/09 02:51:31 hal9
50 # Changed $JB to $PRIVOXY.
52 # Revision 1.7 2002/04/08 14:54:51 morcego
53 # Moved the chkconfig comments to the begining of the file, couse Linuxconf
54 # was getting confused with it where it was.
56 # Revision 1.6 2002/03/26 22:29:55 swa
57 # we have a new homepage!
59 # Revision 1.5 2002/03/25 06:14:18 morcego
60 # Removing the OPRG definition (no longer needed)
62 # Revision 1.4 2002/03/25 04:16:48 hal9
63 # Fix proper config file location.
65 # Revision 1.3 2002/03/24 19:12:15 hal9
66 # Fixed some naming conflicts.
68 # Revision 1.2 2002/03/24 11:40:14 swa
71 # Revision 1.1 2002/03/24 11:23:44 swa
74 # Revision 1.1 2002/03/22 20:53:03 morcego
75 # - Ongoing process to change name to JunkbusterNG
76 # - configure/configure.in: no change needed
78 # - TAR_ARCH = /tmp/JunkbusterNG-$(RPM_VERSION).tar.gz
79 # - PROGRAM = jbng@EXEEXT@
80 # - rh-spec now references as junkbusterng-rh.spec
81 # - redhat-upload: references changed to junkbusterng-* (package names)
82 # - tarball-dist: references changed to JunkbusterNG-distribution-*
83 # - tarball-src: now JunkbusterNG-*
84 # - install: initscript now junkbusterng.init and junkbusterng (when
86 # - junkbuster-rh.spec: renamed to junkbusterng-rh.spec
87 # - junkbusterng.spec:
88 # - References to the expression ijb where changed where possible
89 # - New package name: junkbusterng (all in lower case, acording to
90 # the LSB recomendation)
91 # - Version changed to: 2.9.13
93 # - Added: junkbuster to obsoletes and conflicts (Not sure this is
94 # right. If it obsoletes, why conflict ? Have to check it later)
95 # - Summary changed: Stefan, please check and aprove it
96 # - Changes description to use the new name
97 # - Sed string was NOT changed. Have to wait to the manpage to
99 # - Keeping the user junkbuster for now. It will require some aditional
100 # changes on the script (scheduled for the next specfile release)
101 # - Added post entry to move the old logfile to the new log directory
102 # - Removing "chkconfig --add" entry (not good to have it automaticaly
103 # added to the startup list).
104 # - Added preun section to stop the service with the old name, as well
105 # as remove it from the startup list
106 # - Removed the chkconfig --del entry from the conditional block on
107 # the preun scriptlet (now handled on the %files section)
108 # - junkbuster.init: renamed to junkbusterng.init
109 # - junkbusterng.init:
110 # - Changed JB_BIN to jbng
111 # - Created JB_OBIN with the old value of JB_BIN (junkbuster), to
112 # be used where necessary (config dir)
115 # - The config directory is /etc/junkbuster yet. Have to change it on the
116 # specfile, after it is changes on the code
117 # - The only files that got renamed on the cvs tree were the rh specfile and
118 # the init file. Some file references got changes on the makefile and on the
119 # rh-spec (as listed above)
121 # Revision 1.15 2002/03/09 15:05:58 swa
124 # Revision 1.14 2002/03/06 06:13:40 hal9
125 # Adapted for Andreas' changes for --user and --pidfile.
127 # Revision 1.13 2002/03/05 05:10:10 oes
128 # Changed pidfile path to conform with FHS
130 # Revision 1.12 2002/03/04 20:44:36 oes
131 # Changed to new cmdline syntax
133 # Revision 1.11 2001/12/30 14:07:32 steudten
134 # - Add signal handling (unix)
135 # - Add SIGHUP handler (unix)
136 # - Add creation of pidfile (unix)
137 # - Add action 'top' in rc file (RH)
138 # - Add entry 'SIGNALS' to manpage
139 # - Add exit message to logfile (unix)
141 # Revision 1.10 2001/11/05 21:30:23 steudten
142 # Make JB startup without & due to be a 'real' daemon right now.
143 # Make the script easy to change.
145 # Revision 1.9 2001/09/15 01:53:12 steudten
147 # Remove test for subsys flag in start. Some minor changes.
149 # Revision 1.8 2001/06/28 13:50:36 sarantis
150 # swap ?$ with $?; remove bogus ";;"
152 # Revision 1.7 2001/06/28 13:40:26 sarantis
153 # remove single quotes from $JB; it was not expanded.
155 # Revision 1.6 2001/06/28 13:38:42 sarantis
156 # formatting changes; individual return values are returned from the init script.
158 # Revision 1.5 2001/06/11 11:37:40 sarantis
159 # Minor editing changes.
161 # Revision 1.4 2001/06/09 09:14:11 swa
162 # shamelessly adapted RPM stuff from the newest rpm that
163 # RedHat provided for the JB.
165 # Revision 1.3 2001/05/25 10:12:44 oes
166 # Fixed default case in switch statement (# -> *)
168 # Revision 1.2 2001/05/24 07:52:24 swa
169 # added header. removed ^M.
172 # ********************************************************************/
175 # Source function library.
176 . /etc/rc.d/init.d/functions
178 . /etc/sysconfig/network
180 # Check that networking is up.
181 [ ${NETWORKING} = "no" ] && exit 0
183 PRIVOXY_PRG="privoxy"
184 PRIVOXY_BIN="/usr/sbin/$PRIVOXY_PRG"
185 PRIVOXY_CONF="/etc/$PRIVOXY_PRG/config"
186 PRIVOXY_USER="privoxy"
187 PRIVOXY_PID=/var/run/$PRIVOXY_PRG.pid
188 PRIVOXY_LOCK=/var/lock/subsys/$PRIVOXY_PRG
189 PRIVOXY="$PRIVOXY_BIN --user $PRIVOXY_USER.$PRIVOXY_USER --pidfile $PRIVOXY_PID $PRIVOXY_CONF"
192 ! [ -x $PRIVOXY_BIN ] && echo $"Can't find $PRIVOXY_BIN, exit." && exit 0
193 ! [ -f $PRIVOXY_CONF ] && echo $"Can't find $PRIVOXY_CONF, exit." && exit 0
195 # See how we were called.
199 echo -n $"Starting $PRIVOXY_PRG: "
200 if [ -f $PRIVOXY_PID ]; then
201 killproc $PRIVOXY_PRG && rm -f $PRIVOXY_LOCK $PRIVOXY_PID
203 [ $RETVAL != 0 ] && return $RETVAL
208 [ $RETVAL = 0 ] && touch $PRIVOXY_LOCK
214 echo -n $"Stopping $PRIVOXY_PRG: "
215 killproc $PRIVOXY_PRG && rm -f $PRIVOXY_LOCK $PRIVOXY_PID
229 if [ -f $PRIVOXY_PID ] ; then
230 kill -HUP `cat $PRIVOXY_PID`
240 # restart only if already running
241 if [ -f $PRIVOXY_PID ] ; then
252 if [ -f $PRIVOXY_PID ]; then
254 for i in `pidof $PRIVOXY_PRG` ; do
261 echo $"Usage: $PRIVOXY_PRG {start|stop|reload|restart|condrestart|status|top}"