1 # $Id: junkbuster-rh.spec,v 1.25 2001/12/28 01:45:36 steudten Exp $
3 # Written by and Copyright (C) 2001 the SourceForge
4 # IJBSWA team. http://ijbswa.sourceforge.net
6 # Based on the Internet Junkbuster originally written
7 # by and Copyright (C) 1997 Anonymous Coders and
8 # Junkbusters Corporation. http://www.junkbusters.com
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.
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.
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.
28 # $Log: junkbuster-rh.spec,v $
29 # Revision 1.25 2001/12/28 01:45:36 steudten
30 # Add paranoia check and BuildReq: gzip
32 # Revision 1.24 2001/12/01 21:43:14 hal9
33 # Allowed for new ijb.action file.
35 # Revision 1.23 2001/11/06 12:09:03 steudten
36 # Compress doc files. Install README and AUTHORS at last as document.
38 # Revision 1.22 2001/11/05 21:37:34 steudten
39 # Fix to include the actual version for name.
40 # Let the 'real' packager be included - sorry stefan.
42 # Revision 1.21 2001/10/31 19:27:27 swa
43 # consistent description. new name for suse since
44 # we had troubles with rpms of identical names
47 # Revision 1.20 2001/10/24 15:45:49 hal9
48 # To keep Thomas happy (aka correcting my mistakes)
50 # Revision 1.19 2001/10/15 03:23:59 hal9
53 # Revision 1.17 2001/10/10 18:59:28 hal9
54 # Minor change for init script.
56 # Revision 1.16 2001/09/24 20:56:23 hal9
59 # Revision 1.13 2001/09/10 17:44:43 swa
60 # integrate three pieces of documentation. needs work.
61 # will not build cleanly under redhat.
63 # Revision 1.12 2001/09/10 16:25:04 swa
64 # copy all templates. version updated.
66 # Revision 1.11 2001/07/03 11:00:25 sarantis
67 # replaced permissionsfile with actionsfile
69 # Revision 1.10 2001/07/03 09:34:44 sarantis
70 # bumped up version number.
72 # Revision 1.9 2001/06/12 18:15:29 swa
73 # the % in front of configure (see tag below) confused
74 # the rpm build process on 7.1.
76 # Revision 1.8 2001/06/12 17:15:56 swa
77 # fixes, because a clean build on rh6.1 was impossible.
78 # GZIP confuses make, % configure confuses rpm, etc.
80 # Revision 1.7 2001/06/11 12:17:26 sarantis
83 # Revision 1.6 2001/06/11 11:28:25 sarantis
84 # Further optimizations and adaptations in the spec file.
86 # Revision 1.5 2001/06/09 09:14:11 swa
87 # shamelessly adapted RPM stuff from the newest rpm that
88 # RedHat provided for the JB.
90 # Revision 1.4 2001/06/08 20:54:18 swa
91 # type with status file. remove forward et. al from file list.
93 # Revision 1.3 2001/06/07 17:28:10 swa
96 # Revision 1.2 2001/06/04 18:31:58 swa
97 # files are now prefixed with either `confdir' or `logdir'.
98 # `make redhat-dist' replaces both entries confdir and logdir
101 # Revision 1.1 2001/06/04 10:44:57 swa
102 # `make redhatr-dist' now works. Except for the paths
103 # in the config file.
107 Summary: The Internet Junkbuster
108 Vendor: http://ijbswa.sourceforge.net
112 Source0: http://www.waldherr.org/junkbuster/ijbswa-%{version}.tar.gz
114 BuildRoot: %{_tmppath}/%{name}-%{version}-root
115 Group: Networking/Utilities
116 URL: http://ijbswa.sourceforge.net/
117 Obsoletes: junkbuster-raw junkbuster-blank
118 Prereq: /usr/sbin/useradd , /sbin/chkconfig , /sbin/service
119 BuildRequires: perl gzip
120 Conflicts: junkbuster-raw junkbuster-blank
123 Internet Junkbuster is a web proxy with advanced filtering
124 capabilities for protecting privacy, filtering web page content,
125 managing cookies, controlling access, and removing ads, banners,
126 pop-ups and other obnoxious Internet Junk. Junkbuster has a very
127 flexible configuration and can be customized to suit individual needs
128 and tastes. Internet Junkbuster has application for both stand-alone
129 systems and multi-user networks.
131 %define ijbconf %{_sysconfdir}/junkbuster
138 make "CFLAGS=$RPM_OPT_FLAGS -Ipcre -Wall"
142 /usr/sbin/useradd -d /etc/junkbuster -r junkbuster -s "/bin/false" > /dev/null 2>&1 || /bin/true
145 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
146 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} \
147 ${RPM_BUILD_ROOT}%{_mandir}/man8 \
148 ${RPM_BUILD_ROOT}/var/log/junkbuster \
149 ${RPM_BUILD_ROOT}%{ijbconf}/templates \
150 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d \
151 ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d
153 gzip README AUTHORS junkbuster.1 || /bin/true
154 install -s -m 744 junkbuster $RPM_BUILD_ROOT%{_sbindir}/junkbuster
155 cp -f junkbuster.1.gz $RPM_BUILD_ROOT%{_mandir}/man8/junkbuster.8.gz
156 cp -f *.action $RPM_BUILD_ROOT%{ijbconf}/
157 cp -f re_filterfile $RPM_BUILD_ROOT%{ijbconf}/re_filterfile
158 cp -f trust $RPM_BUILD_ROOT%{ijbconf}/trust
159 cp -f templates/* $RPM_BUILD_ROOT%{ijbconf}/templates/
160 cp -f junkbuster.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/junkbuster
161 install -m 755 junkbuster.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/junkbuster
162 install -m 711 -d $RPM_BUILD_ROOT/var/log/junkbuster
164 # verify all file locations, etc. in the config file
165 # don't start with ^ or commented lines are not replaced
167 sed 's/^confdir.*/confdir \/etc\/junkbuster/g' | \
168 # sed 's/^permissionsfile.*/permissionsfile \/etc\/junkbuster\/permissionsfile/g' | \
169 # sed 's/^re_filterfile.*/re_filterfile \/etc\/junkbuster\/re_filterfile/g' | \
170 # sed 's/^logfile.*/logfile \/var\/log\/junkbuster\/logfile/g' | \
171 # sed 's/^jarfile.*/jarfile \/var\/log\/junkbuster\/jarfile/g' | \
172 # sed 's/^forward.*/forward \/etc\/junkbuster\/forward/g' | \
173 # sed 's/^aclfile.*/aclfile \/etc\/junkbuster\/aclfile/g' > \
174 sed 's/^logdir.*/logdir \/var\/log\/junkbuster/g' > \
175 $RPM_BUILD_ROOT%{ijbconf}/config
176 perl -pe 's/{-no-cookies}/{-no-cookies}\n\.redhat.com/' ijb.action >\
177 $RPM_BUILD_ROOT%{ijbconf}/ijb.action
180 # for upgrade from 2.0.x
181 [ -f /var/log/junkbuster/junkbuster ] &&\
182 mv -f /var/log/junkbuster/junkbuster /var/log/junkbuster/logfile || /bin/true
183 chown -R junkbuster:junkbuster /var/log/junkbuster 2>/dev/null
184 chown -R junkbuster:junkbuster /etc/junkbuster 2>/dev/null
185 if [ "$1" = "1" ]; then
186 /sbin/chkconfig --add junkbuster
187 /sbin/service junkbuster condrestart > /dev/null 2>&1
189 # 01/09/02 HB, getting rid of any user=junkbust
190 grep junkbust: /etc/passwd >/dev/null && userdel junkbust || /bin/true
193 if [ "$1" = "0" ]; then
194 /sbin/service junkbuster stop > /dev/null 2>&1 ||:
195 /sbin/chkconfig --del junkbuster
199 #if [ "$1" -ge "1" ]; then
200 # /sbin/service junkbuster condrestart > /dev/null 2>&1
204 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
207 %defattr(-,root,root)
208 %doc README.gz AUTHORS.gz ChangeLog.gz
209 %doc doc/webserver/developer-manual doc/webserver/user-manual
210 %doc doc/webserver/user-manual
211 #%doc junkbuster.weekly junkbuster.monthly AUTHORS
214 %attr(0744,junkbuster,junkbuster) %dir /var/log/junkbuster
215 %config %{_sysconfdir}/logrotate.d/junkbuster
216 %attr(0744,junkbuster,junkbuster)/usr/sbin/junkbuster
218 %config %{_sysconfdir}/rc.d/init.d/junkbuster
222 * Wed Jan 09 2002 Hal Burgiss <hal@foobox.net>
223 - Removed UID 73. Included user-manual and developer-manual in docs.
224 Include other actions files. Default shell is now /bin/false.
225 Userdel user=junkbust.
227 * Fri Dec 28 2001 Thomas Steudten <thomas@steudten.ch>
228 - add paranoia check for 'rm -rf $RPM_BUILD_ROOT'
229 - add gzip to 'BuildRequires'
231 * Sat Dec 1 2001 Hal Burgiss <hal@foobox.net>
232 - actionsfile is now ijb.action.
234 * Tue Nov 6 2001 Thomas Steudten <thomas@steudten.ch>
236 - Add more documents for installation
237 - Add version string to name and source
239 * Wed Oct 24 2001 Hal Burigss <hal@foobox.net>
240 - Back to user 'junkbuster' and fix configure macro.
242 * Wed Oct 10 2001 Hal Burigss <hal@foobox.net>
243 - More changes for user 'junkbust'. Init script had 'junkbuster'.
245 * Sun Sep 23 2001 Hal Burgiss <hal@foobox.net>
246 - Change of $RPM_OPT_FLAGS handling. Added new HTML doc files.
247 - Changed owner of /etc/junkbuster to shut up PAM/xauth log noise.
249 * Thu Sep 13 2001 Hal Burgiss <hal@foobox.net>
250 - Added $RPM_OPT_FLAGS support, renaming of old logfile, and
251 - made sure no default shell exists for user junkbust.
253 * Sun Jun 3 2001 Stefan Waldherr <stefan@waldherr.org>
256 * Mon Sep 25 2000 Stefan Waldherr <stefan@waldherr.org>
257 - CLF Logging patch by davep@cyw.uklinux.net
258 - Hal DeVore <haldevore@earthling.net> fix akamaitech in blocklist
260 * Sun Sep 17 2000 Stefan Waldherr <stefan@waldherr.org>
261 - Steve Kemp skx@tardis.ed.ac.uk's javascript popup patch.
262 - Markus Breitenbach breitenb@rbg.informatik.tu-darmstadt.de supplied
263 numerous fixes and enhancements for Steve's patch.
264 - adamlock@netscape.com (Adam Lock) in the windows version:
265 - Taskbar activity spinner always spins even when logging is
266 turned off (which is the default) - people who don't
267 like the spinner can turn it off from a menu option.
268 - Taskbar popup menu has a options submenu - people can now
269 open the settings files for cookies, blockers etc.
270 without opening the JB window.
271 - Logging functionality works again
272 - Buffer overflow is fixed - new code uses a bigger buffer
273 and snprintf so it shouldn't overflow anymore.
274 - Fixed userid swa, group learning problem while installing.
276 - Added patch by Benjamin Low <ben@snrc.uow.edu.au> that prevents JB to
277 core dump when there is no log file.
278 - Tweaked SuSE startup with the help of mohataj@gmx.net and Doc.B@gmx.de.
279 - Fixed man page to include imagefile and popupfile.
280 - Sanity check for the statistics function added.
281 - "Patrick D'Cruze" <pdcruze@orac.iinet.net.au>: It seems Microsoft
282 are transitioning Hotmail from FreeBSD/Apache to Windows 2000/IIS.
283 With IIS/5, it appears to omit the trailing \r\n from http header
284 only messages. eg, when I visit http://www.hotmail.com, IIS/5
285 responds with a HTTP 302 redirect header. However, this header
286 message is missing the trailing \r\n. IIS/5 then closes the
287 connection. Junkbuster, unfortunately, discards the header becomes
288 it thinks it is incomplete - and it is. MS have transmitted an
290 - Added bug reports and patch submission forms in the docs.
292 * Mon Mar 20 2000 Stefan Waldherr <stefan@waldherr.org>
293 Andrew <anw@tirana.freewire.co.uk> extended the JB:
294 Display of statistics of the total number of requests and the number
295 of requests filtered by junkbuster, also the percentage of requests
296 filtered. Suppression of the listing of files on the proxy-args page.
297 All stuff optional and configurable.
299 * Sun Sep 12 1999 Stefan Waldherr <stefan@waldherr.org>
300 Jan Willamowius (jan@janhh.shnet.org) fixed a bug in the
301 code which prevented the JB from handling URLs of the form
302 user:password@www.foo.com. Fixed.
304 * Mon Aug 2 1999 Stefan Waldherr <stefan@waldherr.org>
305 Blank images are no longer cached, thanks to a hint from Markus
306 Breitenbach <breitenb@rbg.informatik.tu-darmstadt.de>. The user
307 agent is NO longer set by the Junkbuster. Sadly, many sites depend
308 on the correct browser version nowadays. Incorporated many
309 suggestions from Jan "Yenya" Kasprzak <kas@fi.muni.cz> for the
310 spec file. Fixed logging problem and since runlevel 2 does not
311 use networking, I replaced /etc/rc.d/rc2.d/S84junkbuster with
312 /etc/rc.d/rc2.d/K09junkbuster thanks to Shaw Walker
313 <walker@netgate.net>. You should now be able to build this RPM as
314 a non-root user (mathias@weidner.sem.lipsia.de).
316 * Sun Jan 31 1999 Stefan Waldherr <stefan@waldherr.org>
317 /var/log/junkbuster set to nobody. Added /etc/junkbuster/imagelist
318 to allow more sophisticated matching of blocked images. Logrotate
319 logfile. Added files for auto-updating the blocklist et al.
321 * Wed Dec 16 1998 Stefan Waldherr <stefan@waldherr.org>
322 Configure blank version via config file. No separate blank
323 version anymore. Added Roland's <roland@spinnaker.rhein.de>
324 patch to show a logo instead of a blank area. Added a suggestion
325 from Alex <alex@cocoa.demon.co.uk>: /var/lock/subsys/junkbuster.
326 More regexps in the blocklist. Prepared the forwardfile for
327 squid. Extended image regexp with help from gabriel
328 <somlo@CS.ColoState.EDU>.
330 * Thu Nov 19 1998 Stefan Waldherr <stefan@waldherr.org>
331 All RPMs now identify themselves in the show-proxy-args page.
332 Released Windoze version. Run junkbuster as nobody instead of
335 * Fri Oct 30 1998 Stefan Waldherr <stefan@waldherr.org>
336 Newest version. First release (hence the little version number
337 mixture -- 2.0.2-0 instead of 2.0-7). This version tightens
338 security over 2.0.1; some multi-user sites will need to change
339 the listen-address in the configuration file. The blank version of
340 the Internet Junkbuster has a more sophisticated way of replacing
341 images. All RPMs identify themselves in the show-proxy-args page.
343 * Thu Sep 23 1998 Stefan Waldherr <stefan@waldherr.org>
344 Modified the blocking feature, so that only GIFs and JPEGs are
345 blocked and replaced but not HTML pages. Thanks to
346 "Gerd Flender" <plgerd@informatik.uni-siegen.de> for this nice
347 idea. Added numerous stuff to the blocklist. Keep patches in
348 seperate files and no longer in diffs (easier to maintain).
350 * Tue Jun 16 1998 Stefan Waldherr <swa@cs.cmu.edu>
351 Moved config files to /etc/junkbuster directory, moved man page,
352 added BuildRoot directive (Thanks to Alexey Nogin <ayn2@cornell.edu>)
353 Made new version junkbuster-raw (which is only a stripped version of
354 the junkuster rpm, i.e. without my blocklist, etc.)
356 * Tue Jun 16 1998 (2.0-1)
357 Uhm, not that much. Just a new junkbuster version that
358 fixes a couple of bugs ... and of course a bigger
359 blocklist with the unique Now-less-ads-than-ever(SM)
361 Oh, one thing: I changed the default user agent to Linux -- no
362 need anymore to support Apple.
364 * Tue Jun 16 1998 (2.0-0)
365 Now-less-ads-than-ever (SM)
366 compiled with gcc instead of cc
367 compiled with -O3, thus it should be a little faster
368 show-proxy-args now works
369 /etc/junkbuster.init wasn't necessary
371 * Tue Jun 16 1998 (1.4)
372 some more config files were put into /etc
373 The junkbuster-blank rpm returns a 1x1 pixel image, that gets
374 displayed by Netscape instead of the blocked image.
375 Read http://www.waldherr.org/junkbuster/ for
378 * Tue Jun 16 1998 (1.3)
379 The program has been moved to /usr/sbin (from /usr/local/bin)
380 Init- and stopscripts (/etc/rc.d/rc*) have been added so
381 that the junkbuster starts automatically during bootup.
382 The /etc/blocklist file is much more sophisticated. Theoretically
383 one should e.g. browse all major US and German newspapers without
384 seeing one annoying ad.
385 junkbuster.init was modified. It now starts junkbuster with an
386 additional "-r @" flag.