# TODO
-# - use /usr/lib/cgi-bin instead of /home/services
-# - test fd-config.patch (works in Fedora)
-# - test new hit_miss_mark.patch (ZPH TOS)
+# - REVIEW patches and configuration
+# - ZPH TOS -
+# For this to work correctly, you will need to patch your linux
+# kernel with the TOS preserving ZPH patch.
+# The kernel patch can be downloaded from http://zph.bratcheda.org
#
# Conditional build:
%bcond_with combined_log # enables apache-like combined log format
Summary(uk.UTF-8): Squid - кеш об'єктів Internet
Summary(zh_CN.UTF-8): SQUID 高速缓冲代理服务器
Name: squid
-Version: 2.6.STABLE17
-Release: 1
+Version: 3.2.11
+Release: 2
Epoch: 7
License: GPL v2
Group: Networking/Daemons
-Source0: http://www.squid-cache.org/Versions/v2/2.6/%{name}-%{version}.tar.bz2
-# Source0-md5: e6face0dff4ea054d3ba94236eb56ea1
-# http://www.squid-cache.org/Doc/FAQ/FAQ.tar.gz
-Source1: %{name}-FAQ.tar.gz
-# Source1-md5: cb9a955f8cda9cc166e086fccd412a43
-Source2: %{name}.init
-Source3: %{name}.sysconfig
-# http://squid-docs.sourceforge.net/latest/zip-files/book-full-html.zip
-Source4: %{name}-book-full-html.zip
-# Source4-md5: 4f3b6dab1de9cbb847df89d8b417378a
-Source5: %{name}.conf.patch
-Source6: %{name}.logrotate
-Source7: %{name}.pamd
-# Bug fixes from Squid home page, please include URL
-# lets have fun - there is no patches... yet :)
-# Other patches:
-# http://www.it-academy.bg/zph/
-Patch100: %{name}_hit_miss_mark.patch
-Patch101: %{name}-fhs.patch
-Patch102: %{name}-location.patch
-Patch103: %{name}-domainmatch.patch
-Patch104: %{name}-libnsl_fixes.patch
-Patch106: %{name}-crash-on-ENOSPC.patch
-Patch107: %{name}-newssl.patch
-Patch109: %{name}-more_FD-new.patch
-Patch110: %{name}-empty-referer.patch
-Patch111: %{name}-align.patch
-Patch112: %{name}-2.5.STABLE4-apache-like-combined-log.patch
-Patch113: %{name}-auth_on_acceleration.patch
-Patch114: %{name}-fd-config.patch
-Patch115: %{name}-ppc-m32.patch
+Source0: http://www.squid-cache.org/Versions/v3/3.2/%{name}-%{version}.tar.bz2
+# Source0-md5: cdd3612bed27e8d513b713004c78bf5b
+Source1: %{name}.init
+Source2: %{name}.sysconfig
+Source3: http://squid-docs.sourceforge.net/latest/zip-files/book-full-html.zip
+# Source3-md5: 4f3b6dab1de9cbb847df89d8b417378a
+Source4: %{name}.conf.patch
+Source5: %{name}.logrotate
+Source6: %{name}.pamd
+Source7: %{name}-cachemgr-apache.conf
+Source8: %{name}.tmpfiles
+Source9: %{name}-cachemgr-httpd.conf
+Patch0: %{name}-fhs.patch
+Patch1: %{name}-location.patch
+Patch2: %{name}-crash-on-ENOSPC.patch
+Patch4: %{name}-2.5.STABLE4-apache-like-combined-log.patch
+Patch5: %{name}-ppc-m32.patch
+Patch6: %{name}-cachemgr-webapp.patch
+# http://www.squid-cache.org/mail-archive/squid-dev/201207/0099.html
+# http://www.squid-cache.org/mail-archive/squid-dev/201207/att-0177/squidv3-vary-cache-1.patch
+Patch7: squidv3-vary-cache-1.patch
+# http://www.squid-cache.org/mail-archive/squid-dev/201207/att-0177/squidv3-vary-headers-shm-hack.patch
+Patch8: squidv3-vary-headers-shm-hack.patch
URL: http://www.squid-cache.org/
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: cppunit-devel
BuildRequires: cyrus-sasl-devel >= 2.1.0
BuildRequires: db-devel
-BuildRequires: openldap-devel >= 2.4.6
+BuildRequires: expat-devel
+BuildRequires: heimdal-devel
+BuildRequires: libcap-devel >= 1:2.09
+BuildRequires: libecap-devel >= 0.2.0
+BuildRequires: libltdl-devel
+BuildRequires: libnetfilter_conntrack-devel
+BuildRequires: libstdc++-devel
+BuildRequires: libtool
+BuildRequires: libxml2-devel
+BuildRequires: openldap-devel >= 2.3.0
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
BuildRequires: perl-base
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
-Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/lib/rpm/user_group.sh
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires(pre,triggerpostun): /bin/id
+Requires(pre,triggerpostun): /usr/sbin/usermod
Requires: rc-scripts >= 0.2.0
Requires: setup >= 2.4.6
Provides: group(squid)
# epoll enabled by default:
-Requires: getconf(_POSIX_POLL)
+Requires: uname(release) >= 2.6
+# TPROXYv4 (v2 disabled b/c it breaks v4)
+#Suggests: uname(release) >= 2.6.28.3
Provides: user(squid)
-Conflicts: logrotate < 3.7-4
+Conflicts: logrotate < 3.8.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _webapps /etc/webapps
+%define _webapp cachemgr
%define _libexecdir %{_libdir}/%{name}
%define _sysconfdir /etc/%{name}
-%define _cgidir /home/services/httpd/cgi-bin
+%define _cgidir %{_prefix}/lib/cgi-bin/%{_webapp}
%description
Squid is a high-performance proxy caching server for web clients,
%package cachemgr
Summary: CGI script for Squid management
Summary(pl.UTF-8): Skrypt CGI do zarządzania Squidem przez WWW
-Group: Networking/Admin
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Group: Applications/WWW
+# does not require squid locally
+Requires: group(http)
+Requires: webapps
Requires: webserver
+Requires: webserver(access)
+Requires: webserver(alias)
+Requires: webserver(cgi)
+Conflicts: apache-base < 2.4.0-1
%description cachemgr
-Cachemgr.cgi is a CGI script that allows administrator to chceck
+Cachemgr.cgi is a CGI script that allows administrator to check
various informations about Squid via WWW.
%description cachemgr -l pl.UTF-8
Cachemgr.cgi jest skryptem CGI, który pozwala administratorowi
zapoznać się z informacjami o pracy Squida poprzez WWW.
+%package kerberos_auth
+Summary: Authentication via the Negotiate RFC 4559 for proxies
+Summary(pl.UTF-8): Uwierzytelnianie przez negocjację RFC 4559 dla serwerów proxy
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Provides: squid-kerb_auth = %{epoch}:%{version}-%{release}
+Obsoletes: squid-kerb_auth < %{epoch}:%{version}-%{release}
+
+%description kerberos_auth
+This squid helper is a reference implementation that supports
+authentication via the Negotiate RFC 4559 for proxies. It decodes RFC
+2478 SPNEGO GSS-API tokens from IE7 either through helper functions or
+via SPNEGO supporting Kerberos libraries and RFC 1964 Kerberos tokens
+from Firefox on Linux.
+
+%description kerberos_auth -l pl.UTF-8
+Pakiet ten jest implementacją uwierzytelniania przez negocjacji RFC
+4559 dla serwerów proxy. Dekoduje żetony SPNEGO GSS-API RFC 2478 z IE7
+poprzez funkcje pomocnicze lub przez biblioteki Kerberos wspierające
+SPNEGO i żetony Kerberos RFC 1964 z Firefoksa w Linuksie.
+
%package ldap_auth
Summary: LDAP authentication helper for Squid
Summary(pl.UTF-8): Obsługa uwierzytelniania LDAP dla squida
Jest to moduł uwierzytelniania proxy, który pozwala na
uwierzytelnianie użytkowników proxy w domenie NT.
-%package yp_auth
-Summary: YP authentication helper for Squid
-Summary(pl.UTF-8): Obsługa uwierzytelniania YP dla squida
+%package nis_auth
+Summary: NIS authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania NIS dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
+Provides: squid-yp_auth = %{epoch}:%{version}-%{release}
+Obsoletes: squid-yp_auth < %{epoch}:%{version}-%{release}
-%description yp_auth
+%description nis_auth
This is an authentication module for the Squid proxy server to
-authenticate users on YP.
+authenticate users on NIS.
-%description yp_auth -l pl.UTF-8
+%description nis_auth -l pl.UTF-8
Jest to moduł uwierzytelniania proxy, który pozwala na
-uwierzytelnianie użytkowników proxy poprzez YP.
+uwierzytelnianie użytkowników proxy poprzez NIS.
%package ncsa_auth
Summary: NCSA httpd style authentication helper for Squid
Jest to moduł uwierzytelniania proxy, który pozwala na
uwierzytelnianie użytkowników proxy poprzez NTLM.
+%package radius_auth
+Summary: RADIUS authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania RADIUS dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description radius_auth
+This helper allows Squid to connect to a RADIUS server to validate the
+user name and password of Basic HTTP authentication.
+
+%description radius_auth -l pl.UTF-8
+Program ten pozwala na uwierzytelnianie użytkowników squida przez
+serwer RADIUS.
+
+%package db_auth
+Summary: Database authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania przez bazę danych dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: perl-DBI
+Suggests: perl-DBD-mysql
+
+%description db_auth
+This is an authentication module for the Squid proxy server to
+authenticate users againsta a database.
+
+%description db_auth -l pl.UTF-8
+Jest to moduł uwierzytelniania proxy, który pozwala na
+uwierzytelnianie użytkowników proxy poprzez bazę danych.
+
+%package pop3_auth
+Summary: POP3 authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania POP3 dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description pop3_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on POP3.
+
+%description pop3_auth -l pl.UTF-8
+Jest to moduł uwierzytelniania proxy, który pozwala na
+uwierzytelnianie użytkowników proxy poprzez POP3.
+
+%package negotiate_wrapper_auth
+Summary: Kerberos authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania Kerberos dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: %{name}-kerberos_auth = %{epoch}:%{version}-%{release}
+Requires: %{name}-ntlm_auth = %{epoch}:%{version}-%{release}
+
+%description negotiate_wrapper_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on Kerberos.
+
+%description negotiate_wrapper_auth -l pl.UTF-8
+Jest to moduł uwierzytelniania proxy, który pozwala na
+uwierzytelnianie użytkowników proxy poprzez Kerberosa.
+
+%package digest_edirectory_auth
+Summary: eDirectory authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania eDirectory dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description digest_edirectory_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on eDirectory.
+
+%description digest_edirectory_auth -l pl.UTF-8
+Jest to moduł uwierzytelniania proxy, który pozwala na
+uwierzytelnianie użytkowników proxy poprzez eDirectory.
+
%package digest_ldap_auth
Summary: LDAP authentication helper for Squid
Summary(pl.UTF-8): Obsługa uwierzytelniania LDAP dla squida
przynależności do grup w domenie NT przy użyciu wbinfo.
%package session_acl
-Summary: Squid session tracking external acl group helper
+Summary: Squid session tracking external ACL group helper
+Summary(pl.UTF-8): Wsparcie kontroli dostępu przez śledzenie sesji
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
%description session_acl
-This helper maintains a concept of sessions by monitoring requests and
-timing out sessions if no requests have been seen for the idle timeout
+This helper maintains a concept of sessions by monitoring requests and
+timing out sessions if no requests have been seen for the idle timeout
timer.
+%description session_acl -l pl.UTF-8
+Moduł oparty na koncepcji sesji, śledzący zapytania i wygaszający
+sesje jeśli w określonym czasie nie widziano w ich obrębie kolejnych
+zapytań.
+
+%package edirectory_userip_acl
+Summary: Squid eDirectory IP Lookup Helper
+Summary(pl.UTF-8): Wsparcie kontroli dostępu przez eDirectory
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description edirectory_userip_acl
+This is an external ACL module for the Squid proxy server to limit
+access for users based on IP address lookup in eDirectory.
+
+%description edirectory_userip_acl -l pl.UTF-8
+Jest to moduł kontroli dostępu (ACL) do proxy, który pozwala na
+ograniczenie dostępu użytkowników proxy na podstawie ich adresu IP
+popranego z eDirectory.
+
+%package kerberos_ldap_group_acl
+Summary: Squid LDAP external acl group helper for Kerberos or NTLM credentials
+Summary(pl.UTF-8): Wsparcie kontroli dostępu przez grupy LDAP/Kerberos/NTLM dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description kerberos_ldap_group_acl
+This is an external ACL module for the Squid proxy server to limit
+access for users based on LDAP Kerberos or NTLM credentials.
+
+%description kerberos_ldap_group_acl -l pl.UTF-8
+Jest to moduł kontroli dostępu (ACL) do proxy, który pozwala na
+ograniczenie dostępu użytkowników proxy na podstawie ich uprawnień
+Kerberosowych lub NTLM-owych w LDAP.
+
%package scripts
Summary: Perl scripts for Squid
Summary(pl.UTF-8): Skrypty perlowe dla Squida
Ten pakiet zawiera skrypty perlowe i dodatkowe programy dla Squida.
%prep
-%setup -q -a1 -a4
-# Bug fixes from Squid home page:
-
-# Other patches:
-%patch100 -p1
-%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
-%patch106 -p1
-%patch107 -p1
-%patch109 -p1
-%patch110 -p1
-%patch111 -p1
-%{?with_combined_log:%patch112 -p1}
-%patch113 -p1
-%patch114 -p1
+%setup -q -a3
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%{?with_combined_log:%patch4 -p1}
%ifarch ppc
-%patch115 -p1
+%patch5 -p1
%endif
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
-%{__sed} -i -e '1s#!.*bin/perl#!%{__perl}#' {contrib,scripts,helpers/*/*}/*.pl
+%{__sed} -i -e '1s#!.*bin/perl#!%{__perl}#' {contrib,scripts}/*.pl
%build
+%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
+ --disable-strict-error-checking \
+ --with-default-user=squid \
+ --with-logdir=/var/log/squid \
+ --with-swapdir=/var/cache/squid \
+ --with-pidfile=/var/run/squid.pid \
--datadir=%{_datadir}/squid \
- --enable-storeio="aufs,coss,diskd,null,ufs" \
- --enable-removal-policies="heap,lru" \
- --enable-icmp \
+ --enable-arp-acl \
+ --enable-auth \
+ --enable-basic-auth-helpers \
+ --enable-ntlm-auth-helpers \
+ --enable-negotiate-auth-helpers \
+ --enable-digest-auth-helpers \
+ --enable-external-acl-helpers \
+ --enable-url-rewrite-helpers \
+ --enable-ntlm-fail-open \
+ --enable-cache-digests \
+ --enable-coss-aio-ops \
--enable-delay-pools \
- --enable-useragent-log \
- --enable-referer-log \
- --enable-kill-parent-hack \
+ --enable-err-language=English \
+ --enable-esi \
+ --enable-follow-x-forwarded-for \
--enable-forward-log \
+ --enable-forw-via-db \
+ --enable-htcp \
+ --enable-wccp \
+ --enable-wccpv2 \
+ --enable-icap-client \
+ --enable-ecap \
+ --enable-icmp \
+ --enable-kill-parent-hack \
+ --enable-large-cache-files \
+ --enable-linux-netfilter \
+ --disable-linux-tproxy \
--enable-multicast-miss \
+ --enable-referer-log \
+ --enable-removal-policies="heap,lru" \
+ --enable-storeio="aufs,diskd,rock,ufs" \
--enable-snmp \
- --enable-arp-acl \
- --enable-htcp \
--enable-ssl \
- --enable-forw-via-db \
- --enable-cache-digests \
- --enable-err-language=English \
- --enable-coss-aio-ops \
- --enable-linux-netfilter \
- --enable-large-cache-files \
- --enable-auth="basic,digest,negotiate,ntlm" \
- --enable-basic-auth-helpers="LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM" \
- --enable-digest-auth-helpers="ldap,password" \
- --enable-external-acl-helpers="ip_user,ldap_group,session,unix_group,wbinfo_group" \
- --enable-ntlm-auth-helpers="SMB,fakeauth,no_check" \
- --enable-ntlm-fail-open \
+ --enable-ipv6 \
+ --enable-useragent-log \
--enable-x-accelerator-vary \
- --enable-follow-x-forwarded-for \
--localstatedir=/var \
--sysconfdir=%{_sysconfdir} \
--with-auth-on-acceleration \
- --with-pthreads \
--with-large-files \
- --enable-fd-config \
- --with-maxfd=32768
+ --with-maxfd=32768 \
+ --with-pthreads \
+ --enable-zph-qos
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_cgidir} \
+install -d $RPM_BUILD_ROOT{%{_cgidir},%{_webapps}/%{_webapp}} \
$RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,security,sysconfig,logrotate.d} \
$RPM_BUILD_ROOT{%{_sbindir},%{_bindir},%{_libexecdir}/contrib} \
$RPM_BUILD_ROOT%{_mandir}/man8 \
$RPM_BUILD_ROOT%{_datadir}/squid \
- $RPM_BUILD_ROOT/var/{cache,log{,/archive}}/squid
+ $RPM_BUILD_ROOT/var/{cache,log{,/archive}}/squid \
+ $RPM_BUILD_ROOT%{systemdtmpfilesdir}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-cp -a contrib/*.pl $RPM_BUILD_ROOT%{_libexecdir}/contrib
+%{__cp} -a contrib/*.pl $RPM_BUILD_ROOT%{_libexecdir}/contrib
install scripts/*.pl $RPM_BUILD_ROOT%{_libexecdir}
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/squid
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/squid
touch $RPM_BUILD_ROOT/etc/security/blacklist.squid
-mv -f $RPM_BUILD_ROOT%{_libdir}/squid/cachemgr.cgi $RPM_BUILD_ROOT%{_cgidir}
+install %{SOURCE8} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/squid.conf
+
+%{__mv} -f $RPM_BUILD_ROOT%{_libdir}/squid/cachemgr.cgi $RPM_BUILD_ROOT%{_cgidir}
+%{__cp} -a %{SOURCE7} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+%{__cp} -a %{SOURCE9} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+%{__rm} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/cachemgr.conf.default
cd $RPM_BUILD_ROOT/etc/squid
-cp -f squid.conf{,.default}
-patch -p0 < %{SOURCE5}
+%{__patch} -p0 < %{SOURCE4}
+%{__rm} *.default squid.conf.documented
cd -
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/squid
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/squid
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/squid
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/squid
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/squid
+install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/squid
touch $RPM_BUILD_ROOT/var/log/squid/{access,cache,store}.log
-# These two files start squid. They are replaced by /etc/rc.d/init.d script.
-rm -f $RPM_BUILD_ROOT%{_bindir}/R*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/squid/errors/{COPYRIGHT,TRANSLATORS}
# cp, to have re-entrant install
-rm -rf docs
-cp -a doc docs
-# dunno why, but manual is not installed
-mv docs/squid.8 $RPM_BUILD_ROOT%{_mandir}/man8
+%{__rm} -rf docs
+%{__cp} -a doc docs
# We don't want Makefiles as docs...
-rm -f docs/Makefile*
+%{__rm} docs/Makefile*
-# We don't like message: rpm found unpackaged files ...
-rm -f $RPM_BUILD_ROOT/etc/squid/msntauth.conf.default \
- $RPM_BUILD_ROOT/etc/squid/squid.conf.orig
-
-> $RPM_BUILD_ROOT/var/cache/squid/netdb_state
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state.clean
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state.last-clean
+:> $RPM_BUILD_ROOT/var/cache/squid/netdb_state
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state.clean
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state.last-clean
%clean
rm -rf $RPM_BUILD_ROOT
%triggerpostun -- squid < 7:2.5.STABLE7-5
%addusertogroup stats squid
+%triggerin cachemgr -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun cachemgr -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin cachemgr -- apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun cachemgr -- apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerpostun -- cachemgr < 7:3.0.STABLE10-0.2
+if [ -f %{_sysconfdir}/cachemgr.conf.rpmsave ]; then
+ cp -f %{_webapps}/%{_webapp}/cachemgr.conf{,.rpmsave}
+ mv -f %{_sysconfdir}/cachemgr.conf.rpmsave %{_webapps}/%{_webapp}/cachemgr.conf
+fi
+
%files
%defattr(644,root,root,755)
-%doc CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART RELEASENOTES.html SPONSORS
-%doc docs/* src/mib.txt FAQ*.html book-full.html
+%doc CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART
+%doc RELEASENOTES.html SPONSORS docs/* src/mib.txt book-full.html
+%doc src/squid.conf.default src/squid.conf.documented src/mime.conf.default
+%doc errors/TRANSLATORS
+%attr(755,root,root) %{_bindir}/purge
%attr(755,root,root) %{_bindir}/squidclient
-%attr(755,root,root) %{_bindir}/cossdump
-%attr(755,root,root) %{_libexecdir}/diskd-daemon
+
+%dir %{_libexecdir}
+%attr(755,root,root) %{_libexecdir}/diskd
# YES, it has to be suid root, it sends ICMP packets.
%attr(4754,root,squid) %{_libexecdir}/pinger
%attr(755,root,root) %{_libexecdir}/unlinkd
-%attr(755,root,root) %{_libexecdir}/fakeauth_auth
-%attr(755,root,root) %{_sbindir}/*
-
-%attr(755,root,root) %dir %{_sysconfdir}
+%attr(755,root,root) %{_libexecdir}/ntlm_fake_auth
+%attr(755,root,root) %{_libexecdir}/basic_fake_auth
+%attr(755,root,root) %{_libexecdir}/url_fake_rewrite
+%attr(755,root,root) %{_libexecdir}/url_fake_rewrite.sh
+%attr(755,root,root) %{_libexecdir}/log_file_daemon
+%attr(755,root,root) %{_sbindir}/squid
%attr(754,root,root) /etc/rc.d/init.d/squid
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/squid
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/squid
+
+%dir %{_sysconfdir}
%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/squid.conf
%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
-%attr(640,root,root) %{_sysconfdir}/mime.conf.default
-%attr(640,root,root) %{_sysconfdir}/squid.conf.default
+%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/errorpage.css
%dir %{_datadir}/squid
%dir %{_datadir}/squid/errors
%{_datadir}/squid/icons
%{_datadir}/squid/mib.txt
-%lang(am) %{_datadir}/squid/errors/Armenian
-%lang(az) %{_datadir}/squid/errors/Azerbaijani
-%lang(bg) %{_datadir}/squid/errors/Bulgarian
-%lang(ca) %{_datadir}/squid/errors/Catalan
-%lang(cs) %{_datadir}/squid/errors/Czech
-%lang(da) %{_datadir}/squid/errors/Danish
-%lang(nl) %{_datadir}/squid/errors/Dutch
-%{_datadir}/squid/errors/English
-%lang(et) %{_datadir}/squid/errors/Estonian
-%lang(fi) %{_datadir}/squid/errors/Finnish
-%lang(fr) %{_datadir}/squid/errors/French
-%lang(de) %{_datadir}/squid/errors/German
-%lang(el) %{_datadir}/squid/errors/Greek
-%lang(he) %{_datadir}/squid/errors/Hebrew
-%lang(hu) %{_datadir}/squid/errors/Hungarian
-%lang(it) %{_datadir}/squid/errors/Italian
-%lang(ja) %{_datadir}/squid/errors/Japanese
-%lang(ko) %{_datadir}/squid/errors/Korean
-%lang(lt) %{_datadir}/squid/errors/Lithuanian
-%lang(pl) %{_datadir}/squid/errors/Polish
-%lang(pt) %{_datadir}/squid/errors/Portuguese
-%lang(ro) %{_datadir}/squid/errors/Romanian
-%lang(ru) %{_datadir}/squid/errors/Russian-1251
-%lang(ru) %{_datadir}/squid/errors/Russian-koi8-r
-%lang(zh_CN) %{_datadir}/squid/errors/Simplify_Chinese
-%lang(sk) %{_datadir}/squid/errors/Slovak
-%lang(es) %{_datadir}/squid/errors/Spanish
-%lang(sr) %{_datadir}/squid/errors/Serbian
-%lang(sv) %{_datadir}/squid/errors/Swedish
-%lang(zh_TW) %{_datadir}/squid/errors/Traditional_Chinese
-%lang(tr) %{_datadir}/squid/errors/Turkish
-
-%attr(755,root,root) %dir %{_libexecdir}
+%{_datadir}/squid/errors/templates
+%lang(af) %{_datadir}/squid/errors/af
+%lang(ar) %{_datadir}/squid/errors/ar
+%lang(ar) %{_datadir}/squid/errors/ar-*
+%lang(az) %{_datadir}/squid/errors/az
+%lang(az) %{_datadir}/squid/errors/az-*
+%lang(bg) %{_datadir}/squid/errors/bg
+%lang(bg) %{_datadir}/squid/errors/bg-*
+%lang(ca) %{_datadir}/squid/errors/ca
+%lang(cs) %{_datadir}/squid/errors/cs
+%lang(cs) %{_datadir}/squid/errors/cs-*
+%lang(da) %{_datadir}/squid/errors/da
+%lang(da) %{_datadir}/squid/errors/da-*
+%lang(de) %{_datadir}/squid/errors/de
+%lang(de) %{_datadir}/squid/errors/de-*
+%lang(el) %{_datadir}/squid/errors/el
+%lang(el) %{_datadir}/squid/errors/el-*
+%{_datadir}/squid/errors/en
+%{_datadir}/squid/errors/en-*
+%lang(es) %{_datadir}/squid/errors/es
+%lang(es) %{_datadir}/squid/errors/es-*
+%lang(et) %{_datadir}/squid/errors/et
+%lang(et) %{_datadir}/squid/errors/et-*
+%lang(fa) %{_datadir}/squid/errors/fa
+%lang(fa) %{_datadir}/squid/errors/fa-*
+%lang(fi) %{_datadir}/squid/errors/fi
+%lang(fi) %{_datadir}/squid/errors/fi-*
+%lang(fr) %{_datadir}/squid/errors/fr
+%lang(fr) %{_datadir}/squid/errors/fr-*
+%lang(he) %{_datadir}/squid/errors/he
+%lang(he) %{_datadir}/squid/errors/he-*
+%lang(hu) %{_datadir}/squid/errors/hu
+%lang(hu) %{_datadir}/squid/errors/hu-*
+%lang(hy) %{_datadir}/squid/errors/hy
+%lang(hy) %{_datadir}/squid/errors/hy-*
+%lang(id) %{_datadir}/squid/errors/id
+%lang(id) %{_datadir}/squid/errors/id-*
+%lang(it) %{_datadir}/squid/errors/it
+%lang(it) %{_datadir}/squid/errors/it-*
+%lang(ja) %{_datadir}/squid/errors/ja
+%lang(ja) %{_datadir}/squid/errors/ja-*
+%lang(ko) %{_datadir}/squid/errors/ko
+%lang(ko) %{_datadir}/squid/errors/ko-*
+%lang(lt) %{_datadir}/squid/errors/lt
+%lang(lt) %{_datadir}/squid/errors/lt-*
+%lang(lv) %{_datadir}/squid/errors/lv
+%lang(lv) %{_datadir}/squid/errors/lv-*
+%lang(ms) %{_datadir}/squid/errors/ms
+%lang(ms) %{_datadir}/squid/errors/ms-*
+%lang(nl) %{_datadir}/squid/errors/nl
+%lang(nl) %{_datadir}/squid/errors/nl-*
+%lang(oc) %{_datadir}/squid/errors/oc
+%lang(pl) %{_datadir}/squid/errors/pl
+%lang(pl) %{_datadir}/squid/errors/pl-*
+%lang(pt) %{_datadir}/squid/errors/pt
+%lang(pt) %{_datadir}/squid/errors/pt-pt
+%lang(pt_BR) %{_datadir}/squid/errors/pt-br
+%lang(ro) %{_datadir}/squid/errors/ro
+%lang(ro) %{_datadir}/squid/errors/ro-*
+%lang(ru) %{_datadir}/squid/errors/ru
+%lang(ru) %{_datadir}/squid/errors/ru-*
+%lang(sk) %{_datadir}/squid/errors/sk
+%lang(sk) %{_datadir}/squid/errors/sk-*
+%lang(sk) %{_datadir}/squid/errors/sl
+%lang(sk) %{_datadir}/squid/errors/sl-*
+%lang(sr) %{_datadir}/squid/errors/sr
+%lang(sr) %{_datadir}/squid/errors/sr-*
+%lang(sv) %{_datadir}/squid/errors/sv
+%lang(sv) %{_datadir}/squid/errors/sv-*
+%lang(th) %{_datadir}/squid/errors/th
+%lang(th) %{_datadir}/squid/errors/th-*
+%lang(tr) %{_datadir}/squid/errors/tr
+%lang(tr) %{_datadir}/squid/errors/tr-*
+%lang(uk) %{_datadir}/squid/errors/uk
+%lang(uk) %{_datadir}/squid/errors/uk-*
+%lang(uz) %{_datadir}/squid/errors/uz
+%lang(vi) %{_datadir}/squid/errors/vi
+%lang(vi) %{_datadir}/squid/errors/vi-*
+%lang(zh_CN) %{_datadir}/squid/errors/zh-cn
+%lang(zh_CN) %{_datadir}/squid/errors/zh-sg
+%lang(zh_CN) %{_datadir}/squid/errors/zh-tw
+%lang(zh_TW) %{_datadir}/squid/errors/zh-hk
+%lang(zh_TW) %{_datadir}/squid/errors/zh-mo
+
+%{systemdtmpfilesdir}/squid.conf
+%attr(770,root,squid) %dir /var/run/squid
%attr(770,root,squid) %dir /var/log/archive/squid
%attr(770,root,squid) %dir /var/log/squid
%ghost /var/cache/squid/swap.state
%ghost /var/cache/squid/swap.state.clean
%ghost /var/cache/squid/swap.state.last-clean
+%{_mandir}/man1/squidclient.1*
%{_mandir}/man8/squid.8*
%files cachemgr
%defattr(644,root,root,755)
-%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cachemgr.conf
-%attr(755,root,root) %{_cgidir}/*
+%dir %attr(750,root,http) %{_webapps}/%{_webapp}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cachemgr.conf
+%dir %{_cgidir}
+%attr(755,root,root) %{_cgidir}/cachemgr.cgi
%{_mandir}/man8/cachemgr.cgi.8*
%files ldap_auth
%defattr(644,root,root,755)
%doc helpers/basic_auth/LDAP/README
-%attr(755,root,root) %{_libexecdir}/%{name}_ldap_auth
-%{_mandir}/man8/%{name}_ldap_auth.*
+%attr(755,root,root) %{_libexecdir}/basic_ldap_auth
+%{_mandir}/man8/basic_ldap_auth.*
%files pam_auth
%defattr(644,root,root,755)
-%doc helpers/basic_auth/PAM/pam_auth.c
%config(noreplace) /etc/pam.d/squid
%config(noreplace) /etc/security/blacklist.squid
-%attr(755,root,root) %{_libexecdir}/pam_auth
-%{_mandir}/man8/pam_auth.8*
+# it has to be suid root to access /etc/shadow
+%attr(4755,root,root) %{_libexecdir}/basic_pam_auth
+%{_mandir}/man8/basic_pam_auth.8*
%files smb_auth
%defattr(644,root,root,755)
-%doc helpers/basic_auth/SMB/{README,ChangeLog,smb_auth.sh}
-%doc helpers/basic_auth/multi-domain-NTLM/*
-%attr(755,root,root) %{_libexecdir}/smb_auth*
+%doc helpers/basic_auth/SMB/ChangeLog
+%attr(755,root,root) %{_libexecdir}/basic_smb_auth*
%files msnt_auth
%defattr(644,root,root,755)
%doc helpers/basic_auth/MSNT/README*
-%attr(755,root,root) %{_libexecdir}/msnt_auth
+%doc helpers/basic_auth/MSNT-multi-domain/README*
+%attr(755,root,root) %{_libexecdir}/basic_msnt_auth
+%attr(755,root,root) %{_libexecdir}/basic_msnt_multi_domain_auth
%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msntauth.conf
-%files yp_auth
+%files nis_auth
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/yp_auth
+%attr(755,root,root) %{_libexecdir}/basic_nis_auth
%files ncsa_auth
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/ncsa_auth
-%{_mandir}/man8/ncsa_auth.8*
+%attr(755,root,root) %{_libexecdir}/basic_ncsa_auth
+%{_mandir}/man8/basic_ncsa_auth.8*
%files sasl_auth
%defattr(644,root,root,755)
-%doc helpers/basic_auth/SASL/{README,squid_sasl*}
-%attr(755,root,root) %{_libexecdir}/sasl_auth
+%doc helpers/basic_auth/SASL/basic_sasl_auth.{conf,pam}
+%attr(755,root,root) %{_libexecdir}/basic_sasl_auth
+%{_mandir}/man8/basic_sasl_auth.8*
%files getpwname_auth
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/getpwname_auth
+%attr(755,root,root) %{_libexecdir}/basic_getpwnam_auth
+%{_mandir}/man8/basic_getpwnam_auth.8*
%files passwd_auth
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/digest_pw_auth
+%attr(755,root,root) %{_libexecdir}/digest_file_auth
+%{_mandir}/man8/digest_file_auth.8*
+
+%files kerberos_auth
+%defattr(644,root,root,755)
+%doc helpers/negotiate_auth/kerberos/README
+%attr(755,root,root) %{_libexecdir}/negotiate_kerberos_auth
+%attr(755,root,root) %{_libexecdir}/negotiate_kerberos_auth_test
+%{_mandir}/man8/negotiate_kerberos_auth.8*
%files ntlm_auth
%defattr(644,root,root,755)
-%doc helpers/ntlm_auth/no_check/{README*,no_check.pl}
-%attr(755,root,root) %{_libexecdir}/ntlm_auth
+%attr(755,root,root) %{_libexecdir}/ntlm_smb_lm_auth
+
+%files radius_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/RADIUS/README
+%attr(755,root,root) %{_libexecdir}/basic_radius_auth
+%{_mandir}/man8/basic_radius_auth.8*
%files digest_ldap_auth
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/digest_ldap_auth
+%files db_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/basic_db_auth
+%{_mandir}/man8/basic_db_auth.8*
+
+%files pop3_auth
+%defattr(644,root,root,755)
+%{_libexecdir}/basic_pop3_auth
+
+%files digest_edirectory_auth
+%defattr(644,root,root,755)
+%{_libexecdir}/digest_edirectory_auth
+
+%files negotiate_wrapper_auth
+%defattr(644,root,root,755)
+%{_libexecdir}/negotiate_wrapper_auth
+
%files ip_acl
%defattr(644,root,root,755)
-%doc helpers/external_acl/ip_user/{README,example*}
-%attr(755,root,root) %{_libexecdir}/ip_user_check
+%doc helpers/external_acl/file_userip/example*
+%attr(755,root,root) %{_libexecdir}/ext_file_userip_acl
+%{_mandir}/man8/ext_file_userip_acl.*
%files ldap_acl
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/squid_ldap_group
-%{_mandir}/man8/%{name}_ldap_group.*
+%attr(755,root,root) %{_libexecdir}/ext_ldap_group_acl
+%{_mandir}/man8/ext_ldap_group_acl.*
%files unix_acl
%defattr(644,root,root,755)
-%doc helpers/external_acl/unix_group/README
-%attr(755,root,root) %{_libexecdir}/squid_unix_group
-%{_mandir}/man8/%{name}_unix_group.*
+%attr(755,root,root) %{_libexecdir}/ext_unix_group_acl
+%{_mandir}/man8/ext_unix_group_acl.*
%files wbinfo_acl
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/wbinfo_group.pl
+%attr(755,root,root) %{_libexecdir}/ext_wbinfo_group_acl
+%{_mandir}/man8/ext_wbinfo_group_acl.8*
%files session_acl
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/squid_session
-%{_mandir}/man8/%{name}_session.8*
+%attr(755,root,root) %{_libexecdir}/ext_session_acl
+%{_mandir}/man8/ext_session_acl.8*
+
+%files edirectory_userip_acl
+%defattr(644,root,root,755)
+%{_libexecdir}/ext_edirectory_userip_acl
+%{_mandir}/man8/ext_edirectory_userip_acl.8*
+
+%files kerberos_ldap_group_acl
+%defattr(644,root,root,755)
+%{_libexecdir}/ext_kerberos_ldap_group_acl
%files scripts
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libexecdir}/*.pl
%attr(755,root,root) %{_libexecdir}/contrib
+%attr(755,root,root) %{_libexecdir}/AnnounceCache.pl
+%attr(755,root,root) %{_libexecdir}/access-log-matrix.pl
+%attr(755,root,root) %{_libexecdir}/cache-compare.pl
+%attr(755,root,root) %{_libexecdir}/cachetrace.pl
+%attr(755,root,root) %{_libexecdir}/calc-must-ids.pl
+%attr(755,root,root) %{_libexecdir}/cert_tool
+%attr(755,root,root) %{_libexecdir}/check_cache.pl
+%attr(755,root,root) %{_libexecdir}/fileno-to-pathname.pl
+%attr(755,root,root) %{_libexecdir}/find-alive.pl
+%attr(755,root,root) %{_libexecdir}/flag_truncs.pl
+%attr(755,root,root) %{_libexecdir}/helper-mux.pl
+%attr(755,root,root) %{_libexecdir}/icpserver.pl
+%attr(755,root,root) %{_libexecdir}/icp-test.pl
+%attr(755,root,root) %{_libexecdir}/tcp-banger.pl
+%attr(755,root,root) %{_libexecdir}/trace-job.pl
+%attr(755,root,root) %{_libexecdir}/trace-master.pl
+%attr(755,root,root) %{_libexecdir}/udp-banger.pl
+%attr(755,root,root) %{_libexecdir}/upgrade-1.0-store.pl