Replacing function pointer in struct gateway with a directly
[privoxy.git] / junkbuster-rh.spec
1 # $Id: junkbuster-rh.spec,v 1.2 2001/06/04 18:31:58 swa Exp $
2 #
3 # Written by and Copyright (C) 2001 the SourceForge
4 # IJBSWA team.  http://ijbswa.sourceforge.net
5 #
6 # Based on the Internet Junkbuster originally written
7 # by and Copyright (C) 1997 Anonymous Coders and 
8 # Junkbusters Corporation.  http://www.junkbusters.com
9 #
10 # This program is free software; you can redistribute it 
11 # and/or modify it under the terms of the GNU General
12 # Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at
14 # your option) any later version.
15 #
16 # This program is distributed in the hope that it will
17 # be useful, but WITHOUT ANY WARRANTY; without even the
18 # implied warranty of MERCHANTABILITY or FITNESS FOR A
19 # PARTICULAR PURPOSE.  See the GNU General Public
20 # License for more details.
21 #
22 # The GNU General Public License should be included with
23 # this file.  If not, you can view it at
24 # http://www.gnu.org/copyleft/gpl.html
25 # or write to the Free Software Foundation, Inc., 59
26 # Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27 #
28 # $Log: junkbuster-rh.spec,v $
29 # Revision 1.2  2001/06/04 18:31:58  swa
30 # files are now prefixed with either `confdir' or `logdir'.
31 # `make redhat-dist' replaces both entries confdir and logdir
32 # with redhat values
33 #
34 # Revision 1.1  2001/06/04 10:44:57  swa
35 # `make redhatr-dist' now works. Except for the paths
36 # in the config file.
37 #
38 #
39 #
40 %define PACKAGE_NAME junkbuster
41 %define PACKAGE_URL http://ijbswa.sourceforge.net
42 Summary: The Internet Junkbuster
43 Vendor: http://ijbswa.sourceforge.net
44 Name: %PACKAGE_NAME
45 Version: 2.9
46 Release: 4
47 Source0: http://www.waldherr.org/junkbuster/ijbswa.tar.gz
48 Copyright: GPL
49 BuildRoot: /tmp/junkbuster
50 Group: Networking/Utilities
51 URL: %PACKAGE_URL
52 Packager: Stefan Waldherr <stefan@waldherr.org>
53 Distribution: defineme
54 Obsoletes: junkbuster-raw junkbuster-blank
55 Prereq: chkconfig
56
57 Conflicts: junkbuster-raw junkbuster
58
59 #
60 # -----------------------------------------------------------------------------
61 #
62 %description
63 The Internet Junkbuster (TM) blocks unwanted banner ads and protects
64 your privacy from cookies and other threats. It's free under the GPL
65 (no warranty), runs under *NIX and works with almost any browser. You
66 need to clear you browser's cache and specify the proxy-server,
67 described in /usr/doc/junkbuster.  This is a modified version which
68 returns a blank GIF for blocked images by default.  But you can
69 configure this via /etc/junkbuster/config.
70
71 #
72 # -----------------------------------------------------------------------------
73 #
74 %prep
75
76 #
77 # -----------------------------------------------------------------------------
78 #
79
80
81 %setup -c -n ijbswa
82
83 #
84 # -----------------------------------------------------------------------------
85 #
86 %build
87
88 #export DISTNAME='\"%PACKAGE_NAME-%PACKAGE_VERSION-%PACKAGE_RELEASE\"'
89 #export DISTURL='\"%PACKAGE_URL\"'
90 #make MORE_CFLAGS="$RPM_OPT_FLAGS"' -D_DISTNAME="$(DISTNAME)" -D_DISTURL="$(DISTURL)"'
91 # adds 486 optimization and stuff => bad
92 #make MORE_CFLAGS=' -D_DISTNAME="DDD" -D_DISTURL="UUU"'
93 ./configure
94 make
95 strip junkbuster
96
97 #
98 # -----------------------------------------------------------------------------
99 #
100 %pre
101 if [ -f /etc/rc.d/init.d/junkbuster.init ]; then
102         /etc/rc.d/init.d/junkbuster.init stop
103 fi
104 if [ -f /etc/rc.d/init.d/junkbuster ]; then
105         /etc/rc.d/init.d/junkbuster stop
106 fi
107 rm -f /usr/local/bin/junkbuster
108 rm -f /usr/local/man/man1/junkbuster.1
109
110 if test -d /var/log/junkbuster
111 then
112         mv -f /var/log/junkbuster /var/log/junkbuster.rpmorig
113 fi
114
115 #
116 # -----------------------------------------------------------------------------
117 #
118 %install
119 rm -rf $RPM_BUILD_ROOT
120 mkdir -p $RPM_BUILD_ROOT/{var/log/junkbuster,usr/{sbin,man/man8},etc/{junkbuster,junkbuster/templates,logrotate.d,cron.weekly,cron.monthly,rc.d/{init.d,rc{0,1,2,3,5,6}.d}}}
121 install -s -m 744 junkbuster $RPM_BUILD_ROOT/usr/sbin/junkbuster
122 cp -f junkbuster.1 $RPM_BUILD_ROOT/usr/man/man8/junkbuster.8
123 cp -f permissionsfile $RPM_BUILD_ROOT/etc/junkbuster/permissionsfile
124 cp -f re_filterfile $RPM_BUILD_ROOT/etc/junkbuster/re_filterfile
125 # cp -f blocklist $RPM_BUILD_ROOT/etc/junkbuster/blocklist
126 # cp -f imagelist $RPM_BUILD_ROOT/etc/junkbuster/imagelist
127 # cp -f cookiefile $RPM_BUILD_ROOT/etc/junkbuster/cookiefile
128 cp -f aclfile $RPM_BUILD_ROOT/etc/junkbuster/aclfile
129
130 # verify all file locations, etc. in the config file
131 # don't start with ^ or commented lines are not replaced
132 cat config | \
133     sed 's/^confdir.*/confdir \/etc\/junkbuster/g' | \
134 #    sed 's/^permissionsfile.*/permissionsfile \/etc\/junkbuster\/permissionsfile/g' | \
135 #    sed 's/^re_filterfile.*/re_filterfile \/etc\/junkbuster\/re_filterfile/g' | \
136 #    sed 's/^logfile.*/logfile \/var\/log\/junkbuster\/logfile/g' | \
137 #    sed 's/^jarfile.*/jarfile \/var\/log\/junkbuster\/jarfile/g' | \
138 #    sed 's/^forward.*/forward \/etc\/junkbuster\/forward/g' | \
139 #    sed 's/^aclfile.*/aclfile \/etc\/junkbuster\/aclfile/g' > \
140     sed 's/^logdir.*/logdir \/var\/log\/junkbuster/g' > \
141     $RPM_BUILD_ROOT/etc/junkbuster/config
142
143 cp -f forward $RPM_BUILD_ROOT/etc/junkbuster/forward
144 cp -f trust $RPM_BUILD_ROOT/etc/junkbuster/trust
145 # cp -f popup $RPM_BUILD_ROOT/etc/junkbuster/popup
146 cp -f templates/default $RPM_BUILD_ROOT/etc/junkbuster/templates/
147 cp -f templates/show-status  $RPM_BUILD_ROOT/etc/junkbuster/templates/
148 cp -f templates/show-status  $RPM_BUILD_ROOT/etc/junkbuster/templates/
149
150 cp -f junkbuster.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/junkbuster
151
152 install -m 755 junkbuster.init $RPM_BUILD_ROOT/etc/rc.d/init.d/junkbuster
153 install -m 744 -d $RPM_BUILD_ROOT/var/log/junkbuster
154
155 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc0.d/K09junkbuster
156 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc1.d/K09junkbuster
157 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc2.d/K09junkbuster
158 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc3.d/S84junkbuster
159 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc5.d/S84junkbuster
160 ln -sf ../init.d/junkbuster $RPM_BUILD_ROOT/etc/rc.d/rc6.d/K09junkbuster
161
162
163 #
164 # -----------------------------------------------------------------------------
165 #
166 %preun
167 if [ -f /etc/rc.d/init.d/junkbuster.init ]; then
168         /etc/rc.d/init.d/junkbuster.init stop
169 fi
170 if [ -f /etc/rc.d/init.d/junkbuster ]; then
171         /etc/rc.d/init.d/junkbuster stop
172 fi
173
174 #
175 # -----------------------------------------------------------------------------
176 #
177 %post
178 cat << EOT >&2
179
180 Now you'll need to start junkbuster with 
181
182         /etc/rc.d/init.d/junkbuster start
183
184 or simply reboot; It will be started automatically at boot time. 
185 Don't forget to add the proxy stuff in Netscape.
186
187 EOT
188
189 # check configuration of start/stop/ scripts
190 # /sbin/chkconfig --add junkbuster
191
192
193 #
194 # -----------------------------------------------------------------------------
195 #
196 %clean
197 rm -rf $RPM_BUILD_ROOT
198
199 #
200 # -----------------------------------------------------------------------------
201 #
202 %files
203 %defattr(-,root,root)
204 # %doc ijbfaq.html ijbman.html README README.TOO gpl.html 
205 %doc junkbuster.weekly junkbuster.monthly
206 %attr (-,nobody,nobody) /var/log/junkbuster
207 %config /etc/junkbuster/*
208 %config /etc/logrotate.d/junkbuster
209 %attr (-,nobody,nobody) /usr/sbin/junkbuster
210 /usr/man/man8/junkbuster.8
211 %config /etc/rc.d/init.d/junkbuster
212 %config(missingok) /etc/rc.d/rc0.d/K09junkbuster
213 %config(missingok) /etc/rc.d/rc1.d/K09junkbuster
214 %config(missingok) /etc/rc.d/rc2.d/K09junkbuster
215 %config(missingok) /etc/rc.d/rc3.d/S84junkbuster
216 %config(missingok) /etc/rc.d/rc5.d/S84junkbuster
217 %config(missingok) /etc/rc.d/rc6.d/K09junkbuster
218
219 #
220 # -----------------------------------------------------------------------------
221 #
222
223 %changelog
224
225 * Sun Jun  3 2001 Stefan Waldherr <stefan@waldherr.org>
226 - rework of RPM
227
228 * Mon Sep 25 2000 Stefan Waldherr <stefan@waldherr.org>
229 - CLF Logging patch by davep@cyw.uklinux.net
230 - Hal DeVore <haldevore@earthling.net> fix akamaitech in blocklist
231
232 * Sun Sep 17 2000 Stefan Waldherr <stefan@waldherr.org>
233 - Steve Kemp skx@tardis.ed.ac.uk's javascript popup patch.
234 - Markus Breitenbach breitenb@rbg.informatik.tu-darmstadt.de supplied
235   numerous fixes and enhancements for Steve's patch.
236 - adamlock@netscape.com (Adam Lock) in the windows version:
237   - Taskbar activity spinner always spins even when logging is
238   turned off (which is the default) - people who don't
239   like the spinner can turn it off from a menu option.
240   - Taskbar popup menu has a options submenu - people can now
241   open the settings files for cookies, blockers etc.
242   without opening the JB window.
243   - Logging functionality works again
244   - Buffer overflow is fixed - new code uses a bigger buffer
245   and snprintf so it shouldn't overflow anymore.
246 - Fixed userid swa, group learning problem while installing.
247   root must build RPM.
248 - Added patch by Benjamin Low <ben@snrc.uow.edu.au> that prevents JB to
249   core dump when there is no log file.
250 - Tweaked SuSE startup with the help of mohataj@gmx.net and Doc.B@gmx.de.
251 - Fixed man page to include imagefile and popupfile.
252 - Sanity check for the statistics function added.
253 - "Patrick D'Cruze" <pdcruze@orac.iinet.net.au>: It seems Microsoft
254  are transitioning Hotmail from FreeBSD/Apache to Windows 2000/IIS.
255  With IIS/5, it appears to omit the trailing \r\n from http header
256  only messages.  eg, when I visit http://www.hotmail.com, IIS/5
257  responds with a HTTP 302 redirect header.  However, this header
258  message is missing the trailing \r\n.  IIS/5 then closes the
259  connection.  Junkbuster, unfortunately, discards the header becomes
260  it thinks it is incomplete - and it is.  MS have transmitted an
261  incomplete header!
262 - Added bug reports and patch submission forms in the docs.
263
264 * Mon Mar 20 2000 Stefan Waldherr <stefan@waldherr.org>
265        Andrew <anw@tirana.freewire.co.uk> extended the JB:
266        Display of statistics of the total number of requests and the number
267        of requests filtered by junkbuster, also the percentage of requests
268        filtered. Suppression of the listing of files on the proxy-args page.
269        All stuff optional and configurable.
270
271 * Sun Sep 12 1999 Stefan Waldherr <stefan@waldherr.org>
272        Jan Willamowius (jan@janhh.shnet.org) fixed a bug in the 
273        code which prevented the JB from handling URLs of the form
274        user:password@www.foo.com. Fixed.
275
276 * Mon Aug  2 1999 Stefan Waldherr <stefan@waldherr.org>
277         Blank images are no longer cached, thanks to a hint from Markus 
278         Breitenbach <breitenb@rbg.informatik.tu-darmstadt.de>. The user 
279         agent is NO longer set by the Junkbuster. Sadly, many sites depend 
280         on the correct browser version nowadays. Incorporated many 
281         suggestions from Jan "Yenya" Kasprzak <kas@fi.muni.cz> for the
282         spec file. Fixed logging problem and since runlevel 2 does not 
283         use networking, I replaced /etc/rc.d/rc2.d/S84junkbuster with
284         /etc/rc.d/rc2.d/K09junkbuster thanks to Shaw Walker 
285         <walker@netgate.net>. You should now be able to build this RPM as 
286         a non-root user (mathias@weidner.sem.lipsia.de).
287
288 * Sun Jan 31 1999 Stefan Waldherr <stefan@waldherr.org>
289         /var/log/junkbuster set to nobody. Added /etc/junkbuster/imagelist
290         to allow more sophisticated matching of blocked images. Logrotate
291         logfile. Added files for auto-updating the blocklist et al.
292
293 * Wed Dec 16 1998 Stefan Waldherr <stefan@waldherr.org>
294         Configure blank version via config file. No separate blank
295         version anymore. Added Roland's <roland@spinnaker.rhein.de>
296         patch to show a logo instead of a blank area. Added a suggestion
297         from Alex <alex@cocoa.demon.co.uk>: /var/lock/subsys/junkbuster.
298         More regexps in the blocklist. Prepared the forwardfile for
299         squid. Extended image regexp with help from gabriel 
300         <somlo@CS.ColoState.EDU>.
301
302 * Thu Nov 19 1998 Stefan Waldherr <stefan@waldherr.org>
303         All RPMs now identify themselves in the show-proxy-args page.
304         Released Windoze version. Run junkbuster as nobody instead of
305         root. 
306
307 * Fri Oct 30 1998 Stefan Waldherr <stefan@waldherr.org>
308         Newest version. First release (hence the little version number
309         mixture -- 2.0.2-0 instead of 2.0-7). This version tightens 
310         security over 2.0.1; some multi-user sites will need to change 
311         the listen-address in the configuration file. The blank version of
312         the Internet Junkbuster has a more sophisticated way of replacing
313         images. All RPMs identify themselves in the show-proxy-args page.
314
315 * Thu Sep 23 1998 Stefan Waldherr <stefan@waldherr.org>
316         Modified the blocking feature, so that only GIFs and JPEGs are
317         blocked and replaced but not HTML pages. Thanks to 
318         "Gerd Flender" <plgerd@informatik.uni-siegen.de> for this nice
319         idea. Added numerous stuff to the blocklist. Keep patches in
320         seperate files and no longer in diffs (easier to maintain).
321
322 * Tue Jun 16 1998 Stefan Waldherr <swa@cs.cmu.edu>
323         Moved config files to /etc/junkbuster directory, moved man page,
324         added BuildRoot directive (Thanks to Alexey Nogin <ayn2@cornell.edu>)
325         Made new version junkbuster-raw (which is only a stripped version of 
326         the junkuster rpm, i.e. without my blocklist, etc.)
327
328 * Tue Jun 16 1998 (2.0-1)
329         Uhm, not that much. Just a new junkbuster version that
330         fixes a couple of bugs ... and of course a bigger 
331         blocklist with the unique Now-less-ads-than-ever(SM)
332         feature.
333         Oh, one thing: I changed the default user agent to Linux -- no 
334         need anymore to support Apple.
335
336 * Tue Jun 16 1998 (2.0-0)
337         Now-less-ads-than-ever (SM)
338         compiled with gcc instead of cc
339         compiled with -O3, thus it should be a little faster
340         show-proxy-args now works
341         /etc/junkbuster.init wasn't necessary
342
343 * Tue Jun 16 1998 (1.4)
344         some more config files were put into /etc
345         The junkbuster-blank rpm returns a 1x1 pixel image, that gets 
346         displayed by Netscape instead of the blocked image.
347         Read http://www.waldherr.org/junkbuster/ for
348         further info.
349
350 * Tue Jun 16 1998 (1.3)
351         The program has been moved to /usr/sbin (from /usr/local/bin)
352         Init- and stopscripts (/etc/rc.d/rc*) have been added so
353         that the junkbuster starts automatically during bootup.
354         The /etc/blocklist file is much more sophisticated. Theoretically
355         one should e.g. browse all major US and German newspapers without
356         seeing one annoying ad.
357         junkbuster.init was modified. It now starts junkbuster with an
358         additional "-r @" flag.