summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonny Davies <woodchip@gentoo.org>2002-03-21 01:23:36 +0000
committerDonny Davies <woodchip@gentoo.org>2002-03-21 01:23:36 +0000
commit45ef61a113272d51dd44de40cd6556ad88093286 (patch)
tree447a9344714ab36051ea2c0f2dccee1801e40e6c /net-www/squid
parent*** empty log message *** (diff)
downloadgentoo-2-45ef61a113272d51dd44de40cd6556ad88093286.tar.gz
gentoo-2-45ef61a113272d51dd44de40cd6556ad88093286.tar.bz2
gentoo-2-45ef61a113272d51dd44de40cd6556ad88093286.zip
Updated to latest release, fixing several bugs along the way.
Please read the Gentoo ChangeLog for details.
Diffstat (limited to 'net-www/squid')
-rw-r--r--net-www/squid/ChangeLog30
-rw-r--r--net-www/squid/files/digest-squid-2.3.4s-r38
-rw-r--r--net-www/squid/files/digest-squid-2.3.4s-r48
-rw-r--r--net-www/squid/files/digest-squid-2.4.2s1
-rw-r--r--net-www/squid/files/digest-squid-2.4.2s-r61
-rw-r--r--net-www/squid/files/digest-squid-2.4.62
-rw-r--r--net-www/squid/files/squid-2.4.2s-debian.diff375
-rw-r--r--net-www/squid/files/squid-2.4.2s-gentoo.diff89
-rw-r--r--net-www/squid/files/squid-2.4.6-debian.diff413
-rw-r--r--net-www/squid/files/squid-2.4.6-gentoo.diff40
-rw-r--r--net-www/squid/files/squid.conf2167
-rw-r--r--net-www/squid/files/squid.confd6
-rw-r--r--net-www/squid/files/squid.pam.new7
-rw-r--r--net-www/squid/files/squid.rc540
-rw-r--r--net-www/squid/files/squid.rc662
-rw-r--r--net-www/squid/squid-2.3.4s-r3.ebuild105
-rw-r--r--net-www/squid/squid-2.3.4s-r4.ebuild108
-rw-r--r--net-www/squid/squid-2.4.2s-r6.ebuild103
-rw-r--r--net-www/squid/squid-2.4.2s.ebuild96
-rw-r--r--net-www/squid/squid-2.4.6.ebuild120
20 files changed, 658 insertions, 3123 deletions
diff --git a/net-www/squid/ChangeLog b/net-www/squid/ChangeLog
index f52210ced356..2860f41b7bde 100644
--- a/net-www/squid/ChangeLog
+++ b/net-www/squid/ChangeLog
@@ -1,6 +1,34 @@
# ChangeLog for net-www/squid
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/ChangeLog,v 1.3 2002/02/08 09:59:00 woodchip Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/ChangeLog,v 1.4 2002/03/21 01:23:36 woodchip Exp $
+
+*squid-2.4.6 (20 Mar 2002)
+
+ 20 Mar 2002; Donny Davies <woodchip@gentoo.org> files/squid.rc6, files/squid.confd,
+ squid-2.4.6.ebuild, files/squid-2.4.6-debian.diff, squid-2.4.6-gentoo.diff,
+ files/squid.pam.new, files/digest-squid-2.4.6, squid-2.3.4s-r3.ebuild,
+ squid-2.3.4s-r4.ebuild, squid-2.4.2s.ebuild, files/digest-squid-2.3.4s-r3,
+ files/digest-squid-2.3.4s-r4, files/digest-squid-2.4.2s,
+ files/squid-2.4.2s-debian.diff, files/squid-2.4.2s-gentoo.diff
+ files/squid.conf, files/squid.rc5 :
+
+ Be sure to upgrade! This version fixes some security glitches in older squids!
+
+ Updated to latest available release; fixed permissions on /usr/lib/squid/*_auth
+ programs, made the initscript stop() function more robust, grabbed Debian's latest
+ patch which includes tweaking SQUID_MAXFD (works this time ;) plus other fixes.
+ We now install the error pages for all available languages, defaulting to English.
+ Simply change the errors symlink in /etc/squid to whichever you prefer. Changed
+ the cache location to /var/cache/squid; sorry if this bothers anybody but it fits
+ better here and matches /etc/passwd properly now. If you're upgrading you could
+ make /var/cache/squid a symlink to /var/spool/squid, or move the subdirectories
+ manually. Heads up :)
+
+ Changed some ./configure options; enabled cache-digests, disabled the pinger
+ and added two more auth-modules. Added ability to compile without debugging.
+ Removed the stale config file and the old rc5 initscript. Also removed the older
+ ebuilds; they had numerous bugs. Added a pam_stack aware pam config, for future
+ deployment.
8 Feb 2002; Donny Davies <woodchip@gentoo.org> files/squid.rc6 :
diff --git a/net-www/squid/files/digest-squid-2.3.4s-r3 b/net-www/squid/files/digest-squid-2.3.4s-r3
deleted file mode 100644
index baf9bd961e13..000000000000
--- a/net-www/squid/files/digest-squid-2.3.4s-r3
+++ /dev/null
@@ -1,8 +0,0 @@
-MD5 c38c083f44c222a8d026fa129c30b98f squid-2.3.STABLE4-src.tar.gz 970769
-MD5 f1383b24672f9a8317c2c16302a94eaa squid-2.3.stable4-ftp_icon_not_found.patch 794
-MD5 bec46f5a1fcbd9aa1deb9d518c5c11a5 squid-2.3.stable4-internal_dns_rcode_table_formatting.patch 693
-MD5 4453c53a712280a26fdca42c950bc94f squid-2.3.stable4-ipfw_configure.patch 2672
-MD5 436eb77056bed5d45547c739d1123bd3 squid-2.3.stable4-invalid_ip_acl_entry.patch 1746
-MD5 db8e4eb9c1712a4adde7e9aaed0b5249 squid-2.3.stable4-accel_only_access.patch 953
-MD5 68228709d011c93c2cccd9ac723fb462 squid-2.3.stable4-html_quoting.patch 17061
-MD5 c3d48a2b4fc26c0d90eb4c30ae34d3d6 squid-2.3.stable4-carp-assertion.patch 740
diff --git a/net-www/squid/files/digest-squid-2.3.4s-r4 b/net-www/squid/files/digest-squid-2.3.4s-r4
deleted file mode 100644
index baf9bd961e13..000000000000
--- a/net-www/squid/files/digest-squid-2.3.4s-r4
+++ /dev/null
@@ -1,8 +0,0 @@
-MD5 c38c083f44c222a8d026fa129c30b98f squid-2.3.STABLE4-src.tar.gz 970769
-MD5 f1383b24672f9a8317c2c16302a94eaa squid-2.3.stable4-ftp_icon_not_found.patch 794
-MD5 bec46f5a1fcbd9aa1deb9d518c5c11a5 squid-2.3.stable4-internal_dns_rcode_table_formatting.patch 693
-MD5 4453c53a712280a26fdca42c950bc94f squid-2.3.stable4-ipfw_configure.patch 2672
-MD5 436eb77056bed5d45547c739d1123bd3 squid-2.3.stable4-invalid_ip_acl_entry.patch 1746
-MD5 db8e4eb9c1712a4adde7e9aaed0b5249 squid-2.3.stable4-accel_only_access.patch 953
-MD5 68228709d011c93c2cccd9ac723fb462 squid-2.3.stable4-html_quoting.patch 17061
-MD5 c3d48a2b4fc26c0d90eb4c30ae34d3d6 squid-2.3.stable4-carp-assertion.patch 740
diff --git a/net-www/squid/files/digest-squid-2.4.2s b/net-www/squid/files/digest-squid-2.4.2s
deleted file mode 100644
index c21f789ff38a..000000000000
--- a/net-www/squid/files/digest-squid-2.4.2s
+++ /dev/null
@@ -1 +0,0 @@
-MD5 6d0329b0078aea2b6e0cf58911d8ae15 squid-2.4.STABLE2-src.tar.gz 1075738
diff --git a/net-www/squid/files/digest-squid-2.4.2s-r6 b/net-www/squid/files/digest-squid-2.4.2s-r6
deleted file mode 100644
index c21f789ff38a..000000000000
--- a/net-www/squid/files/digest-squid-2.4.2s-r6
+++ /dev/null
@@ -1 +0,0 @@
-MD5 6d0329b0078aea2b6e0cf58911d8ae15 squid-2.4.STABLE2-src.tar.gz 1075738
diff --git a/net-www/squid/files/digest-squid-2.4.6 b/net-www/squid/files/digest-squid-2.4.6
new file mode 100644
index 000000000000..d70a73ba7606
--- /dev/null
+++ b/net-www/squid/files/digest-squid-2.4.6
@@ -0,0 +1,2 @@
+MD5 421639665478f20ba0df7f4f527a0456 FAQ.sgml 451518
+MD5 103fe9d03aca06f89218740f29730527 squid-2.4.STABLE6-src.tar.gz 1081327
diff --git a/net-www/squid/files/squid-2.4.2s-debian.diff b/net-www/squid/files/squid-2.4.2s-debian.diff
deleted file mode 100644
index a6614dc187d8..000000000000
--- a/net-www/squid/files/squid-2.4.2s-debian.diff
+++ /dev/null
@@ -1,375 +0,0 @@
-These patches comes from Debian. Heres the original README for
-them, but they're not all necessarily included here.. I made
-some changes.
----
-
-Upstream patches against the release, that will be integrated into
-the next stable release (http://www.squid-cache.org/Versions/v2/2.4/bugs/)
-
-squid-2.4.stable2-aio_close_fix.patch
-squid-2.4.stable2-fix_mkdir-only_put_requests.patch
-
-Debian specific patches:
-All patches that were in the debian squid-2.2.5 and squid-2.3.4 have been
-applied to squid-2.4.2 as well, if they hadn't been integrated yet.
-
-cf.data.debian.patch Debian specific squid.conf patches
-dfl-error-dir.patch Default error dir is under /usr/lib/squid for Debian
-htcp-off.patch Makes it possible to turn htcp off in squid.conf
-icp_hit_stale.patch Don't return 504 on cache-only requests for
- stale objects if icp_hit_stale is on.
-linux-increase-fds.patch
- A hack to squid.h so that FD_SETSIZE can be
- redefined on Linux for more open filedescriptors.
-no_append_domain_localhost.patch
- Don't apply "append_domain" setting to "localhost"
- in unqualified URLs.
-pipeline-shutup.patch Lower priority of some debug msgs of pipelining code
-smb_auth.sh.patch Read password with '-r' so backslashes work
-syslog.patch Log to daemon.log instead of local4.log
-unlinkd.patch Compile in unlinkd support even with async io
-
-Not applied (yet?):
-
-vms-ftp.patch.NOT-YET Not finished and not working
-
-Dropped patches:
-
-pipeline.patch.NOMORE Perhaps pipelining is stable in squid-2.4. If
- not, there's a new configuration directive to
- turn it off: pipeline_prefetch in squid.conf
-
-diff -ruN squid-2.4.1.orig/src/cf.data.pre squid-2.4.1/src/cf.data.pre
---- squid-2.4.1.orig/src/cf.data.pre Thu Mar 1 22:49:25 2001
-+++ squid-2.4.1/src/cf.data.pre Thu Mar 22 21:23:51 2001
-@@ -98,12 +98,12 @@
- NAME: htcp_port
- IFDEF: USE_HTCP
- TYPE: ushort
--DEFAULT: 4827
-+DEFAULT: 0
- LOC: Config.Port.htcp
- DOC_START
- The port number where Squid sends and receives HTCP queries to
-- and from neighbor caches. Default is 4827. To disable use
-- "0".
-+ and from neighbor caches. To turn it on you want to set it 4827.
-+ By default it is set to "0" (disabled).
-
- To enable this option, you must use --enable-htcp with the
- configure script.
-@@ -1721,6 +1721,7 @@
- acl Safe_ports port 488 # gss-http
- acl Safe_ports port 591 # filemaker
- acl Safe_ports port 777 # multiling http
-+acl purge method PURGE
- acl CONNECT method CONNECT
- NOCOMMENT_END
- DOC_END
-@@ -1754,6 +1755,9 @@
- # Only allow cachemgr access from localhost
- http_access allow manager localhost
- http_access deny manager
-+# Only allow purge requests from localhost
-+http_access allow purge localhost
-+http_access deny purge
- # Deny requests to unknown ports
- http_access deny !Safe_ports
- # Deny CONNECT to other than SSL ports
-@@ -2648,12 +2655,15 @@
- NAME: snmp_port
- TYPE: ushort
- LOC: Config.Port.snmp
--DEFAULT: 3401
-+DEFAULT: 0
- IFDEF: SQUID_SNMP
- DOC_START
- Squid can now serve statistics and status information via SNMP.
- By default it listens to port 3401 on the machine. If you don't
- wish to use SNMP, set this to "0".
-+
-+ Note: on Debian/Linux, the default is zero - you need to
-+ set it to 3401 to enable it. Also on Gentoo.
-
- NOTE: SNMP support requires use the --enable-snmp configure
- command line option.
---- squid-2.4.2.orig/src/htcp.c Sun Apr 1 18:52:45 2001
-+++ squid-2.4.2/src/htcp.c Mon Oct 1 14:03:25 2001
-@@ -843,6 +843,18 @@
- void
- htcpInit(void)
- {
-+ if (Config.Port.htcp <= 0) {
-+ /*
-+ * Need to allocate a bit of memory anyway, otherwise
-+ * mem.c::memCheckInit() will bail out.
-+ */
-+ memDataInit(MEM_HTCP_SPECIFIER, "htcpSpecifier",
-+ sizeof(htcpSpecifier), 0);
-+ memDataInit(MEM_HTCP_DETAIL, "htcpDetail", sizeof(htcpDetail), 0);
-+ htcpInSocket = -1;
-+ debug(31, 1) ("HTCP Disabled.\n");
-+ return;
-+ }
- enter_suid();
- htcpInSocket = comm_open(SOCK_DGRAM,
- 0,
-@@ -890,6 +902,8 @@
- Packer pa;
- MemBuf mb;
- http_state_flags flags;
-+
-+ if (htcpInSocket < 0) return;
- memset(&flags, '\0', sizeof(flags));
- snprintf(vbuf, sizeof(vbuf), "%d/%d",
- req->http_ver.major, req->http_ver.minor);
-Date: Sat, 15 Jul 2000 10:42:59 +1000
-Message-Id: <200007150042.e6F0gwU25807@gondor.apana.org.au>
-From: <herbert@gondor.apana.org.au>
-Subject: squid: [PATCH] Make icp_hit_stale useful again
-To: submit@bugs.debian.org
-X-Mailer: bug 3.3.4
-Delivered-To: submit@bugs.debian.org
-
-Package: squid
-Version: 2.2.5-3
-Severity: normal
-
-Recent versions of squid will return 504 when a client makes a cache-only
-request and the object happens to be stale.
-
-This effectively makes icp_hit_stale because in that case the object is
-almost guaranteed to be stale and if the client is a sibling squid, it will
-always be cache-only.
-
-The follow patch addresses this by check for icp_hit_stale in this case.
-
-
-diff -ruN squid-2.4.1.orig/src/client_side.c squid-2.4.1/src/client_side.c
---- squid-2.4.1.orig/src/client_side.c Sun Mar 4 01:55:10 2001
-+++ squid-2.4.1/src/client_side.c Thu Mar 22 21:05:08 2001
-@@ -352,7 +352,7 @@
- * @?@: Instead of a 504 (Gateway Timeout) reply, we may want to return
- * a stale entry *if* it matches client requirements
- */
-- if (clientOnlyIfCached(http)) {
-+ if (clientOnlyIfCached(http) && !Config.onoff.icp_hit_stale) {
- clientProcessOnlyIfCachedMiss(http);
- return;
- }
---- squid-2.4.1.orig/src/squid.h Thu Feb 22 22:39:14 2001
-+++ squid-2.4.1/src/squid.h Thu Jun 28 15:20:47 2001
-@@ -45,10 +45,24 @@
- */
- #define CHANGE_FD_SETSIZE 1
-
--/* Cannot increase FD_SETSIZE on Linux */
-+/*
-+ * Cannot increase FD_SETSIZE on Linux, but we can increase __FD_SETSIZE
-+ * with glibc 2.2 (or later? remains to be seen). We do this by including
-+ * bits/types.h which defines __FD_SETSIZE first, then we redefine
-+ * FD_SETSIZE. Ofcourse a user program may NEVER include bits/whatever.h
-+ * directly, so this is a dirty hack!
-+ */
- #if defined(_SQUID_LINUX_)
--#undef CHANGE_FD_SETSIZE
--#define CHANGE_FD_SETSIZE 0
-+# undef CHANGE_FD_SETSIZE
-+# define CHANGE_FD_SETSIZE 0
-+# include <features.h>
-+# if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
-+# if SQUID_MAXFD > DEFAULT_FD_SETSIZE
-+# include <bits/types.h>
-+# undef __FD_SETSIZE
-+# define __FD_SETSIZE SQUID_MAXFD
-+# endif
-+# endif
- #endif
-
- /*
-
-Ignore append_domain setting for the string "localhost".
-
-diff -ruN squid-2.4.1.orig/src/url.c squid-2.4.1/src/url.c
---- squid-2.4.1.orig/src/url.c Fri Jan 12 01:51:54 2001
-+++ squid-2.4.1/src/url.c Thu Mar 22 21:06:07 2001
-@@ -308,7 +308,7 @@
- /* remove duplicate dots */
- while ((t = strstr(host, "..")))
- xmemmove(t, t + 1, strlen(t));
-- if (Config.appendDomain && !strchr(host, '.'))
-+ if (Config.appendDomain && !strchr(host, '.') && strcasecmp(host, "localhost") != 0)
- strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN);
- if (port == 0) {
- debug(23, 3) ("urlParse: Invalid port == 0\n");
---- squid-2.4.1/src/client_side.c.orig Thu Mar 22 21:05:08 2001
-+++ squid-2.4.1/src/client_side.c Tue Mar 27 17:14:05 2001
-@@ -1699,7 +1699,7 @@
- fd, storeUrl(entry), (int) http->out.offset);
- if (conn->chr != http) {
- /* there is another object in progress, defer this one */
-- debug(33, 1) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
-+ debug(33, 3) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
- memFree(buf, MEM_CLIENT_SOCK_BUF);
- return;
- } else if (entry && EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
-@@ -1873,7 +1873,7 @@
- * execution will resume after the operation completes.
- */
- } else {
-- debug(33, 1) ("clientKeepaliveNextRequest: FD %d Sending next\n",
-+ debug(33, 3) ("clientKeepaliveNextRequest: FD %d Sending next\n",
- conn->fd);
- assert(entry);
- if (0 == storeClientCopyPending(http->sc, entry, http)) {
-From: Jeff Licquia <jlicquia@scinet.springfieldclinic.com>
-Subject: squid: SMB auth proxy has problems with some passwords
-To: submit@bugs.debian.org
-X-Mailer: bug 3.2.7
-Message-Id: <20000718174501.0B4A132915@scinet.springfieldclinic.com>
-Date: Tue, 18 Jul 2000 12:45:01 -0500 (CDT)
-
-Package: squid
-Version: 2.2.5-2
-Severity: normal
-
-
-The SMB authenticator doesn't handle passwords with backslashes in them
-correctly. The fix appears to be easy; just put a -r in the "read SMBPASS"
-line in smb_auth.sh.
-
-diff -ruN squid-2.4.1.orig/auth_modules/SMB/smb_auth.sh squid-2.4.1/auth_modules/SMB/smb_auth.sh
---- squid-2.4.1.orig/auth_modules/SMB/smb_auth.sh Thu Dec 30 18:35:54 1999
-+++ squid-2.4.1/auth_modules/SMB/smb_auth.sh Thu Mar 22 21:08:13 2001
-@@ -24,7 +24,7 @@
- read AUTHSHARE
- read AUTHFILE
- read SMBUSER
--read SMBPASS
-+read -r SMBPASS
-
- # Find domain controller
- echo "Domain name: $DOMAINNAME"
-
-This patch wasn't announced anywhere, but it's in the current squid-2.4
-CVS series and together with the "fix_mkdir-only_put_requests" patch
-they are the only serious fixes I could find -- miquels
-
-diff -ruN squid-2.4.STABLE2/src/fs/aufs/store_io_aufs.c squid-2.4-200109302300/src/fs/aufs/store_io_aufs.c
---- squid-2.4.STABLE2/src/fs/aufs/store_io_aufs.c Fri Jan 5 01:30:39 2001
-+++ squid-2.4-200109302300/src/fs/aufs/store_io_aufs.c Fri Sep 7 02:51:49 2001
-@@ -296,6 +296,8 @@
- storeAufsKickWriteQueue(sio);
- else if (sio->mode == O_RDONLY)
- storeAufsKickReadQueue(sio);
-+ if (aiostate->flags.close_request)
-+ storeAufsIOCallback(sio, errflag);
- debug(78, 3) ("storeAufsOpenDone: exiting\n");
- }
-
-
-http://www.squid-cache.org/bugs/show_bug.cgi?id=233
-
-Squid crashes on Fix "mkdir-only" PUT requests
-
---- squid-2.4.1/src/ftp.c 2001/01/12 00:51:47 1.298.2.4
-+++ squid-2.4.1/src/ftp.c 2001/09/18 13:51:25
-@@ -2450,8 +2450,10 @@
- err->ftp.request = xstrdup(ftpState->ctrl.last_command);
- if (ftpState->old_reply)
- err->ftp.reply = xstrdup(ftpState->old_reply);
-- else
-+ else if (ftpState->ctrl.last_reply)
- err->ftp.reply = xstrdup(ftpState->ctrl.last_reply);
-+ else
-+ err->ftp.reply = xstrdup("");
- errorAppendEntry(ftpState->entry, err);
- storeBufferFlush(ftpState->entry);
- ftpSendQuit(ftpState);
-diff -ruN squid-2.4.1.orig/src/debug.c squid-2.4.1/src/debug.c
---- squid-2.4.1.orig/src/debug.c Fri Jan 12 01:51:46 2001
-+++ squid-2.4.1/src/debug.c Thu Mar 22 21:10:38 2001
-@@ -180,9 +180,9 @@
- }
- debugOpenLog(logfile);
-
--#if HAVE_SYSLOG && defined(LOG_LOCAL4)
-+#if HAVE_SYSLOG
- if (opt_syslog_enable)
-- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
-+ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
- #endif /* HAVE_SYSLOG */
-
- }
-diff -ruN squid-2.4.1.orig/src/main.c squid-2.4.1/src/main.c
---- squid-2.4.1.orig/src/main.c Fri Jan 12 01:51:50 2001
-+++ squid-2.4.1/src/main.c Thu Mar 22 21:17:28 2001
-@@ -835,7 +855,7 @@
- int nullfd;
- if (*(argv[0]) == '(')
- return;
-- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
-+ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
- if ((pid = fork()) < 0)
- syslog(LOG_ALERT, "fork failed: %s", xstrerror());
- else if (pid > 0)
-
-When async io is compiled in, unlinkd support is not compiled in. This
-patch makes sure that unlinkd is always compiled in, but only starts
-it if there is at least one cache_dir of type "ufs".
-
- Miquel van Smoorenburg 06-Nov-2000
-
-diff -ruN squid-2.4.1.orig/src/main.c squid-2.4.1/src/main.c
---- squid-2.4.1.orig/src/main.c Fri Jan 12 01:51:50 2001
-+++ squid-2.4.1/src/main.c Thu Mar 22 21:17:28 2001
-@@ -320,6 +320,20 @@
- asnFreeMemory();
- }
-
-+#if USE_UNLINKD
-+static int
-+needUnlinkd(void)
-+{
-+ int i;
-+ int r = 0;
-+ for (i = 0; i < Config.cacheSwap.n_configured; i++) {
-+ if (strcmp(Config.cacheSwap.swapDirs[i].type, "ufs") == 0)
-+ r++;
-+ }
-+ return r;
-+}
-+#endif
-+
- static void
- mainReconfigure(void)
- {
-@@ -344,6 +358,9 @@
- #endif
- redirectShutdown();
- authenticateShutdown();
-+#if USE_UNLINKD
-+ unlinkdClose();
-+#endif
- storeDirCloseSwapLogs();
- errorClean();
- mimeFreeMemory();
-@@ -362,6 +379,9 @@
- #if USE_WCCP
- wccpInit();
- #endif
-+#if USE_UNLINKD
-+ if (needUnlinkd()) unlinkdInit();
-+#endif
- serverConnectionsOpen();
- if (theOutIcpConnection >= 0) {
- if (!Config2.Accel.on || Config.onoff.accel_with_proxy)
-@@ -507,7 +527,7 @@
-
- if (!configured_once) {
- #if USE_UNLINKD
-- unlinkdInit();
-+ if (needUnlinkd()) unlinkdInit();
- #endif
- urlInitialize();
- cachemgrInit();
diff --git a/net-www/squid/files/squid-2.4.2s-gentoo.diff b/net-www/squid/files/squid-2.4.2s-gentoo.diff
deleted file mode 100644
index 6112183d0bc0..000000000000
--- a/net-www/squid/files/squid-2.4.2s-gentoo.diff
+++ /dev/null
@@ -1,89 +0,0 @@
-diff -ur squid-2.4.STABLE2.orig/src/Makefile.in squid-2.4.STABLE2/src/Makefile.in
---- squid-2.4.STABLE2.orig/src/Makefile.in Wed Apr 4 02:01:12 2001
-+++ squid-2.4.STABLE2/src/Makefile.in Wed Oct 24 22:31:22 2001
-@@ -37,16 +37,16 @@
- DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
- DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
- DEFAULT_DNSSERVER = $(libexecdir)/$(DNSSERVER_EXE)
--DEFAULT_CACHE_LOG = $(localstatedir)/logs/cache.log
--DEFAULT_ACCESS_LOG = $(localstatedir)/logs/access.log
--DEFAULT_STORE_LOG = $(localstatedir)/logs/store.log
--DEFAULT_PID_FILE = $(localstatedir)/logs/squid.pid
--DEFAULT_SWAP_DIR = $(localstatedir)/cache
-+DEFAULT_CACHE_LOG = $(localstatedir)/log/squid/cache.log
-+DEFAULT_ACCESS_LOG = $(localstatedir)/log/squid/access.log
-+DEFAULT_STORE_LOG = $(localstatedir)/log/squid/store.log
-+DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
-+DEFAULT_SWAP_DIR = $(localstatedir)/spool/squid
- DEFAULT_PINGER = $(libexecdir)/$(PINGER_EXE)
- DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
- DEFAULT_DISKD = $(libexecdir)/$(DISKD_EXE)
--DEFAULT_ICON_DIR = $(sysconfdir)/icons
--DEFAULT_ERROR_DIR = $(sysconfdir)/errors
-+DEFAULT_ICON_DIR = $(libexecdir)/icons
-+DEFAULT_ERROR_DIR = $(libexecdir)/errors
- DEFAULT_MIB_PATH = $(sysconfdir)/mib.txt
-
- CC = @CC@
-@@ -326,11 +326,6 @@
- echo "mkdir $(localstatedir)"; \
- mkdir -p $(localstatedir); \
- fi
-- -@if test ! -d $(localstatedir)/logs; then \
-- echo "mkdir $(localstatedir)/logs"; \
-- mkdir -p $(localstatedir)/logs; \
-- fi
--
- # Michael Lupp <mike@nemesis.saar.de> wants to know about additions
- # to the install target.
- install: all install-mkdirs
-diff -ur squid-2.4.STABLE2.orig/icons/Makefile.in squid-2.4.STABLE2/icons/Makefile.in
---- squid-2.4.STABLE2.orig/icons/Makefile.in Tue Jan 16 16:12:30 2001
-+++ squid-2.4.STABLE2/icons/Makefile.in Mon Oct 22 05:23:21 2001
-@@ -15,7 +15,7 @@
-
- INSTALL = @INSTALL@
- INSTALL_FILE = @INSTALL_DATA@
--DEFAULT_ICON_DIR = $(sysconfdir)/icons
-+DEFAULT_ICON_DIR = $(libexecdir)/icons
-
- ICONS = anthony-binhex.gif \
- anthony-bomb.gif \
-diff -ur squid-2.4.STABLE2.orig/src/cf.data.pre squid-2.4.STABLE2/src/cf.data.pre
---- squid-2.4.STABLE2.orig/src/cf.data.pre Wed Apr 4 02:01:12 2001
-+++ squid-2.4.STABLE2/src/cf.data.pre Mon Oct 22 05:25:59 2001
-@@ -1890,19 +1890,19 @@
-
- NAME: cache_effective_user
- TYPE: string
--DEFAULT: nobody
-+DEFAULT: squid
- LOC: Config.effectiveUser
- DOC_NONE
-
- NAME: cache_effective_group
- TYPE: string
--DEFAULT: nogroup
-+DEFAULT: squid
- LOC: Config.effectiveGroup
- DOC_START
-
- If the cache is run as root, it will change its effective/real
- UID/GID to the UID/GID specified below. The default is to
-- change to UID to nobody and GID to nogroup.
-+ change to UID to squid and GID to squid.
-
- If Squid is not started as root, the default is to keep the
- current UID/GID. Note that if Squid is not started as root then
-diff -ur squid-2.4.STABLE2.orig/src/defines.h squid-2.4.STABLE2/src/defines.h
---- squid-2.4.STABLE2.orig/src/defines.h Thu Jan 11 19:51:46 2001
-+++ squid-2.4.STABLE2/src/defines.h Mon Oct 22 05:27:01 2001
-@@ -219,7 +219,7 @@
- #define N_COUNT_HOUR_HIST (86400 * 3) / (60 * COUNT_INTERVAL)
-
- /* were to look for errors if config path fails */
--#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors"
-+#define DEFAULT_SQUID_ERROR_DIR "/usr/lib/squid/errors"
-
- /* gb_type operations */
- #define gb_flush_limit (0x3FFFFFFF)
diff --git a/net-www/squid/files/squid-2.4.6-debian.diff b/net-www/squid/files/squid-2.4.6-debian.diff
new file mode 100644
index 000000000000..b6ae92586746
--- /dev/null
+++ b/net-www/squid/files/squid-2.4.6-debian.diff
@@ -0,0 +1,413 @@
+These patches are borrowed from Debian's squid-2.4.4 patch. Here's
+the README file describing them:
+---
+
+Upstream patches against the release, that will be integrated into
+the next stable release (http://www.squid-cache.org/Versions/v2/2.4/bugs/)
+
+[currently none]
+
+Debian specific patches:
+All patches that were in the debian squid-2.2.5 and squid-2.3.4 have been
+applied to squid-2.4.3 as well, if they hadn't been integrated yet.
+
+cf.data.debian.patch Debian specific squid.conf patches
+dfl-error-dir.patch Default error dir is under /usr/lib/squid for Debian
+linux-increase-fds.patch
+ A hack to squid.h so that FD_SETSIZE can be
+ redefined on Linux for more open filedescriptors.
+no_append_domain_localhost.patch
+ Don't apply "append_domain" setting to "localhost"
+ in unqualified URLs.
+pipeline-shutup.patch Lower priority of some debug msgs of pipelining code
+smb_auth.patch Read password with '-r' so backslashes work
+ Patch awk regexp to read correct field from nmblookup
+syslog.patch Log to daemon.log instead of local4.log
+unlinkd.patch Only run unlinkd for diskd and ufs storage methods
+debug.c.patch Fix debug output corruption (and crash) when
+ debug_options is set to 11,3
+webdav-search.patch Reckognize SEARCH webdav method - the Exchange 2000
+ web frontend uses it (sigh).
+pam-auth-reload.patch Make PAM reload time configurable on command line
+
+--- squid-2.4.4.orig/auth_modules/PAM/pam_auth.c
++++ squid-2.4.4/auth_modules/PAM/pam_auth.c
+@@ -42,6 +42,7 @@
+ #include <stdio.h>
+ #include <assert.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <time.h>
+@@ -56,8 +57,8 @@
+ #define SQUID_PAM_SERVICE "squid"
+ #endif
+
+-/* How often to reinitialize PAM, in seconds. Undefined = never, 0=always */
+-/* #define PAM_CONNECTION_TTL 60 */
++/* How often to reinitialize PAM, in seconds. -1 = never, 0=always */
++#define PAM_CONNECTION_TTL -1
+
+ static int reset_pam = 1; /* Set to one if it is time to reset PAM processing */
+
+@@ -111,6 +112,13 @@
+ }
+
+ int
++usage(void)
++{
++ fprintf(stderr, "Usage: pam_auth [-r seconds]\n");
++ exit(1);
++}
++
++int
+ main(int argc, char *argv[])
+ {
+ pam_handle_t *pamh = NULL;
+@@ -119,6 +127,18 @@
+ /* char *password; */
+ char buf[BUFSIZE];
+ time_t pamh_created = 0;
++ int c, pam_connection_ttl = PAM_CONNECTION_TTL;
++ extern char *optarg;
++ extern int optind;
++
++ while ((c = getopt(argc, argv, "r:")) != EOF) switch (c) {
++ case 'r':
++ pam_connection_ttl = atoi(optarg);
++ break;
++ default:
++ usage();
++ }
++ if (optind < argc) usage();
+
+ signal(SIGHUP, signal_received);
+
+@@ -142,10 +162,10 @@
+ }
+ *password++ = '\0';
+ conv.appdata_ptr = (char *) password; /* from buf above. not allocated */
+-#ifdef PAM_CONNECTION_TTL
+- if (pamh_created + PAM_CONNECTION_TTL >= time(NULL))
++ if (pam_connection_ttl >= 0 &&
++ pamh_created + pam_connection_ttl <= time(NULL))
+ reset_pam = 1;
+-#endif
++
+ if (reset_pam && pamh) {
+ /* Close previous PAM connection */
+ retval = pam_end(pamh, retval);
+--- squid-2.4.4.orig/auth_modules/SMB/Makefile.in
++++ squid-2.4.4/auth_modules/SMB/Makefile.in
+@@ -11,7 +11,8 @@
+ # by using the --prefix option when configuring Samba, you need to change
+ # SAMBAPREFIX accordingly.
+
+-SAMBAPREFIX=/usr/local/samba
++#SAMBAPREFIX=/usr/local/samba
++SAMBAPREFIX=/usr
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+--- squid-2.4.4.orig/auth_modules/SMB/smb_auth.sh
++++ squid-2.4.4/auth_modules/SMB/smb_auth.sh
+@@ -24,7 +24,7 @@
+ read AUTHSHARE
+ read AUTHFILE
+ read SMBUSER
+-read SMBPASS
++read -r SMBPASS
+
+ # Find domain controller
+ echo "Domain name: $DOMAINNAME"
+@@ -47,7 +47,7 @@
+ addropt=""
+ fi
+ echo "Query address options: $addropt"
+-dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+ / { print $1 ; exit }'`
++dcip=`$SAMBAPREFIX/bin/nmblookup $addropt "$PASSTHROUGH#1c" | awk '/^[0-9.]+\..+ / { print $1 ; exit }'`
+ echo "Domain controller IP address: $dcip"
+ [ -n "$dcip" ] || exit 1
+
+--- squid-2.4.4.orig/src/cf.data.pre
++++ squid-2.4.4/src/cf.data.pre
+@@ -98,12 +98,12 @@
+ NAME: htcp_port
+ IFDEF: USE_HTCP
+ TYPE: ushort
+-DEFAULT: 4827
++DEFAULT: 0
+ LOC: Config.Port.htcp
+ DOC_START
+ The port number where Squid sends and receives HTCP queries to
+- and from neighbor caches. Default is 4827. To disable use
+- "0".
++ and from neighbor caches. To turn it on you want to set it 4827.
++ By default it is set to "0" (disabled).
+
+ To enable this option, you must use --enable-htcp with the
+ configure script.
+@@ -1294,7 +1294,7 @@
+ 'Max' is an upper limit on how long objects without an explicit
+ expiry time will be considered fresh.
+
+- options: overrsde-expire
++ options: override-expire
+ override-lastmod
+ reload-into-ims
+ ignore-reload
+@@ -1730,6 +1730,8 @@
+ acl Safe_ports port 488 # gss-http
+ acl Safe_ports port 591 # filemaker
+ acl Safe_ports port 777 # multiling http
++acl Safe_ports port 901 # SWAT
++acl purge method PURGE
+ acl CONNECT method CONNECT
+ NOCOMMENT_END
+ DOC_END
+@@ -1763,6 +1765,9 @@
+ # Only allow cachemgr access from localhost
+ http_access allow manager localhost
+ http_access deny manager
++# Only allow purge requests from localhost
++http_access allow purge localhost
++http_access deny purge
+ # Deny requests to unknown ports
+ http_access deny !Safe_ports
+ # Deny CONNECT to other than SSL ports
+@@ -1890,19 +1895,19 @@
+
+ NAME: cache_effective_user
+ TYPE: string
+-DEFAULT: nobody
++DEFAULT: squid
+ LOC: Config.effectiveUser
+ DOC_NONE
+
+ NAME: cache_effective_group
+ TYPE: string
+-DEFAULT: nogroup
++DEFAULT: squid
+ LOC: Config.effectiveGroup
+ DOC_START
+
+ If the cache is run as root, it will change its effective/real
+ UID/GID to the UID/GID specified below. The default is to
+- change to UID to nobody and GID to nogroup.
++ change to UID to squid and GID to squid.
+
+ If Squid is not started as root, the default is to keep the
+ current UID/GID. Note that if Squid is not started as root then
+@@ -2657,12 +2665,15 @@
+ NAME: snmp_port
+ TYPE: ushort
+ LOC: Config.Port.snmp
+-DEFAULT: 3401
++DEFAULT: 0
+ IFDEF: SQUID_SNMP
+ DOC_START
+ Squid can now serve statistics and status information via SNMP.
+ By default it listens to port 3401 on the machine. If you don't
+ wish to use SNMP, set this to "0".
++
++ Note: on Gentoo Linux, the default is zero - you need to
++ set it to 3401 to enable it.
+
+ NOTE: SNMP support requires use the --enable-snmp configure
+ command line option.
+--- squid-2.4.4.orig/src/client_side.c
++++ squid-2.4.4/src/client_side.c
+@@ -1702,7 +1702,7 @@
+ fd, storeUrl(entry), (int) http->out.offset);
+ if (conn->chr != http) {
+ /* there is another object in progress, defer this one */
+- debug(33, 1) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
++ debug(33, 2) ("clientSendMoreData: Deferring %s\n", storeUrl(entry));
+ memFree(buf, MEM_CLIENT_SOCK_BUF);
+ return;
+ } else if (entry && EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
+@@ -1876,7 +1876,7 @@
+ * execution will resume after the operation completes.
+ */
+ } else {
+- debug(33, 1) ("clientKeepaliveNextRequest: FD %d Sending next\n",
++ debug(33, 2) ("clientKeepaliveNextRequest: FD %d Sending next\n",
+ conn->fd);
+ assert(entry);
+ if (0 == storeClientCopyPending(http->sc, entry, http)) {
+--- squid-2.4.4.orig/src/debug.c
++++ squid-2.4.4/src/debug.c
+@@ -74,6 +74,9 @@
+ #else
+ format = va_arg(args1, const char *);
+ #endif
++ /* give a chance to context-based debugging to print current context */
++ if (debug_log && !Ctx_Lock)
++ ctx_print();
+ snprintf(f, BUFSIZ, "%s| %s",
+ debugLogTime(squid_curtime),
+ format);
+@@ -94,9 +97,6 @@
+ {
+ if (debug_log == NULL)
+ return;
+- /* give a chance to context-based debugging to print current context */
+- if (!Ctx_Lock)
+- ctx_print();
+ vfprintf(debug_log, format, args);
+ if (!Config.onoff.buffered_logs)
+ fflush(debug_log);
+@@ -201,9 +201,9 @@
+ }
+ debugOpenLog(logfile);
+
+-#if HAVE_SYSLOG && defined(LOG_LOCAL4)
++#if HAVE_SYSLOG
+ if (opt_syslog_enable)
+- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ #endif /* HAVE_SYSLOG */
+
+ }
+--- squid-2.4.4.orig/src/defines.h
++++ squid-2.4.4/src/defines.h
+@@ -219,7 +219,7 @@
+ #define N_COUNT_HOUR_HIST (86400 * 3) / (60 * COUNT_INTERVAL)
+
+ /* were to look for errors if config path fails */
+-#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors"
++#define DEFAULT_SQUID_ERROR_DIR "/usr/lib/squid/errors/English"
+
+ /* gb_type operations */
+ #define gb_flush_limit (0x3FFFFFFF)
+--- squid-2.4.4.orig/src/enums.h
++++ squid-2.4.4/src/enums.h
+@@ -393,6 +393,7 @@
+ METHOD_EXT17,
+ METHOD_EXT18,
+ METHOD_EXT19,
++ METHOD_SEARCH, /* Exchange 2000 web frontend */
+ METHOD_ENUM_END
+ };
+ typedef unsigned int method_t;
+--- squid-2.4.4.orig/src/main.c
++++ squid-2.4.4/src/main.c
+@@ -83,7 +83,7 @@
+ usage(void)
+ {
+ fprintf(stderr,
+- "Usage: %s [-dhsvzCDFNRVYX] [-f config-file] [-[au] port] [-k signal]\n"
++ "Usage: %s [-hsvzCDFNRSVXY] [-d level] [-f file] [-[au] port] [-k signal]\n"
+ " -a port Specify HTTP port number (default: %d).\n"
+ " -d level Write debugging to stderr also.\n"
+ " -f file Use given config-file instead of\n"
+@@ -320,6 +320,21 @@
+ asnFreeMemory();
+ }
+
++#if USE_UNLINKD
++static int
++needUnlinkd(void)
++{
++ int i;
++ int r = 0;
++ for (i = 0; i < Config.cacheSwap.n_configured; i++) {
++ if (strcmp(Config.cacheSwap.swapDirs[i].type, "ufs") == 0 ||
++ strcmp(Config.cacheSwap.swapDirs[i].type, "diskd") == 0)
++ r++;
++ }
++ return r;
++}
++#endif
++
+ static void
+ mainReconfigure(void)
+ {
+@@ -344,6 +359,9 @@
+ #endif
+ redirectShutdown();
+ authenticateShutdown();
++#if USE_UNLINKD
++ unlinkdClose();
++#endif
+ storeDirCloseSwapLogs();
+ errorClean();
+ mimeFreeMemory();
+@@ -362,6 +380,9 @@
+ #if USE_WCCP
+ wccpInit();
+ #endif
++#if USE_UNLINKD
++ if (needUnlinkd()) unlinkdInit();
++#endif
+ serverConnectionsOpen();
+ if (theOutIcpConnection >= 0) {
+ if (!Config2.Accel.on || Config.onoff.accel_with_proxy)
+@@ -507,7 +528,7 @@
+
+ if (!configured_once) {
+ #if USE_UNLINKD
+- unlinkdInit();
++ if (needUnlinkd()) unlinkdInit();
+ #endif
+ urlInitialize();
+ cachemgrInit();
+@@ -835,7 +856,7 @@
+ int nullfd;
+ if (*(argv[0]) == '(')
+ return;
+- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ if ((pid = fork()) < 0)
+ syslog(LOG_ALERT, "fork failed: %s", xstrerror());
+ else if (pid > 0)
+--- squid-2.4.4.orig/src/squid.h
++++ squid-2.4.4/src/squid.h
+@@ -45,10 +45,24 @@
+ */
+ #define CHANGE_FD_SETSIZE 1
+
+-/* Cannot increase FD_SETSIZE on Linux */
++/*
++ * Cannot increase FD_SETSIZE on Linux, but we can increase __FD_SETSIZE
++ * with glibc 2.2 (or later? remains to be seen). We do this by including
++ * bits/types.h which defines __FD_SETSIZE first, then we redefine
++ * FD_SETSIZE. Ofcourse a user program may NEVER include bits/whatever.h
++ * directly, so this is a dirty hack!
++ */
+ #if defined(_SQUID_LINUX_)
+-#undef CHANGE_FD_SETSIZE
+-#define CHANGE_FD_SETSIZE 0
++# undef CHANGE_FD_SETSIZE
++# define CHANGE_FD_SETSIZE 0
++# include <features.h>
++# if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
++# if SQUID_MAXFD > DEFAULT_FD_SETSIZE
++# include <bits/types.h>
++# undef __FD_SETSIZE
++# define __FD_SETSIZE SQUID_MAXFD
++# endif
++# endif
+ #endif
+
+ /*
+--- squid-2.4.4.orig/src/url.c
++++ squid-2.4.4/src/url.c
+@@ -77,6 +77,7 @@
+ "%EXT17",
+ "%EXT18",
+ "%EXT19",
++ "SEARCH", /* Exchange 2000 web frontend */
+ "ERROR"
+ };
+
+@@ -308,7 +309,7 @@
+ /* remove duplicate dots */
+ while ((t = strstr(host, "..")))
+ xmemmove(t, t + 1, strlen(t));
+- if (Config.appendDomain && !strchr(host, '.'))
++ if (Config.appendDomain && !strchr(host, '.') && strcasecmp(host, "localhost") != 0)
+ strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN);
+ if (port == 0) {
+ debug(23, 3) ("urlParse: Invalid port == 0\n");
diff --git a/net-www/squid/files/squid-2.4.6-gentoo.diff b/net-www/squid/files/squid-2.4.6-gentoo.diff
new file mode 100644
index 000000000000..c24a27016174
--- /dev/null
+++ b/net-www/squid/files/squid-2.4.6-gentoo.diff
@@ -0,0 +1,40 @@
+diff -ur squid-2.4.STABLE4.orig/icons/Makefile.in squid-2.4.STABLE4/icons/Makefile.in
+--- squid-2.4.STABLE4.orig/icons/Makefile.in Tue Jan 16 16:12:30 2001
++++ squid-2.4.STABLE4/icons/Makefile.in Wed Mar 20 09:40:19 2002
+@@ -15,7 +15,7 @@
+
+ INSTALL = @INSTALL@
+ INSTALL_FILE = @INSTALL_DATA@
+-DEFAULT_ICON_DIR = $(sysconfdir)/icons
++DEFAULT_ICON_DIR = $(libexecdir)/icons
+
+ ICONS = anthony-binhex.gif \
+ anthony-bomb.gif \
+diff -ur squid-2.4.STABLE6.orig/src/Makefile.in squid-2.4.STABLE6/src/Makefile.in
+--- squid-2.4.STABLE6.orig/src/Makefile.in Wed Apr 4 03:01:12 2001
++++ squid-2.4.STABLE6/src/Makefile.in Wed Mar 20 14:18:58 2002
+@@ -37,17 +37,17 @@
+ DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
+ DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
+ DEFAULT_DNSSERVER = $(libexecdir)/$(DNSSERVER_EXE)
+-DEFAULT_CACHE_LOG = $(localstatedir)/logs/cache.log
+-DEFAULT_ACCESS_LOG = $(localstatedir)/logs/access.log
+-DEFAULT_STORE_LOG = $(localstatedir)/logs/store.log
+-DEFAULT_PID_FILE = $(localstatedir)/logs/squid.pid
+-DEFAULT_SWAP_DIR = $(localstatedir)/cache
++DEFAULT_CACHE_LOG = $(localstatedir)/log/squid/cache.log
++DEFAULT_ACCESS_LOG = $(localstatedir)/log/squid/access.log
++DEFAULT_STORE_LOG = $(localstatedir)/log/squid/store.log
++DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
++DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid
+ DEFAULT_PINGER = $(libexecdir)/$(PINGER_EXE)
+ DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
+ DEFAULT_DISKD = $(libexecdir)/$(DISKD_EXE)
+-DEFAULT_ICON_DIR = $(sysconfdir)/icons
++DEFAULT_ICON_DIR = $(libexecdir)/icons
+ DEFAULT_ERROR_DIR = $(sysconfdir)/errors
+-DEFAULT_MIB_PATH = $(sysconfdir)/mib.txt
++DEFAULT_MIB_PATH = $(libexecdir)/mib.txt
+
+ CC = @CC@
+ MAKEDEPEND = @MAKEDEPEND@
diff --git a/net-www/squid/files/squid.conf b/net-www/squid/files/squid.conf
deleted file mode 100644
index 38ff46655901..000000000000
--- a/net-www/squid/files/squid.conf
+++ /dev/null
@@ -1,2167 +0,0 @@
-
-# WELCOME TO SQUID 2
-# ------------------
-#
-# This is the default Squid configuration file. You may wish
-# to look at the Squid home page (http://squid.nlanr.net/)
-# for the FAQ and other documentation.
-#
-# The default Squid config file shows what the defaults for
-# various options happen to be. If you don't need to change the
-# default, you shouldn't uncomment the line. Doing so may cause
-# run-time problems. In some cases "none" refers to no default
-# setting at all, while in other cases it refers to a valid
-# option - the comments for that keyword indicate if this is the
-# case.
-#
-
-
-# NETWORK OPTIONS
-# -----------------------------------------------------------------------------
-
-# TAG: http_port
-# Usage: port
-# hostname:port
-# 1.2.3.4:port
-#
-# The socket addresses where Squid will listen for HTTP client
-# requests. You may specify multiple socket addresses.
-# There are three forms: port alone, hostname with port, and
-# IP address with port. If you specify a hostname or IP
-# address, then Squid binds the socket to that specific
-# address. This replaces the old 'tcp_incoming_address'
-# option. Most likely, you do not need to bind to a specific
-# address, so you can use the port number alone.
-#
-# The default port number is 3128.
-#
-# If you are running Squid in accelerator mode, then you
-# probably want to listen on port 80 also, or instead.
-#
-# The -a command line option will override the *first* port
-# number listed here. That option will NOT override an IP
-# address, however.
-#
-# You may specify multiple socket addresses on multiple lines.
-#
-#http_port 3128
-
-# TAG: icp_port
-# The port number where Squid sends and receives ICP queries to
-# and from neighbor caches. Default is 3130. To disable use
-# "0". May be overridden with -u on the command line.
-#
-#icp_port 3130
-
-# TAG: htcp_port
-# The port number where Squid sends and receives HTCP queries to
-# and from neighbor caches. Default is 4827. To disable use
-# "0".
-#
-# To enable this option, you must use --enable-htcp with the
-# configure script.
-#htcp_port 4827
-
-# TAG: mcast_groups
-# This tag specifies a list of multicast groups which your server
-# should join to receive multicasted ICP queries.
-#
-# NOTE! Be very careful what you put here! Be sure you
-# understand the difference between an ICP _query_ and an ICP
-# _reply_. This option is to be set only if you want to RECEIVE
-# multicast queries. Do NOT set this option to SEND multicast
-# ICP (use cache_peer for that). ICP replies are always sent via
-# unicast, so this option does not affect whether or not you will
-# receive replies from multicast group members.
-#
-# You must be very careful to NOT use a multicast address which
-# is already in use by another group of caches.
-#
-# If you are unsure about multicast, please read the Multicast
-# chapter in the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/).
-#
-# Usage: mcast_groups 239.128.16.128 224.0.1.20
-#
-# By default, Squid doesn't listen on any multicast groups.
-#
-#mcast_groups 239.128.16.128
-
-# TAG: tcp_outgoing_address
-# TAG: udp_incoming_address
-# TAG: udp_outgoing_address
-# Usage: tcp_incoming_address 10.20.30.40
-# udp_outgoing_address fully.qualified.domain.name
-#
-# tcp_outgoing_address is used for connections made to remote
-# servers and other caches.
-# udp_incoming_address is used for the ICP socket receiving packets
-# from other caches.
-# udp_outgoing_address is used for ICP packets sent out to other
-# caches.
-#
-# The default behavior is to not bind to any specific address.
-#
-# NOTE, udp_incoming_address and udp_outgoing_address can not
-# have the same value (unless it is 0.0.0.0) since they both use
-# port 3130.
-#
-# NOTE, tcp_incoming_address has been removed. You can now
-# specify IP addresses on the 'http_port' line.
-#
-#tcp_outgoing_address 0.0.0.0
-#udp_incoming_address 0.0.0.0
-#udp_outgoing_address 0.0.0.0
-
-
-# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
-# -----------------------------------------------------------------------------
-
-# TAG: cache_peer
-# To specify other caches in a hierarchy, use the format:
-#
-# hostname type http_port icp_port
-#
-# For example,
-#
-# # proxy icp
-# # hostname type port port options
-# # -------------------- -------- ----- ----- -----------
-# cache_peer parent.foo.net parent 3128 3130 [proxy-only]
-# cache_peer sib1.foo.net sibling 3128 3130 [proxy-only]
-# cache_peer sib2.foo.net sibling 3128 3130 [proxy-only]
-#
-# type: either 'parent', 'sibling', or 'multicast'.
-#
-# proxy_port: The port number where the cache listens for proxy
-# requests.
-#
-# icp_port: Used for querying neighbor caches about
-# objects. To have a non-ICP neighbor
-# specify '7' for the ICP port and make sure the
-# neighbor machine has the UDP echo port
-# enabled in its /etc/inetd.conf file.
-#
-# options: proxy-only
-# weight=n
-# ttl=n
-# no-query
-# default
-# round-robin
-# multicast-responder
-# closest-only
-# no-digest
-# no-netdb-exchange
-# no-delay
-# login=user:password
-# connect-timeout=nn
-# digest-url=url
-#
-# use 'proxy-only' to specify that objects fetched
-# from this cache should not be saved locally.
-#
-# use 'weight=n' to specify a weighted parent.
-# The weight must be an integer. The default weight
-# is 1, larger weights are favored more.
-#
-# use 'ttl=n' to specify a IP multicast TTL to use
-# when sending an ICP queries to this address.
-# Only useful when sending to a multicast group.
-# Because we don't accept ICP replies from random
-# hosts, you must configure other group members as
-# peers with the 'multicast-responder' option below.
-#
-# use 'no-query' to NOT send ICP queries to this
-# neighbor.
-#
-# use 'default' if this is a parent cache which can
-# be used as a "last-resort." You should probably
-# only use 'default' in situations where you cannot
-# use ICP with your parent cache(s).
-#
-# use 'round-robin' to define a set of parents which
-# should be used in a round-robin fashion in the
-# absence of any ICP queries.
-#
-# 'multicast-responder' indicates that the named peer
-# is a member of a multicast group. ICP queries will
-# not be sent directly to the peer, but ICP replies
-# will be accepted from it.
-#
-# 'closest-only' indicates that, for ICP_OP_MISS
-# replies, we'll only forward CLOSEST_PARENT_MISSes
-# and never FIRST_PARENT_MISSes.
-#
-# use 'no-digest' to NOT request cache digests from
-# this neighbor.
-#
-# 'no-netdb-exchange' disables requesting ICMP
-# RTT database (NetDB) from the neighbor.
-#
-# use 'no-delay' to prevent access to this neighbor
-# from influencing the delay pools.
-#
-# use 'login=user:password' if this is a personal/workgroup
-# proxy and your parent requires proxy authentication.
-#
-# use 'connect-timeout=nn' to specify a peer
-# specific connect timeout (also see the
-# peer_connect_timeout directive)
-#
-# use 'digest-url=url' to tell Squid to fetch the cache
-# digest (if digests are enabled) for this host from
-# the specified URL rather than the Squid default
-# location.
-#
-# NOTE: non-ICP neighbors must be specified as 'parent'.
-#
-#cache_peer hostname type 3128 3130
-
-# TAG: cache_peer_domain
-# Use to limit the domains for which a neighbor cache will be
-# queried. Usage:
-#
-# cache_peer_domain cache-host domain [domain ...]
-# cache_peer_domain cache-host !domain
-#
-# For example, specifying
-#
-# cache_peer_domain parent.foo.net .edu
-#
-# has the effect such that UDP query packets are sent to
-# 'bigserver' only when the requested object exists on a
-# server in the .edu domain. Prefixing the domainname
-# with '!' means that the cache will be queried for objects
-# NOT in that domain.
-#
-# NOTE: * Any number of domains may be given for a cache-host,
-# either on the same or separate lines.
-# * When multiple domains are given for a particular
-# cache-host, the first matched domain is applied.
-# * Cache hosts with no domain restrictions are queried
-# for all requests.
-# * There are no defaults.
-# * There is also a 'cache_peer_access' tag in the ACL
-# section.
-
-# TAG: neighbor_type_domain
-# usage: neighbor_type_domain parent|sibling domain domain ...
-#
-# Modifying the neighbor type for specific domains is now
-# possible. You can treat some domains differently than the the
-# default neighbor type specified on the 'cache_peer' line.
-# Normally it should only be necessary to list domains which
-# should be treated differently because the default neighbor type
-# applies for hostnames which do not match domains listed here.
-#
-#EXAMPLE:
-# cache_peer parent cache.foo.org 3128 3130
-# neighbor_type_domain cache.foo.org sibling .com .net
-# neighbor_type_domain cache.foo.org sibling .au .de
-
-# TAG: icp_query_timeout (msec)
-# Normally Squid will automatically determine an optimal ICP
-# query timeout value based on the round-trip-time of recent ICP
-# queries. If you want to override the value determined by
-# Squid, set this 'icp_query_timeout' to a non-zero value. This
-# value is specified in MILLISECONDS, so, to use a 2-second
-# timeout (the old default), you would write:
-#
-# icp_query_timeout 2000
-#
-#icp_query_timeout 0
-
-# TAG: maximum_icp_query_timeout (msec)
-# Normally the ICP query timeout is determined dynamically. But
-# sometimes it can lead to very large values (say 5 seconds).
-# Use this option to put an upper limit on the dynamic timeout
-# value. Do NOT use this option to always use a fixed (instead
-# of a dynamic) timeout value.
-#
-# If 'icp_query_timeout' is set to zero, then this value is
-# ignored.
-#maximum_icp_query_timeout 2000
-
-# TAG: mcast_icp_query_timeout (msec)
-# For Multicast peers, Squid regularly sends out ICP "probes" to
-# count how many other peers are listening on the given multicast
-# address. This value specifies how long Squid should wait to
-# count all the replies. The default is 2000 msec, or 2
-# seconds.
-#
-#mcast_icp_query_timeout 2000
-
-# TAG: dead_peer_timeout (seconds)
-# This controls how long Squid waits to declare a peer cache
-# as "dead." If there are no ICP replies received in this
-# amount of time, Squid will declare the peer dead and not
-# expect to receive any further ICP replies. However, it
-# continues to send ICP queries, and will mark the peer as
-# alive upon receipt of the first subsequent ICP reply.
-#
-# This timeout also affects when Squid expects to receive ICP
-# replies from peers. If more than 'dead_peer' seconds have
-# passed since the last ICP reply was received, Squid will not
-# expect to receive an ICP reply on the next query. Thus, if
-# your time between requests is greater than this timeout, you
-# will see a lot of requests sent DIRECT to origin servers
-# instead of to your parents.
-#
-#dead_peer_timeout 10 seconds
-
-# TAG: hierarchy_stoplist
-# A list of words which, if found in a URL, cause the object to
-# be handled directly by this cache. In other words, use this
-# to not query neighbor caches for certain objects. You may
-# list this option multiple times.
-#
-# The default is to directly fetch URLs containing 'cgi-bin' or '?'.
-#
-#hierarchy_stoplist cgi-bin ?
-
-# TAG: no_cache
-# A list of ACL elements which, if matched, cause the reply to
-# immediately removed from the cache. In other words, use this
-# to force certain objects to never be cached.
-#
-# You must use the word 'DENY' to indicate the ACL names which should
-# NOT be cached.
-#
-# There is no default. We recommend you uncomment the following
-# two lines.
-#
-#acl QUERY urlpath_regex cgi-bin \?
-#no_cache deny QUERY
-
-
-# OPTIONS WHICH AFFECT THE CACHE SIZE
-# -----------------------------------------------------------------------------
-
-# TAG: cache_mem (bytes)
-# NOTE: THIS PARAMETER DOES NOT SPECIFY THE MAXIMUM PROCESS
-# SIZE. IT PLACES A LIMIT ON ONE ASPECT OF SQUID'S MEMORY
-# USAGE. SQUID USES MEMORY FOR OTHER THINGS AS WELL.
-# YOUR PROCESS WILL PROBABLY BECOME TWICE OR THREE TIMES
-# BIGGER THAN THE VALUE YOU PUT HERE
-#
-# 'cache_mem' specifies the ideal amount of memory to be used
-# for:
-# * In-Transit objects
-# * Hot Objects
-# * Negative-Cached objects
-#
-# Data for these objects are stored in 4 KB blocks. This
-# parameter specifies the ideal upper limit on the total size of
-# 4 KB blocks allocated. In-Transit objects take the highest
-# priority.
-#
-# In-transit objects have priority over the others. When
-# additional space is needed for incoming data, negative-cached
-# and hot objects will be released. In other words, the
-# negative-cached and hot objects will fill up any unused space
-# not needed for in-transit objects.
-#
-# If circumstances require, this limit will be exceeded.
-# Specifically, if your incoming request rate requires more than
-# 'cache_mem' of memory to hold in-transit objects, Squid will
-# exceed this limit to satisfy the new requests. When the load
-# decreases, blocks will be freed until the high-water mark is
-# reached. Thereafter, blocks will be used to store hot
-# objects.
-#
-# The default is 8 Megabytes.
-#
-#cache_mem 8 MB
-
-# TAG: cache_swap_low (percent, 0-100)
-# TAG: cache_swap_high (percent, 0-100)
-#
-# The low- and high-water marks for cache object replacement.
-# Replacement begins when the swap (disk) usage is above the
-# low-water mark and attempts to maintain utilization near the
-# low-water mark. As swap utilization gets close to high-water
-# mark object eviction becomes more aggressive. If utilization is
-# close to the low-water mark less replacement is done each time.
-#
-# Defaults are 90% and 95%. If you have a large cache, 5% could be
-# hundreds of MB. If this is the case you may wish to set these
-# numbers closer together.
-#
-#cache_swap_low 90
-#cache_swap_high 95
-
-# TAG: maximum_object_size (bytes)
-# Objects larger than this size will NOT be saved on disk. The
-# value is specified in kilobytes, and the default is 4MB. If
-# you wish to get a high BYTES hit ratio, you should probably
-# increase this (one 32 MB object hit counts for 3200 10KB
-# hits). If you wish to increase speed more than your want to
-# save bandwidth you should leave this low.
-#
-# NOTE: if using the LFUDA replacement policy you should increase
-# this value to maximize the byte hit rate improvement of LFUDA!
-# See replacement_policy below for a discussion of this policy.
-#
-#maximum_object_size 4096 KB
-
-# TAG: minimum_object_size (bytes)
-# Objects smaller than this size will NOT be saved on disk. The
-# value is specified in kilobytes, and the default is 0 KB, which
-# means there is no minimum.
-#minimum_object_size 0 KB
-
-# TAG: ipcache_size (number of entries)
-# TAG: ipcache_low (percent)
-# TAG: ipcache_high (percent)
-# The size, low-, and high-water marks for the IP cache.
-#
-#ipcache_size 1024
-#ipcache_low 90
-#ipcache_high 95
-
-# TAG: fqdncache_size (number of entries)
-# Maximum number of FQDN cache entries.
-#fqdncache_size 1024
-
-
-# LOGFILE PATHNAMES AND CACHE DIRECTORIES
-# -----------------------------------------------------------------------------
-
-# TAG: cache_dir
-# Usage:
-#
-# cache_dir Type Directory-Name Mbytes Level-1 Level2
-#
-# You can specify multiple cache_dir lines to spread the
-# cache among different disk partitions.
-#
-# Type specifies the kind of storage system to use. Most
-# everyone will want to use "ufs" as the type. If you are using
-# Async I/O (--enable async-io) on Linux or Solaris, then you may
-# want to try "asyncufs" as the type. Async IO support may be
-# buggy, however, so beware.
-#
-# 'Directory' is a top-level directory where cache swap
-# files will be stored. If you want to use an entire disk
-# for caching, then this can be the mount-point directory.
-# The directory must exist and be writable by the Squid
-# process. Squid will NOT create this directory for you.
-#
-# If no 'cache_dir' lines are specified, the following
-# default will be used: /usr/cache.
-#
-# 'Mbytes' is the amount of disk space (MB) to use under this
-# directory. The default is 100 MB. Change this to suit your
-# configuration.
-#
-# 'Level-1' is the number of first-level subdirectories which
-# will be created under the 'Directory'. The default is 16.
-#
-# 'Level-2' is the number of second-level subdirectories which
-# will be created under each first-level directory. The default
-# is 256.
-#
-cache_dir ufs /var/cache/squid 100 16 256
-
-# TAG: cache_access_log
-# Logs the client request activity. Contains an entry for
-# every HTTP and ICP queries received.
-#
-cache_access_log /var/log/squid/squid.access
-
-# TAG: cache_log
-# Cache logging file. This is where general information about
-# your cache's behavior goes. You can increase the amount of data
-# logged to this file with the "debug_options" tag below.
-#
-cache_log /var/log/squid/squid.cache
-
-# TAG: cache_store_log
-# Logs the activities of the storage manager. Shows which
-# objects are ejected from the cache, and which objects are
-# saved and for how long. To disable, enter "none". There are
-# not really utilities to analyze this data, so you can safely
-# disable it.
-#
-cache_store_log /var/log/squid/squid.store
-
-# TAG: cache_swap_log
-# Location for the cache "swap.log." This log file holds the
-# metadata of objects saved on disk. It is used to rebuild the
-# cache during startup. Normally this file resides in the first
-# 'cache_dir' directory, but you may specify an alternate
-# pathname here. Note you must give a full filename, not just
-# a directory. Since this is the index for the whole object
-# list you CANNOT periodically rotate it!
-#
-# If you have more than one 'cache_dir', these swap logs will
-# have names such as:
-#
-# cache_swap_log.00
-# cache_swap_log.01
-# cache_swap_log.02
-#
-# The numbered extension (which is added automatically)
-# corresponds to the order of the 'cache_dir' lines in this
-# configuration file. If you change the order of the 'cache_dir'
-# lines in this file, then these log files will NOT correspond to
-# the correct 'cache_dir' entry (unless you manually rename
-# them). We recommend that you do NOT use this option. It is
-# better to keep these log files in each 'cache_dir' directory.
-#
-#cache_swap_log
-
-# TAG: emulate_httpd_log on|off
-# The Cache can emulate the log file format which many 'httpd'
-# programs use. To disable/enable this emulation, set
-# emulate_httpd_log to 'off' or 'on'. The default
-# is to use the native log format since it includes useful
-# information that Squid-specific log analyzers use.
-#
-#emulate_httpd_log off
-
-# TAG: mime_table
-# Pathname to Squid's MIME table. You shouldn't need to change
-# this, but the default file contains examples and formatting
-# information if you do.
-#
-#mime_table /etc/squid/mime.conf
-
-# TAG: log_mime_hdrs on|off
-# The Cache can record both the request and the response MIME
-# headers for each HTTP transaction. The headers are encoded
-# safely and will appear as two bracketed fields at the end of
-# the access log (for either the native or httpd-emulated log
-# formats). To enable this logging set log_mime_hdrs to 'on'.
-#
-#log_mime_hdrs off
-
-# TAG: useragent_log
-# If configured with the "--enable-useragent_log" configure
-# option, Squid will write the User-Agent field from HTTP
-# requests to the filename specified here. By default
-# useragent_log is disabled.
-#
-#useragent_log none
-
-# TAG: pid_filename
-# A filename to write the process-id to. To disable, enter "none".
-#
-pid_filename /var/run/squid.pid
-
-# TAG: debug_options
-# Logging options are set as section,level where each source file
-# is assigned a unique section. Lower levels result in less
-# output, Full debugging (level 9) can result in a very large
-# log file, so be careful. The magic word "ALL" sets debugging
-# levels for all sections. We recommend normally running with
-# "ALL,1".
-#
-#debug_options ALL,1
-
-# TAG: log_fqdn on|off
-# Turn this on if you wish to log fully qualified domain names
-# in the access.log. To do this Squid does a DNS lookup of all
-# IP's connecting to it. This can (in some situations) increase
-# latency, which makes your cache seem slower for interactive
-# browsing.
-#
-#log_fqdn off
-
-# TAG: client_netmask
-# A netmask for client addresses in logfiles and cachemgr output.
-# Change this to protect the privacy of your cache clients.
-# A netmask of 255.255.255.0 will log all IP's in that range with
-# the last digit set to '0'.
-#
-#client_netmask 255.255.255.255
-
-
-# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
-# -----------------------------------------------------------------------------
-
-# TAG: ftp_user
-# If you want the anonymous login password to be more informative
-# (and enable the use of picky ftp servers), set this to something
-# reasonable for your domain, like wwwuser@somewhere.net
-#
-# The reason why this is domainless by default is that the
-# request can be made on the behalf of a user in any domain,
-# depending on how the cache is used.
-# Some ftp server also validate that the email address is valid
-# (for example perl.com).
-#
-#ftp_user Squid@
-
-# TAG: ftp_list_width
-# Sets the width of ftp listings. This should be set to fit in
-# the width of a standard browser. Setting this too small
-# can cut off long filenames when browsing ftp sites.
-#
-#ftp_list_width 32
-
-# TAG: ftp_passive
-# If your firewall does not allow Squid to use passive
-# connections, then turn off this option.
-##ftp_passive on
-
-# TAG: cache_dns_program
-# Specify the location of the executable for dnslookup process.
-#
-#cache_dns_program /usr/bin/dnsserver
-
-# TAG: dns_children
-# The number of processes spawn to service DNS name lookups.
-# For heavily loaded caches on large servers, you should
-# probably increase this value to at least 10. The maximum
-# is 32. The default is 5.
-#
-# You must have at least one dnsserver process.
-#
-#dns_children 5
-
-# TAG: dns_defnames on|off
-# Normally the 'dnsserver' disables the RES_DEFNAMES resolver
-# option (see res_init(3)). This prevents caches in a hierarchy
-# from interpreting single-component hostnames locally. To allow
-# dnsserver to handle single-component names, enable this
-# option.
-#
-#dns_defnames off
-
-# TAG: dns_nameservers
-# Use this if you want to specify a list of DNS name servers
-# (IP addresses) to use instead of those given in your
-# /etc/resolv.conf file.
-#
-# Example: dns_nameservers 10.0.0.1 192.172.0.4
-#
-#dns_nameservers none
-
-# TAG: unlinkd_program
-# Specify the location of the executable for file deletion process.
-# This isn't needed if you are using async-io since it's handled by
-# a thread.
-#
-#unlinkd_program /usr/bin/unlinkd
-
-# TAG: pinger_program
-# Specify the location of the executable for the pinger process.
-# This is only useful if you configured Squid (during compilation)
-# with the '--enable-icmp' option.
-#
-#pinger_program /usr/bin/pinger
-
-# TAG: redirect_program
-# Specify the location of the executable for the URL redirector.
-# Since they can perform almost any function there isn't one included.
-# See the Release-Notes for information on how to write one.
-# By default, a redirector is not used.
-#
-#redirect_program none
-
-# TAG: redirect_children
-# The number of redirector processes to spawn. If you start
-# too few Squid will have to wait for them to process a backlog of
-# URLs, slowing it down. If you start too many they will use RAM
-# and other system resources.
-#
-#redirect_children 5
-
-# TAG: redirect_rewrites_host_header
-# By default Squid rewrites any Host: header in redirected
-# requests. If you are running a accelerator then this may
-# not be a wanted effect of a redirector.
-#redirect_rewrites_host_header on
-
-# TAG: redirector_access
-# If defined, this access list specifies which requests are
-# sent to the redirector processes. By default all requests
-# are sent.
-
-# TAG: authenticate_program
-# Specify the command for the external authenticator. Such a
-# program reads a line containing "username password" and replies
-# "OK" or "ERR" in an endless loop. If you use an authenticator,
-# make sure you have 1 acl of type proxy_auth. By default, the
-# authenticator_program is not used.
-#
-# If you want to use the traditional proxy authentication,
-# jump over to the ../auth_modules/NCSA directory and
-# type:
-# % make
-# % make install
-#
-# Then, set this line to something like
-#
-# authenticate_program /usr/bin/ncsa_auth /usr/etc/passwd
-#
-#authenticate_program none
-
-# TAG: authenticate_children
-# The number of authenticator processes to spawn (default 5). If you
-# start too few Squid will have to wait for them to process a backlog
-# of usercode/password verifications, slowing it down. When password
-# verifications are done via a (slow) network you are likely to need
-# lots of authenticator processes.
-#
-#authenticate_children 5
-
-# TAG: authenticate_ttl
-# The time a checked username/password combination remains cached
-# (default 3600). If a wrong password is given for a cached user,
-# the user gets removed from the username/password cache forcing
-# a revalidation.
-#
-#authenticate_ttl 3600
-
-# TAG: authenticate_ip_ttl
-# With this option you control how long a proxy authentication
-# will be bound to a specific IP address. If a request using
-# the same user name is received during this time then access
-# will be denied and both users are required to reauthenticate
-# them selves. The idea behind this is to make it annoying
-# for people to share their password to their friends, but
-# yet allow a dialup user to reconnect on a different dialup
-# port.
-#
-# The default is 0 to disable the check. Recommended value
-# if you have dialup users are no more than 60 (seconds). If
-# all your users are stationary then higher values may be
-# used.
-#
-#authenticate_ip_ttl 0
-
-
-# OPTIONS FOR TUNING THE CACHE
-# -----------------------------------------------------------------------------
-
-# TAG: wais_relay_host
-# TAG: wais_relay_port
-# Relay WAIS request to host (1st arg) at port (2 arg).
-#
-#wais_relay_host localhost
-#wais_relay_port 8000
-
-# TAG: request_header_max_size (KB)
-# This specifies the maximum size for HTTP headers in a request.
-# Request headers are usually relatively small (about 512 bytes).
-# Placing a limit on the request header size will catch certain
-# bugs (for example with persistent connections) and possibly
-# buffer-overflow or denial-of-service attacks.
-#request_header_max_size 10 KB
-
-# TAG: request_body_max_size (KB)
-# This specifies the maximum size for an HTTP request body.
-# In other words, the maximum size of a PUT/POST request.
-# A user who attempts to send a request with a body larger
-# than this limit receives an "Invalid Request" error message.
-# If you set this parameter to a zero, there will be no limit
-# imposed.
-#request_body_max_size 1 MB
-
-# TAG: reply_body_max_size (KB)
-# This option specifies the maximum size of a reply body. It
-# can be used to prevent users from downloading very large files,
-# such as MP3's and movies. The reply size is checked twice.
-# First when we get the reply headers, we check the
-# content-length value. If the content length value exists and
-# is larger than this parameter, the request is denied and the
-# user receives an error message that says "the request or reply
-# is too large." If there is no content-length, and the reply
-# size exceeds this limit, the client's connection is just closed
-# and they will receive a partial reply.
-#
-# NOTE: downstream caches probably can not detect a partial reply
-# if there is no content-length header, so they will cache
-# partial responses and give them out as hits. You should NOT
-# use this option if you have downstream caches.
-#
-# If you set this parameter to zero (the default), there will be
-# no limit imposed.
-#reply_body_max_size 0
-
-# TAG: refresh_pattern
-# usage: refresh_pattern [-i] regex min percent max [options]
-#
-# By default, regular expressions are CASE-SENSITIVE. To make
-# them case-insensitive, use the -i option.
-#
-# 'Min' is the time (in minutes) an object without an explicit
-# expiry time should be considered fresh. The recommended
-# value is 0, any higher values may cause dynamic applications
-# to be erroneously cached unless the application designer
-# has taken the appropriate actions.
-#
-# 'Percent' is a percentage of the objects age (time since last
-# modification age) an object without explicit expiry time
-# will be considered fresh.
-#
-# 'Max' is an upper limit on how long objects without an explicit
-# expiry time will be considered fresh.
-#
-# options: override-expire
-# override-lastmod
-# reload-into-ims
-# ignore-reload
-#
-# override-expire enforces min age even if the server
-# sent a Expires: header. Doing this VIOLATES the HTTP
-# standard. Enabling this feature could make you liable
-# for problems which it causes.
-#
-# override-lastmod enforces min age even on objects
-# that was modified recently.
-#
-# reload-into-ims changes client no-cache or ``reload''
-# to If-Modified-Since requests. Doing this VIOLATES the
-# HTTP standard. Enabling this feature could make you
-# liable for problems which it causes.
-#
-# ignore-reload ignores a client no-cache or ``reload''
-# header. Doing this VIOLATES the HTTP standard. Enabling
-# this feature could make you liable for problems which
-# it causes.
-#
-# Please see the file doc/Release-Notes-1.1.txt for a full
-# description of Squid's refresh algorithm. Basically a
-# cached object is: (the order is changed from 1.1.X)
-#
-# FRESH if expires < now, else STALE
-# STALE if age > max
-# FRESH if lm-factor < percent, else STALE
-# FRESH if age < min
-# else STALE
-#
-# The refresh_pattern lines are checked in the order listed here.
-# The first entry which matches is used. If none of the entries
-# match, then the default will be used.
-#
-#Default:
-refresh_pattern ^ftp: 1440 20% 10080
-refresh_pattern ^gopher: 1440 0% 1440
-refresh_pattern . 0 20% 4320
-
-# TAG: replacement_policy
-# The cache replacement policy parameter determines which
-# objects are evicted (replaced) when disk space is needed.
-# Squid used to have only a single replacement policy, LRU.
-# But when built with -DHEAP_REPLACEMENT you can choose
-# between two new, enhanced policies:
-#
-# GDSF: Greedy-Dual Size Frequency
-# LFUDA: Least Frequently Used with Dynamic Aging
-#
-# Both of these policies are frequency based rather than recency
-# based, and perform better than LRU.
-#
-# The GDSF policy optimizes object hit rate by keeping smaller
-# popular objects in cache so it has a better chance of getting a
-# hit. It achieves a lower byte hit rate than LFUDA though since
-# it evicts larger (possibly popular) objects.
-#
-# The LFUDA policy keeps popular objects in cache regardless of
-# their size and thus optimizes byte hit rate at the expense of
-# hit rate since one large, popular object will prevent many
-# smaller, slightly less popular objects from being cached.
-#
-# Both policies utilize a dynamic aging mechanism that prevents
-# cache pollution that can otherwise occur with frequency-based
-# replacement policies.
-#
-# NOTE: if using the LFUDA replacement policy you should increase
-# the value of maximum_object_size above its default of 4096 KB to
-# to maximize the potential byte hit rate improvement of LFUDA.
-#
-# For more information about these cache replacement policies see
-# http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html and
-# http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html.
-#
-#replacement_policy LFUDA
-
-# TAG: reference_age
-# As a part of normal operation, Squid performs Least Recently
-# Used removal of cached objects. The LRU age for removal is
-# computed dynamically, based on the amount of disk space in
-# use. The dynamic value can be seen in the Cache Manager 'info'
-# output.
-#
-# The 'reference_age' parameter defines the maximum LRU age. For
-# example, setting reference_age to '1 week' will cause objects
-# to be removed if they have not been accessed for a week or
-# more. The default value is one year.
-#
-# Specify a number here, followed by units of time. For example:
-# 1 week
-# 3.5 days
-# 4 months
-# 2.2 hours
-#
-# NOTE: this parameter is not used when using the enhanced
-# replacement policies, GDSH or LFUDA.
-#
-#reference_age 1 year
-
-# TAG: quick_abort_min (KB)
-# TAG: quick_abort_max (KB)
-# TAG: quick_abort_pct (percent)
-# The cache can be configured to continue downloading aborted
-# requests. This may be undesirable on slow (e.g. SLIP) links
-# and/or very busy caches. Impatient users may tie up file
-# descriptors and bandwidth by repeatedly requesting and
-# immediately aborting downloads.
-#
-# When the user aborts a request, Squid will check the
-# quick_abort values to the amount of data transfered until
-# then.
-#
-# If the transfer has less than 'quick_abort_min' KB remaining,
-# it will finish the retrieval. Setting 'quick_abort_min' to -1
-# will disable the quick_abort feature.
-#
-# If the transfer has more than 'quick_abort_max' KB remaining,
-# it will abort the retrieval.
-#
-# If more than 'quick_abort_pct' of the transfer has completed,
-# it will finish the retrieval.
-#
-#quick_abort_min 16 KB
-#quick_abort_max 16 KB
-#quick_abort_pct 95
-
-# TAG: negative_ttl time-units
-# Time-to-Live (TTL) for failed requests. Certain types of
-# failures (such as "connection refused" and "404 Not Found") are
-# negatively-cached for a configurable amount of time. The
-# default is 5 minutes. Note that this is different from
-# negative caching of DNS lookups.
-#
-#negative_ttl 5 minutes
-
-# TAG: positive_dns_ttl time-units
-# Time-to-Live (TTL) for positive caching of successful DNS lookups.
-# Default is 6 hours (360 minutes). If you want to minimize the
-# use of Squid's ipcache, set this to 1, not 0.
-#
-#positive_dns_ttl 6 hours
-
-# TAG: negative_dns_ttl time-units
-# Time-to-Live (TTL) for negative caching of failed DNS lookups.
-#
-#negative_dns_ttl 5 minutes
-
-# TAG: range_offset_limit (bytes)
-# Sets a upper limit on how far into the the file a Range request
-# may be to cause Squid to prefetch the whole file. If beyond this
-# limit then Squid forwards the Range request as it is and the result
-# is NOT cached.
-#
-# This is to stop a far ahead range request (lets say start at 17MB)
-# from making Squid fetch the whole object up to that point before
-# sending anything to the client.
-#
-# A value of -1 causes Squid to always fetch the object from the
-# beginning so that it may cache the result. (2.0 style)
-#
-# A value of 0 causes Squid to never fetch more than the client
-# client requested. (default)
-#
-#range_offset_limit 0 KB
-
-
-# TIMEOUTS
-# -----------------------------------------------------------------------------
-
-# TAG: connect_timeout time-units
-# Some systems (notably Linux) can not be relied upon to properly
-# time out connect(2) requests. Therefore the Squid process
-# enforces its own timeout on server connections. This parameter
-# specifies how long to wait for the connect to complete. The
-# default is two minutes (120 seconds).
-#
-#connect_timeout 120 seconds
-
-# TAG: peer_connect_timeout time-units
-# This parameter specifies how long to wait for a pending TCP
-# connection to a peer cache. The default is 30 seconds. You
-# may also set different timeout values for individual neighbors
-# with the 'connect-timeout' option on a 'cache_peer' line.
-#peer_connect_timeout 30 seconds
-
-# TAG: siteselect_timeout time-units
-# For URN to multiple URL's URL selection
-#
-#siteselect_timeout 4 seconds
-
-# TAG: read_timeout time-units
-# The read_timeout is applied on server-side connections. After
-# each successful read(), the timeout will be extended by this
-# amount. If no data is read again after this amount of time,
-# the request is aborted and logged with ERR_READ_TIMEOUT. The
-# default is 15 minutes.
-#
-#read_timeout 15 minutes
-
-# TAG: request_timeout
-# How long to wait for an HTTP request after connection
-# establishment. For persistent connections, wait this long
-# after the previous request completes.
-#
-#request_timeout 30 seconds
-
-# TAG: client_lifetime time-units
-# The maximum amount of time that a client (browser) is allowed to
-# remain connected to the cache process. This protects the Cache
-# from having a lot of sockets (and hence file descriptors) tied up
-# in a CLOSE_WAIT state from remote clients that go away without
-# properly shutting down (either because of a network failure or
-# because of a poor client implementation). The default is one
-# day, 1440 minutes.
-#
-# NOTE: The default value is intended to be much larger than any
-# client would ever need to be connected to your cache. You
-# should probably change client_lifetime only as a last resort.
-# If you seem to have many client connections tying up
-# filedescriptors, we recommend first tuning the read_timeout,
-# request_timeout, pconn_timeout and quick_abort values.
-#
-#client_lifetime 1 day
-
-# TAG: half_closed_clients
-# Some clients may shutdown the sending side of their TCP
-# connections, while leaving their receiving sides open. Sometimes,
-# Squid can not tell the difference between a half-closed and a
-# fully-closed TCP connection. By default, half-closed client
-# connections are kept open until a read(2) or write(2) on the
-# socket returns an error. Change this option to 'off' and Squid
-# will immediately close client connections when read(2) returns
-# "no more data to read."
-#
-#half_closed_clients on
-
-# TAG: pconn_timeout
-# Timeout for idle persistent connections to servers and other
-# proxies.
-#pconn_timeout 120 seconds
-
-# TAG: ident_timeout
-# Maximum time to wait for IDENT requests. If this is too high,
-# and you enabled 'ident_lookup', then you might be susceptible
-# to denial-of-service by having many ident requests going at
-# once.
-#
-# Only src type ACL checks are fully supported. A src_domain
-# ACL might work at times, but it will not always provide
-# the correct result.
-#
-# This option may be disabled by using --disable-ident with
-# the configure script.
-#ident_timeout 10 seconds
-
-# TAG: shutdown_lifetime time-units
-# When SIGTERM or SIGHUP is received, the cache is put into
-# "shutdown pending" mode until all active sockets are closed.
-# This value is the lifetime to set for all open descriptors
-# during shutdown mode. Any active clients after this many
-# seconds will receive a 'timeout' message.
-#
-#shutdown_lifetime 30 seconds
-
-
-# ACCESS CONTROLS
-# -----------------------------------------------------------------------------
-
-# TAG: acl
-# Defining an Access List
-#
-# acl aclname acltype string1 ...
-# acl aclname acltype "file" ...
-#
-# when using "file", the file should contain one item per line
-#
-# acltype is one of src dst srcdomain dstdomain url_pattern
-# urlpath_pattern time port proto method browser user
-#
-# By default, regular expressions are CASE-SENSITIVE. To make
-# them case-insensitive, use the -i option.
-#
-# acl aclname src ip-address/netmask ... (clients IP address)
-# acl aclname src addr1-addr2/netmask ... (range of addresses)
-# acl aclname dst ip-address/netmask ... (URL host's IP address)
-# acl aclname myip ip-address/netmask ... (local socket IP address)
-#
-# acl aclname srcdomain .foo.com ... # reverse lookup, client IP
-# acl aclname dstdomain .foo.com ... # Destination server from URL
-# acl aclname srcdom_regex [-i] xxx ... # regex matching client name
-# acl aclname dstdom_regex [-i] xxx ... # regex matching server
-# # For dstdomain and dstdom_regex a reverse lookup is tried if a IP
-# # based URL is used. The name "none" is used if the reverse lookup
-# # fails.
-#
-# acl aclname time [day-abbrevs] [h1:m1-h2:m2]
-# day-abbrevs:
-# S - Sunday
-# M - Monday
-# T - Tuesday
-# W - Wednesday
-# H - Thursday
-# F - Friday
-# A - Saturday
-# h1:m1 must be less than h2:m2
-# acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL
-# acl aclname urlpath_regex [-i] \.gif$ ... # regex matching on URL path
-# acl aclname port 80 70 21 ...
-# acl aclname port 0-1024 ... # ranges allowed
-# acl aclname myport 3128 ... # (local socket TCP port)
-# acl aclname proto HTTP FTP ...
-# acl aclname method GET POST ...
-# acl aclname browser [-i] regexp
-# # pattern match on User-Agent header
-# acl aclname ident username ...
-# # string match on ident output.
-# # use REQUIRED to accept any non-null ident.
-# acl aclname src_as number ...
-# acl aclname dst_as number ...
-# # Except for access control, AS numbers can be used for
-# # routing of requests to specific caches. Here's an
-# # example for routing all requests for AS#1241 and only
-# # those to mycache.mydomain.net:
-# # acl asexample dst_as 1241
-# # cache_peer_access mycache.mydomain.net allow asexample
-# # cache_peer_access mycache_mydomain.net deny all
-#
-# acl aclname proxy_auth username ...
-# # list of valid usernames
-# # use REQUIRED to accept any valid username.
-# #
-# # NOTE: when a Proxy-Authentication header is sent but it is not
-# # needed during ACL checking the username is NOT logged
-# # in access.log.
-# #
-# # NOTE: proxy_auth requires a EXTERNAL authentication program
-# # to check username/password combinations (see
-# # authenticate_program).
-# #
-# # WARNING: proxy_auth can't be used in a transparent proxy. It
-# # collides with any authentication done by origin servers. It may
-# # seem like it works at first, but it doesn't.
-#
-# acl aclname snmp_community string ...
-# # A community string to limit access to your SNMP Agent
-# # Example:
-# #
-# # acl snmppublic snmp_community public
-#
-# acl aclname maxconn number
-# # This will be matched when the client's IP address has
-# # more than <number> HTTP connections established.
-#
-#
-#Examples:
-#acl myexample dst_as 1241
-#acl password proxy_auth REQUIRED
-#
-#Defaults:
-acl all src 0.0.0.0/0.0.0.0
-acl manager proto cache_object
-acl localhost src 127.0.0.1/255.255.255.255
-acl SSL_ports port 443 563
-acl Safe_ports port 80 21 443 563 70 210 1025-65535
-acl Safe_ports port 280 # http-mgmt
-acl Safe_ports port 488 # gss-http
-acl Safe_ports port 591 # filemaker
-acl Safe_ports port 777 # multiling http
-acl CONNECT method CONNECT
-
-# TAG: http_access
-# Allowing or Denying access based on defined access lists
-#
-# Access to the HTTP port:
-# http_access allow|deny [!]aclname ...
-#
-# Access to the ICP port:
-# icp_access allow|deny [!]aclname ...
-#
-# NOTE on default values:
-#
-# If there are no "access" lines present, the default is to allow
-# the request.
-#
-# If none of the "access" lines cause a match, the default is the
-# opposite of the last line in the list. If the last line was
-# deny, then the default is allow. Conversely, if the last line
-# is allow, the default will be deny. For these reasons, it is a
-# good idea to have an "deny all" or "allow all" entry at the end
-# of your access lists to avoid potential confusion.
-#
-#Default configuration:
-http_access allow manager localhost
-http_access deny manager
-http_access deny !Safe_ports
-http_access deny CONNECT !SSL_ports
-#
-# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
-#
-http_access deny all
-
-# TAG: icp_access
-# Reply to all ICP queries we receive
-#
-icp_access allow all
-
-# TAG: miss_access
-# Use to force your neighbors to use you as a sibling instead of
-# a parent. For example:
-#
-# acl localclients src 172.16.0.0/16
-# miss_access allow localclients
-# miss_access deny !localclients
-#
-# This means that only your local clients are allowed to fetch
-# MISSES and all other clients can only fetch HITS.
-#
-# By default, allow all clients who passed the http_access rules
-# to fetch MISSES from us.
-miss_access allow all
-
-# TAG: cache_peer_access
-# Similar to 'cache_peer_domain' but provides more flexibility by
-# using ACL elements.
-#
-# cache_peer_access cache-host allow|deny [!]aclname ...
-#
-# The syntax is identical to 'http_access' and the other lists of
-# ACL elements. See the comments for 'http_access' below, or
-# the Squid FAQ (http://squid.nlanr.net/Squid/FAQ/FAQ-10.html).
-
-# TAG: proxy_auth_realm
-# Specifies the realm name which is to be reported to the client for
-# proxy authentication (part of the text the user will see when
-# prompted their username and password).
-#
-#proxy_auth_realm Squid proxy-caching web server
-
-# TAG: ident_lookup_access
-# A list of ACL elements which, if matched, cause an ident
-# (RFC 931) lookup to be performed for this request. For
-# example, you might choose to always perform ident lookups
-# for your main multi-user Unix boxes, but not for your Macs
-# and PCs. By default, ident lookups are not performed for
-# any requests.
-#
-# To enable ident lookups for specific client addresses, you
-# can follow this example:
-#
-# acl ident_aware_hosts src 198.168.1.0/255.255.255.0
-# ident_lookup_access allow ident_aware_hosts
-# ident_lookup_access deny all
-#
-# This option may be disabled by using --disable-ident with
-# the configure script.
-#ident_lookup_access deny all
-
-
-# ADMINISTRATIVE PARAMETERS
-# -----------------------------------------------------------------------------
-
-# TAG: cache_mgr
-# Email-address of local cache manager who will receive
-# mail if the cache dies. The default is "webmaster."
-#
-#cache_mgr webmaster
-
-# TAG: cache_effective_user
-# TAG: cache_effective_group
-#
-# If the cache is run as root, it will change its effective/real
-# UID/GID to the UID/GID specified below. The default is to
-# change to UID to nobody and GID to nogroup.
-#
-# If Squid is not started as root, the default is to keep the
-# current UID/GID. Note that if Squid is not started as root then
-# you cannot set http_port to a value lower than 1024.
-#
-cache_effective_user squid
-cache_effective_group daemon
-
-# TAG: visible_hostname
-# If you want to present a special hostname in error messages, etc,
-# then define this. Otherwise, the return value of gethostname()
-# will be used. If you have multiple caches in a cluster and
-# get errors about IP-forwarding you must set them to have individual
-# names with this setting.
-#
-#visible_hostname www-cache.foo.org
-
-# TAG: unique_hostname
-# If you want to have multiple machines with the same
-# 'visible_hostname' then you must give each machine a different
-# 'unique_hostname' so that forwarding loops can be detected.
-#
-#unique_hostname www-cache1.foo.org
-
-# TAG: hostname_aliases
-# A list of other DNS names that your cache has.
-
-
-# OPTIONS FOR THE CACHE REGISTRATION SERVICE
-# -----------------------------------------------------------------------------
-#
-# This section contains parameters for the (optional) cache
-# announcement service. This service is provided to help
-# cache administrators locate one another in order to join or
-# create cache hierarchies.
-#
-# An 'announcement' message is sent (via UDP) to the registration
-# service by Squid. By default, the announcement message is NOT
-# SENT unless you enable it with 'announce_period' below.
-#
-# The announcement message includes your hostname, plus the
-# following information from this configuration file:
-#
-# http_port
-# icp_port
-# cache_mgr
-#
-# All current information is processed regularly and made
-# available on the Web at http://ircache.nlanr.net/Cache/Tracker/.
-
-# TAG: announce_period
-# This is how frequently to send cache announcements. The
-# default is `0' which disables sending the announcement
-# messages.
-#
-# To enable announcing your cache, just uncomment the line
-# below.
-#
-#announce_period 1 day
-
-# TAG: announce_host
-# TAG: announce_file
-# TAG: announce_port
-# announce_host and announce_port set the hostname and port
-# number where the registration message will be sent.
-#
-# Hostname will default to 'tracker.ircache.net' and port will
-# default default to 3131. If the 'filename' argument is given,
-# the contents of that file will be included in the announce
-# message.
-#
-#announce_host tracker.ircache.net
-#announce_port 3131
-
-
-# HTTPD-ACCELERATOR OPTIONS
-# -----------------------------------------------------------------------------
-
-# TAG: httpd_accel_host
-# TAG: httpd_accel_port
-# If you want to run Squid as an httpd accelerator, define the
-# host name and port number where the real HTTP server is.
-#
-# If you want virtual host support then specify the hostname
-# as "virtual".
-#
-# NOTE: enabling httpd_accel_host disables proxy-caching and
-# ICP. If you want these features enabled also, then set
-# the 'httpd_accel_with_proxy' option.
-#
-#httpd_accel_host hostname
-#httpd_accel_port port
-
-# TAG: httpd_accel_with_proxy on|off
-# If you want to use Squid as both a local httpd accelerator
-# and as a proxy, change this to 'on'.
-#
-#httpd_accel_with_proxy off
-
-# TAG: httpd_accel_uses_host_header on|off
-# HTTP/1.1 requests include a Host: header which is basically the
-# hostname from the URL. Squid can be an accelerator for
-# different HTTP servers by looking at this header. However,
-# Squid does NOT check the value of the Host header, so it opens
-# a big security hole. We recommend that this option remain
-# disabled unless you are sure of what you are doing.
-#
-# However, you will need to enable this option if you run Squid
-# as a transparent proxy. Otherwise, virtual servers which
-# require the Host: header will not be properly cached.
-#httpd_accel_uses_host_header off
-
-
-# MISCELLANEOUS
-# -----------------------------------------------------------------------------
-
-# TAG: dns_testnames
-# The DNS tests exit as soon as the first site is successfully looked up
-#
-# If you want to disable DNS tests, do not comment out or delete this
-# list. Instead use the -D command line option
-#
-#dns_testnames netscape.com internic.net nlanr.net microsoft.com
-
-# TAG: logfile_rotate
-# Specifies the number of logfile rotations to make when you
-# type 'squid -k rotate'. The default is 10, which will rotate
-# with extensions 0 through 9. Setting logfile_rotate to 0 will
-# disable the rotation, but the logfiles are still closed and
-# re-opened. This will enable you to rename the logfiles
-# yourself just before sending the rotate signal.
-#
-# Note, the 'squid -k rotate' command normally sends a USR1
-# signal to the running squid process. In certain situations
-# (e.g. on Linux with Async I/O), USR1 is used for other
-# purposes, so -k rotate uses another signal. It is best to get
-# in the habit of using 'squid -k rotate' instead of 'kill -USR1
-# <pid>'.
-#
-#logfile_rotate 10
-
-# TAG: append_domain
-# Appends local domain name to hostnames without any dots in
-# them. append_domain must begin with a period.
-#
-#append_domain .yourdomain.com
-
-# TAG: tcp_recv_bufsize (bytes)
-# Size of receive buffer to set for TCP sockets. Probably just
-# as easy to change your kernel's default. Set to zero to use
-# the default buffer size.
-#
-#tcp_recv_bufsize 0 bytes
-
-# TAG: err_html_text
-# HTML text to include in error messages. Make this a "mailto"
-# URL to your admin address, or maybe just a link to your
-# organizations Web page.
-#
-# To include this in your error messages, you must rewrite
-# the error template files (found in the "errors" directory).
-# Wherever you want the 'err_html_text' line to appear,
-# insert a %L tag in the error template file.
-#err_html_text
-
-# TAG: deny_info
-# Usage: deny_info err_page_name acl
-# Example: deny_info ERR_CUSTOM_ACCESS_DENIED bad_guys
-#
-# This can be used to return a ERR_ page for requests which
-# do not pass the 'http_access' rules. A single ACL will cause
-# the http_access check to fail. If a 'deny_info' line exists
-# for that ACL then Squid returns a corresponding error page.
-#
-# You may use ERR_ pages that come with Squid or create your own pages
-# and put them into the configured errors/ directory.
-
-# TAG: memory_pools on|off
-# If set, Squid will keep pools of allocated (but unused) memory
-# available for future use. If memory is a premium on your
-# system and you believe your malloc library outperforms Squid
-# routines, disable this.
-#
-#memory_pools on
-
-# TAG: memory_pools_limit (bytes)
-# Used only with memory_pools on:
-# memory_pools_limit 50 MB
-#
-# If set to a non-zero value, Squid will keep at most the specified
-# limit of allocated (but unused) memory in memory pools. All free()
-# requests that exceed this limit will be handled by your malloc
-# library. Squid does not pre-allocate any memory, just safe-keeps
-# objects that otherwise would be free()d. Thus, it is safe to set
-# memory_pools_limit to a reasonably high value even if your
-# configuration will use less memory.
-#
-# If not set (default) or set to zero, Squid will keep all memory it
-# can. That is, there will be no limit on the total amount of memory
-# used for safe-keeping.
-#
-# To disable memory allocation optimization, do not set
-# memory_pools_limit to 0. Set memory_pools to "off" instead.
-#
-# An overhead for maintaining memory pools is not taken into account
-# when the limit is checked. This overhead is close to four bytes per
-# object kept. However, pools may actually _save_ memory because of
-# reduced memory thrashing in your malloc library.
-
-# TAG: forwarded_for on|off
-# If set, Squid will include your system's IP address or name
-# in the HTTP requests it forwards. By default it looks like
-# this:
-#
-# X-Forwarded-For: 192.1.2.3
-#
-# If you disable this, it will appear as
-#
-# X-Forwarded-For: unknown
-#
-#forwarded_for on
-
-# TAG: log_icp_queries on|off
-# If set, ICP queries are logged to access.log. You may wish
-# do disable this if your ICP load is VERY high to speed things
-# up or to simplify log analysis.
-#
-#log_icp_queries on
-
-# TAG: icp_hit_stale on|off
-# If you want to return ICP_HIT for stale cache objects, set this
-# option to 'on'. If you have sibling relationships with caches
-# in other administrative domains, this should be 'off'. If you only
-# have sibling relationships with caches under your control, then
-# it is probably okay to set this to 'on'.
-#
-#icp_hit_stale off
-
-# TAG: minimum_direct_hops
-# If using the ICMP pinging stuff, do direct fetches for sites
-# which are no more than this many hops away.
-#
-#minimum_direct_hops 4
-
-# TAG: cachemgr_passwd
-# Specify passwords for cachemgr operations.
-#
-# Usage: cachemgr_passwd password action action ...
-#
-# Some valid actions are (see cache manager menu for a full list):
-# 5min
-# 60min
-# asndb
-# authenticator
-# cbdata
-# client_list
-# comm_incoming
-# config *
-# counters
-# delay
-# digest_stats
-# dns
-# events
-# filedescriptors
-# fqdncache
-# histograms
-# http_headers
-# info
-# io
-# ipcache
-# mem
-# menu
-# netdb
-# non_peers
-# objects
-# pconn
-# peer_select
-# redirector
-# refresh
-# server_list
-# shutdown *
-# store_digest
-# storedir
-# utilization
-# via_headers
-# vm_objects
-#
-# * Indicates actions which will not be performed without a
-# valid password, others can be performed if not listed here.
-#
-# To disable an action, set the password to "disable".
-# To allow performing an action without a password, set the
-# password to "none".
-#
-# Use the keyword "all" to set the same password for all actions.
-#
-#cachemgr_passwd secret shutdown
-#cachemgr_passwd lesssssssecret info stats/objects
-#cachemgr_passwd disable all
-
-# TAG: store_avg_object_size (kbytes)
-# Average object size, used to estimate number of objects your
-# cache can hold. See doc/Release-Notes-1.1.txt. The default is
-# 13 KB.
-#
-#store_avg_object_size 13 KB
-
-# TAG: store_objects_per_bucket
-# Target number of objects per bucket in the store hash table.
-# Lowering this value increases the total number of buckets and
-# also the storage maintenance rate. The default is 50.
-#
-#store_objects_per_bucket 50
-
-# TAG: client_db on|off
-# If you want to disable collecting per-client statistics, then
-# turn off client_db here.
-#
-#client_db on
-
-# TAG: netdb_low
-# TAG: netdb_high
-# The low and high water marks for the ICMP measurement
-# database. These are counts, not percents. The defaults are
-# 900 and 1000. When the high water mark is reached, database
-# entries will be deleted until the low mark is reached.
-#
-#netdb_low 900
-#netdb_high 1000
-
-# TAG: netdb_ping_period
-# The minimum period for measuring a site. There will be at
-# least this much delay between successive pings to the same
-# network. The default is five minutes.
-#
-#netdb_ping_period 5 minutes
-
-# TAG: query_icmp on|off
-# If you want to ask your peers to include ICMP data in their ICP
-# replies, enable this option.
-#
-# If your peer has configured Squid (during compilation) with
-# '--enable-icmp' then that peer will send ICMP pings to origin server
-# sites of the URLs it receives. If you enable this option then the
-# ICP replies from that peer will include the ICMP data (if available).
-# Then, when choosing a parent cache, Squid will choose the parent with
-# the minimal RTT to the origin server. When this happens, the
-# hierarchy field of the access.log will be
-# "CLOSEST_PARENT_MISS". This option is off by default.
-#
-#query_icmp off
-
-# TAG: test_reachability on|off
-# When this is 'on', ICP MISS replies will be ICP_MISS_NOFETCH
-# instead of ICP_MISS if the target host is NOT in the ICMP
-# database, or has a zero RTT.
-#
-#test_reachability off
-
-# TAG: buffered_logs on|off
-# Some log files (cache.log, useragent.log) are written with
-# stdio functions, and as such they can be buffered or
-# unbuffered. By default they will be unbuffered. Buffering them
-# can speed up the writing slightly (though you are unlikely to
-# need to worry).
-#buffered_logs off
-
-# TAG: reload_into_ims on|off
-# When you enable this option, client no-cache or ``reload''
-# requests will be changed to If-Modified-Since requests.
-# Doing this VIOLATES the HTTP standard. Enabling this
-# feature could make you liable for problems which it
-# causes.
-#
-# see also refresh_pattern for a more selective approach.
-#
-# This option may be disabled by using --disable-http-violations
-# with the configure script.
-#reload_into_ims off
-
-# TAG: always_direct
-# Usage: always_direct allow|deny [!]aclname ...
-#
-# Here you can use ACL elements to specify requests which should
-# ALWAYS be forwarded directly to origin servers. For example,
-# to always directly forward requests for local servers use
-# something like:
-#
-# acl local-servers dstdomain my.domain.net
-# always_direct allow local-servers
-#
-# To always forward FTP requests directly, use
-#
-# acl FTP proto FTP
-# always_direct allow FTP
-#
-# NOTE: There is a similar, but opposite option named
-# 'never_direct'. You need to be aware that "always_direct deny
-# foo" is NOT the same thing as "never_direct allow foo". You
-# may need to use a deny rule to exclude a more-specific case of
-# some other rule. Example:
-#
-# acl local-external dstdomain external.foo.net
-# acl local-servers dstdomain foo.net
-# always_direct deny local-external
-# always_direct allow local-servers
-#
-# This option replaces some v1.1 options such as local_domain
-# and local_ip.
-
-# TAG: never_direct
-# Usage: never_direct allow|deny [!]aclname ...
-#
-# never_direct is the opposite of always_direct. Please read
-# the description for always_direct if you have not already.
-#
-# With 'never_direct' you can use ACL elements to specify
-# requests which should NEVER be forwarded directly to origin
-# servers. For example, to force the use of a proxy for all
-# requests, except those in your local domain use something like:
-#
-# acl local-servers dstdomain foo.net
-# acl all src 0.0.0.0/0.0.0.0
-# never_direct deny local-servers
-# never_direct allow all
-#
-# or if squid is inside a firewall and there is local intranet
-# servers inside the firewall then use something like:
-#
-# acl local-intranet dstdomain foo.net
-# acl local-external dstdomain external.foo.net
-# always_direct deny local-external
-# always_direct allow local-intranet
-# never_direct allow all
-#
-# This option replaces some v1.1 options such as inside_firewall
-# and firewall_ip.
-
-# TAG: anonymize_headers
-# Usage: anonymize_headers allow|deny header_name ...
-#
-# This option replaces the old 'http_anonymizer' option with
-# something that is much more configurable. You may now
-# specify exactly which headers are to be allowed, or which
-# are to be removed from outgoing requests.
-#
-# There are two methods of using this option. You may either
-# allow specific headers (thus denying all others), or you
-# may deny specific headers (thus allowing all others).
-#
-# For example, to achieve the same behavior as the old
-# 'http_anonymizer standard' option, you should use:
-#
-# anonymize_headers deny From Referer Server
-# anonymize_headers deny User-Agent WWW-Authenticate Link
-#
-# Or, to reproduce the old 'http_anonymizer paranoid' feature
-# you should use:
-#
-# anonymize_headers allow Allow Authorization Cache-Control
-# anonymize_headers allow Content-Encoding Content-Length
-# anonymize_headers allow Content-Type Date Expires Host
-# anonymize_headers allow If-Modified-Since Last-Modified
-# anonymize_headers allow Location Pragma Accept
-# anonymize_headers allow Accept-Encoding Accept-Language
-# anonymize_headers allow Content-Language Mime-Version
-# anonymize_headers allow Retry-After Title Connection
-# anonymize_headers allow Proxy-Connection
-#
-# NOTE: You can not mix "allow" and "deny". All 'anonymize_headers'
-# lines must have the same second argument.
-#
-# By default, all headers are allowed (no anonymizing is
-# performed).
-#
-#anonymize_headers
-
-# TAG: fake_user_agent
-# If you filter the User-Agent header with 'anonymize_headers' it
-# may cause some Web servers to refuse your request. Use this to
-# fake one up. For example:
-#
-# fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
-# (credit to Paul Southworth pauls@etext.org for this one!)
-#
-#fake_user_agent none
-
-# TAG: icon_directory
-# Where the icons are stored. These are normally kept in
-# /etc/squid/icons
-
-# TAG: error_directory
-# If you wish to create your own versions of the default
-# (English) error files, either to customize them to suit your
-# language or company copy the template English files to another
-# directory and point this tag at them.
-
-# TAG: minimum_retry_timeout (seconds)
-# This specifies the minimum connect timeout, for when the
-# connect timeout is reduced to compensate for the availability
-# of multiple IP addresses.
-#
-# When a connection to a host is initiated, and that host has
-# several IP addresses, the default connection timeout is reduced
-# by dividing it by the number of addresses. So, a site with 15
-# addresses would then have a timeout of 8 seconds for each
-# address attempted. To avoid having the timeout reduced to the
-# point where even a working host would not have a chance to
-# respond, this setting is provided. The default, and the
-# minimum value, is five seconds, and the maximum value is sixty
-# seconds, or half of connect_timeout, whichever is greater and
-# less than connect_timeout.
-#
-#minimum_retry_timeout 5 seconds
-
-# TAG: maximum_single_addr_tries
-# This sets the maximum number of connection attempts for a
-# host that only has one address (for multiple-address hosts,
-# each address is tried once).
-#
-# The default value is three tries, the (not recommended)
-# maximum is 255 tries. A warning message will be generated
-# if it is set to a value greater than ten.
-#
-#maximum_single_addr_tries 3
-
-# TAG: snmp_port
-# Squid can now serve statistics and status information via SNMP.
-# By default it listens to port 3401 on the machine. If you don't
-# wish to use SNMP, set this to "0".
-#
-# NOTE: SNMP support requires use the --enable-snmp configure
-# command line option.
-#snmp_port 3401
-
-# TAG: snmp_access
-# Allowing or denying access to the SNMP port.
-#
-# All access to the agent is denied by default.
-# usage:
-#
-# snmp_access allow|deny [!]aclname ...
-#
-#Example:
-#snmp_access allow snmppublic localhost
-#snmp_access deny all
-
-# TAG: snmp_incoming_address
-# TAG: snmp_outgoing_address
-# Just like 'udp_incoming_address' above, but for the SNMP port.
-#
-# snmp_incoming_address is used for the SNMP socket receiving
-# messages from SNMP agents.
-# snmp_outgoing_address is used for SNMP packets returned to SNMP
-# agents.
-#
-# The default behavior is to not bind to any specific address.
-#
-# NOTE, snmp_incoming_address and snmp_outgoing_address can not have
-# the same value since they both use port 3130.
-#
-#snmp_incoming_address 0.0.0.0
-#snmp_outgoing_address 0.0.0.0
-
-# TAG: as_whois_server
-# WHOIS server to query for AS numbers. NOTE: AS numbers are
-# queried only when Squid starts up, not for every request.
-
-# TAG: wccp_router
-# Use this option to define your WCCP ``home'' router for
-# Squid. Setting the 'wccp_router' to 0.0.0.0 (the default)
-# disables WCCP.
-#wccp_router 0.0.0.0
-
-# TAG: wccp_version
-# According to some users, Cisco IOS 11.2 only supports WCCP
-# version 3. If you're using that version of IOS, change
-# this value to 3.
-#wccp_version 4
-
-# TAG: wccp_incoming_address
-# TAG: wccp_outgoing_address
-# wccp_incoming_address Use this option if you require WCCP
-# messages to be received on only one
-# interface. Do NOT use this option if
-# you're unsure how many interfaces you
-# have, or if you know you have only one
-# interface.
-#
-# wccp_outgoing_address Use this option if you require WCCP
-# messages to be sent out on only one
-# interface. Do NOT use this option if
-# you're unsure how many interfaces you
-# have, or if you know you have only one
-# interface.
-#
-# The default behavior is to not bind to any specific address.
-#
-# NOTE, wccp_incoming_address and wccp_outgoing_address can not have
-# the same value since they both use port 2048.
-#
-#wccp_incoming_address 0.0.0.0
-#wccp_outgoing_address 0.0.0.0
-
-
-# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
-# -----------------------------------------------------------------------------
-
-# TAG: delay_pools
-# This represents the number of delay pools to be used. For example,
-# if you have one class 2 delay pool and one class 3 delays pool, you
-# have a total of 2 delay pools.
-#
-# To enable this option, you must use --enable-delay-pools with the
-# configure script.
-#delay_pools 0
-
-# TAG: delay_class
-# This defines the class of each delay pool. There must be exactly one
-# delay_class line for each delay pool. For example, to define two
-# delay pools, one of class 2 and one of class 3, the settings above
-# and here would be:
-#
-#delay_pools 2 # 2 delay pools
-#delay_class 1 2 # pool 1 is a class 2 pool
-#delay_class 2 3 # pool 2 is a class 3 pool
-#
-# The delay pool classes are:
-#
-# class 1 Everything is limited by a single aggregate
-# bucket.
-#
-# class 2 Everything is limited by a single aggregate
-# bucket as well as an "individual" bucket chosen
-# from bits 25 through 32 of the IP address.
-#
-# class 3 Everything is limited by a single aggregate
-# bucket as well as a "network" bucket chosen
-# from bits 17 through 24 of the IP address and a
-# "individual" bucket chosen from bits 17 through
-# 32 of the IP address.
-#
-# NOTE: If an IP address is a.b.c.d
-# -> bits 25 through 32 are "d"
-# -> bits 17 through 24 are "c"
-# -> bits 17 through 32 are "c * 256 + d"
-
-# TAG: delay_access
-# This is used to determine which delay pool a request falls into.
-# The first matched delay pool is always used, i.e., if a request falls
-# into delay pool number one, no more delay are checked, otherwise the
-# rest are checked in order of their delay pool number until they have
-# all been checked. For example, if you want some_big_clients in delay
-# pool 1 and lotsa_little_clients in delay pool 2:
-#
-#delay_access 1 allow some_big_clients
-#delay_access 1 deny all
-#delay_access 2 allow lotsa_little_clients
-#delay_access 2 deny all
-
-# TAG: delay_parameters
-# This defines the parameters for a delay pool. Each delay pool has
-# a number of "buckets" associated with it, as explained in the
-# description of delay_class. For a class 1 delay pool, the syntax is:
-#
-#delay_parameters pool aggregate
-#
-# For a class 2 delay pool:
-#
-#delay_parameters pool aggregate individual
-#
-# For a class 3 delay pool:
-#
-#delay_parameters pool aggregate network individual
-#
-# The variables here are:
-#
-# pool a pool number - ie, a number between 1 and the
-# number specified in delay_pools as used in
-# delay_class lines.
-#
-# aggregate the "delay parameters" for the aggregate bucket
-# (class 1, 2, 3).
-#
-# individual the "delay parameters" for the individual
-# buckets (class 2, 3).
-#
-# network the "delay parameters" for the network buckets
-# (class 3).
-#
-# A pair of delay parameters is written restore/maximum, where restore is
-# the number of bytes (not bits - modem and network speeds are usually
-# quoted in bits) per second placed into the bucket, and maximum is the
-# maximum number of bytes which can be in the bucket at any time.
-#
-# For example, if delay pool number 1 is a class 2 delay pool as in the
-# above example, and is being used to strictly limit each host to 64kbps
-# (plus overheads), with no overall limit, the line is:
-#
-#delay_parameters 1 -1/-1 8000/8000
-#
-# Note that the figure -1 is used to represent "unlimited".
-#
-# And, if delay pool number 2 is a class 3 delay pool as in the above
-# example, and you want to limit it to a total of 256kbps (strict limit)
-# with each 8-bit network permitted 64kbps (strict limit) and each
-# individual host permitted 4800bps with a bucket maximum size of 64kb
-# to permit a decent web page to be downloaded at a decent speed
-# (if the network is not being limited due to overuse) but slow down
-# large downloads more significantly:
-#
-#delay_parameters 2 32000/32000 8000/8000 600/64000
-#
-# There must be one delay_parameters line for each delay pool.
-
-# TAG: delay_initial_bucket_level (percent, 0-100)
-# The initial bucket percentage is used to determine how much is put
-# in each bucket when squid starts, is reconfigured, or first notices
-# a host accessing it (in class 2 and class 3, individual hosts and
-# networks only have buckets associated with them once they have been
-# "seen" by squid).
-#
-#delay_initial_bucket_level 50
-
-# TAG: incoming_icp_average
-# TAG: incoming_http_average
-# TAG: min_icp_poll_cnt
-# TAG: min_http_poll_cnt
-# Heavy voodoo here. I can't even believe you are reading this.
-# Are you crazy? Don't even think about adjusting these unless
-# you understand the algorithms in comm_select.c first!
-#
-#incoming_icp_average 6
-#incoming_http_average 4
-#min_icp_poll_cnt 8
-#min_http_poll_cnt 8
-
-# TAG: max_open_disk_fds
-# TAG: offline_mode
-# Enable this option and Squid will never try to validate cached
-# objects.
-
-# TAG: uri_whitespace
-# What to do with requests that have whitespace characters in the
-# URI. Options:
-#
-# strip: The whitespace characters are stripped out of the URL.
-# This is the behavior recommended by RFC2616.
-# deny: The request is denied. The user receives an "Invalid
-# Request" message.
-# allow: The request is allowed and the URI is not changed. The
-# whitespace characters remain in the URI. Note the
-# whitespace is passed to redirector processes if they
-# are in use.
-# encode: The request is allowed and the whitespace characters are
-# encoded according to RFC1738. This could be considered
-# a violation of the HTTP/1.1
-# RFC because proxies are not allowed to rewrite URI's.
-# chop: The request is allowed and the URI is chopped at the
-# first whitespace. This might also be considered a
-# violation.
-#uri_whitespace strip
-
-# TAG: broken_posts
-# A list of ACL elements which, if matched, causes Squid to send
-# a extra CRLF pair after the body of a PUT/POST request.
-#
-# Some HTTP servers has broken implementations of PUT/POST,
-# and rely on a extra CRLF pair sent by some WWW clients.
-#
-# Quote from RFC 2068 section 4.1 on this matter:
-#
-# Note: certain buggy HTTP/1.0 client implementations generate an
-# extra CRLF's after a POST request. To restate what is explicitly
-# forbidden by the BNF, an HTTP/1.1 client must not preface or follow
-# a request with an extra CRLF.
-#
-#acl buggy_server url_regex ^http://....
-#broken_posts allow buggy_server
-
-# TAG: mcast_miss_addr
-# If you enable this option, every "cache miss" URL will
-# be sent out on the specified multicast address.
-#
-# Do not enable this option unless you are are absolutely
-# certain you understand what you are doing.
-
-# TAG: mcast_miss_ttl
-# This is the time-to-live value for packets multicasted
-# when multicasting off cache miss URLs is enabled. By
-# default this is set to 'site scope', i.e. 16.
-
-# TAG: mcast_miss_port
-# This is the port number to be used in conjunction with
-# 'mcast_miss_addr'.
-
-# TAG: mcast_miss_encode_key
-# The URLs that are sent in the multicast miss stream are
-# encrypted. This is the encryption key.
-
-# TAG: prefer_direct
-# By default, if the ICP, HTCP, Cache Digest, etc. techniques
-# do not yield a parent cache, Squid gives higher preference
-# to forwarding the request direct to origin servers, rather
-# than selecting a parent cache anyway.
-#
-# If you want Squid to give higher precedence to a parent
-# cache, instead of going direct, then turn this option off.
-#prefer_direct on
-
-# TAG: strip_query_terms
-# By default, Squid strips query terms from requested URLs before
-# logging. This protects your user's privacy.
-#strip_query_terms on
-
-# TAG: coredump_dir
-# By default Squid leaves core files in the first cache_dir
-# directory. If you set 'coredump_dir' to a directory
-# that exists, Squid will chdir() to that directory at startup
-# and coredump files will be left there.
-
-# TAG: redirector_bypass
-# When this is 'on', a request will not go through the
-# redirector if all redirectors are busy. If this is 'off'
-# and the redirector queue grows too large, Squid will exit
-# with a FATAL error and ask you to increase the number of
-# redirectors. You should only enable this if the redirectors
-# are not critical to your caching system. If you use
-# redirectors for access control, and you enable this option,
-# then users may have access to pages that they should not
-# be allowed to request.
-
-# TAG: ignore_unknown_nameservers
-# By default Squid checks that DNS responses are received
-# from the same IP addresses that they are sent to. If they
-# don't match, Squid ignores the response and writes a warning
-# message to cache.log. You can allow responses from unknown
-# nameservers by setting this option to 'off'.
-#ignore_unknown_nameservers on
-
-# TAG: digest_generation
-# This controls whether the server will generate a Cache Digest
-# of its contents. By default, Cache Digest generation is
-# enabled if Squid is compiled with USE_CACHE_DIGESTS defined.
-#digest_generation on
-
-# TAG: digest_bits_per_entry
-# This is the number of bits of the server's Cache Digest which
-# will be associated with the Digest entry for a given HTTP
-# Method and URL (public key) combination. The default is 5.
-#digest_bits_per_entry 5
-
-# TAG: digest_rebuild_period (seconds)
-# This is the number of seconds between Cache Digest rebuilds.
-# By default the server's Digest is rebuilt every hour.
-#digest_rebuild_period 1 hour
-
-# TAG: digest_rewrite_period (seconds)
-# This is the number of seconds between Cache Digest writes to
-# disk. By default the server's Digest is written to disk every
-# hour.
-#digest_rewrite_period 1 hour
-
-# TAG: digest_swapout_chunk_size (bytes)
-# This is the number of bytes of the Cache Digest to write to
-# disk at a time. It defaults to 4096 bytes (4KB), the Squid
-# default swap page.
-#digest_swapout_chunk_size 4096 bytes
-
-# TAG: digest_rebuild_chunk_percentage (percent, 0-100)
-# This is the percentage of the Cache Digest to be scanned at a
-# time. By default it is set to 10% of the Cache Digest.
-#digest_rebuild_chunk_percentage 10
-
-# TAG: chroot
-# Use this to have Squid do a chroot() while initializing. This
-# also causes Squid to fully drop root privileges after
-# initializing. This means, for example, that if you use a HTTP
-# port less than 1024 and try to reconfigure, you will get an
-# error.
-
-# TAG: client_persistent_connections
-# TAG: server_persistent_connections
-# Persistent connection support for clients and servers. By
-# default, Squid uses persistent connections (when allowed)
-# with its clients and servers. You can use these options to
-# disable persistent connections with clients and/or servers.
-#client_persistent_connections on
-#server_persistent_connections on
-
diff --git a/net-www/squid/files/squid.confd b/net-www/squid/files/squid.confd
index 66e6ec294470..2b66d32a0702 100644
--- a/net-www/squid/files/squid.confd
+++ b/net-www/squid/files/squid.confd
@@ -1,7 +1,7 @@
# Config file for /etc/init.d/squid
-# you may move these variables to your rc.conf file if you wish
SQUID_OPTS="-DYC"
-# default 1024, maximum 4096; tune up if a busy cache
-SQUID_MAXFD=1024
+# Max. number of filedescriptors to use. You can increase this on a busy
+# cache to a maximum of (currently) 4096 filedescriptors. Default is 1024.
+SQUID_MAXFD=1024
diff --git a/net-www/squid/files/squid.pam.new b/net-www/squid/files/squid.pam.new
new file mode 100644
index 000000000000..32d833633c68
--- /dev/null
+++ b/net-www/squid/files/squid.pam.new
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth required /lib/security/pam_stack.so service=system-auth
+auth required /lib/security/pam_nologin.so
+account required /lib/security/pam_stack.so service=system-auth
+password required /lib/security/pam_stack.so service=system-auth
+session required /lib/security/pam_stack.so service=system-auth
+session required /lib/security/pam_limits.so
diff --git a/net-www/squid/files/squid.rc5 b/net-www/squid/files/squid.rc5
deleted file mode 100644
index c996447d24c3..000000000000
--- a/net-www/squid/files/squid.rc5
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-#RCUPDATE:2 3 4:75:This line is required for script management
-
-source /etc/rc.d/config/functions
-
-SERVICE=squid
-opts="start stop restart"
-
-PIDFILE=/var/run/squid.pid
-EXE=/usr/bin/squid
-
-start() {
- local cachedir
- cachedir=`cat /etc/squid/squid.conf | grep '^cache_dir' | awk '{ print $3 }'`
- if [ ! -d ${cachedir}/00 ]
- then
- ebegin "Initializing squid cache"
- $EXE -z
- eend $? "Initialized cache." "Error initializing cache."
- fi
- ebegin "Starting $SERVICE"
- start-stop-daemon --start --quiet --exec $EXE -- -sYD
- eend $? "Started $SERVICE." "Error Starting $SERVICE."
-}
-
-stop() {
- ebegin "Stopping $SERVICE"
- start-stop-daemon --stop --quiet --exec $EXE
- eend $? "Stopped $SERVICE." "Error Stopping $SERVICE."
-}
-
-restart() {
-
- stop
- start
-}
-
-doservice ${@}
-
-
diff --git a/net-www/squid/files/squid.rc6 b/net-www/squid/files/squid.rc6
index cdb0fdac41e9..e69d363e9b73 100644
--- a/net-www/squid/files/squid.rc6
+++ b/net-www/squid/files/squid.rc6
@@ -1,37 +1,35 @@
#!/sbin/runscript
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/files/squid.rc6,v 1.4 2002/02/08 09:58:06 woodchip Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/files/squid.rc6,v 1.5 2002/03/21 01:23:36 woodchip Exp $
depend() {
need net
}
-maxfiledescriptors() {
+#
+# Try to increase the # of filedescriptors we can open.
+#
+maxfds() {
[ -n "$SQUID_MAXFD" ] || return
- [ -f /proc/sys/fs/file-max ] || return
+ [ -f /proc/sys/fs/file-max ] || return 0
[ $SQUID_MAXFD -le 4096 ] || SQUID_MAXFD=4096
global_file_max=`cat /proc/sys/fs/file-max`
minimal_file_max=$(($SQUID_MAXFD + 4096))
- if [ "$global_file_max" -lt $minimal_file_max ] ; then
+ if [ "$global_file_max" -lt $minimal_file_max ]
+ then
echo $minimal_file_max > /proc/sys/fs/file-max
fi
ulimit -n $SQUID_MAXFD
}
checkconfig() {
- if [ ! -e /etc/squid/squid.conf ] ; then
- eerror "You need an /etc/squid/squid.conf to run squid"
- eerror "There is a sample file in /usr/share/doc/squid"
- return 1
- fi
-
- maxfiledescriptors
-
+ maxfds
CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \
grep cache_dir | awk '{ print $3 }'`
- [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/spool/squid
- cd /var/spool/squid ; umask 027
+ [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/cache/squid
+ umask 027
+ cd /var/cache/squid
for x in $CACHE_SWAP ; do
if [ ! -d $x/00 ] ; then
einfo "Initializing cache directory: $x"
@@ -47,14 +45,42 @@ checkconfig() {
start() {
checkconfig || return 1
ebegin "Starting squid"
- start-stop-daemon --quiet --start --exec /usr/sbin/squid -- ${SQUID_OPTS}
+ start-stop-daemon --quiet --start --exec /usr/sbin/squid \
+ --pidfile /var/run/squid.pid -- ${SQUID_OPTS} < /dev/null
sleep 1
eend $?
}
stop() {
ebegin "Stopping squid"
- start-stop-daemon --stop --quiet --pidfile /var/run/squid.pid \
- --retry -0/5/-0/5/-0/10/-0/10/-9/10
- eend $?
+ PID=`cat /var/run/squid.pid 2>/dev/null`
+ start-stop-daemon --stop --quiet --exec /usr/sbin/squid \
+ --pidfile /var/run/squid.pid
+ #
+ # Now we have to wait until squid has _really_ stopped.
+ #
+ sleep 2
+ if test -n "$PID" && kill -0 $PID 2>/dev/null
+ then
+ einfon "Waiting ."
+ cnt=0
+ while kill -0 $PID 2>/dev/null
+ do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 60 ]
+ then
+ #
+ # Waited 120 seconds now. Fail.
+ #
+ eend 1 "Failed."
+ break
+ fi
+ sleep 2
+ echo -n "."
+ done
+ echo -n "done."
+ eend 0
+ else
+ eend 0
+ fi
}
diff --git a/net-www/squid/squid-2.3.4s-r3.ebuild b/net-www/squid/squid-2.3.4s-r3.ebuild
deleted file mode 100644
index 1fb6a28cbdb9..000000000000
--- a/net-www/squid/squid-2.3.4s-r3.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.3.4s-r3.ebuild,v 1.4 2001/05/30 18:24:34 achim Exp $
-
-P=squid-2.3.STABLE4
-
-A0=squid-2.3.stable4-ftp_icon_not_found.patch
-A1=squid-2.3.stable4-internal_dns_rcode_table_formatting.patch
-A2=squid-2.3.stable4-ipfw_configure.patch
-A3=squid-2.3.stable4-invalid_ip_acl_entry.patch
-A4=squid-2.3.stable4-accel_only_access.patch
-A5=squid-2.3.stable4-html_quoting.patch
-A6=squid-2.3.stable4-carp-assertion.patch
-
-S=${WORKDIR}/${P}
-DESCRIPTION="SQUID - Web Proxy Server"
-SRC_URI0="http://www.squid-cache.org/Versions/v2/2.3"
-SRC_URI="$SRC_URI0/${P}-src.tar.gz
- $SRC_URI0/bugs/$A0 $SRC_URI0/bugs/$A1 $SRC_URI0/bugs/$A2
- $SRC_URI0/bugs/$A3 $SRC_URI0/bugs/$A4 $SRC_URI0/bugs/$A5
- $SRC_URI0/bugs/$A6"
-
-HOMEPAGE="http://www.squid-cache.org/"
-
-RDEPEND="virtual/glibc
- >=sys-libs/pam-0.72
- ldap? ( >=net-nds/openldap-1.2.11 )"
-DEPEND="$RDEPEND sys-devel/perl"
-
-src_unpack() {
- unpack ${P}-src.tar.gz
- cd ${S}
- patch -p0 < ${DISTDIR}/${A0}
- patch -p0 < ${DISTDIR}/${A1}
- patch -p0 < ${DISTDIR}/${A2}
- patch -p0 < ${DISTDIR}/${A3}
- patch -p0 < ${DISTDIR}/${A4}
- patch -p0 < ${DISTDIR}/${A5}
-
-}
-
-src_compile() {
-
- LDFLAGS="$LDFLAGS -lresolv" try ./configure --host=${CHOST} \
- --prefix=/usr --sysconfdir=/etc/squid \
- --localstatedir=/var/state/squid \
- --libexecdir=/usr/lib/squid \
- --enable-useragent-log \
- --enable-async-io --enable-icmp
- try make
- cd ${S}/auth_modules/PAM
- try make
- cd ../SMB
- try make
- if [ "`use ldap`" ] ; then
- cd ../LDAP
- try make
- fi
- cd ../NCSA
- try make
-
-}
-
-src_install() {
-
-
- dodir /usr/{bin,lib/squid}
- dodir /etc/squid
- dodir /var/squid
- chown squid.daemon ${D}/var/squid
- try make install prefix=${D}/usr sysconfdir=${D}/etc/squid \
- localstatedir=${D}/var/state/squid libexecdir=${D}/usr/lib/squid
- into /usr
- cd auth_modules
- if [ "`use ldap`" ] ; then
- dobin LDAP/squid_ldap_auth
- fi
- dobin PAM/pam_auth SMB/smb_auth NCSA/ncsa_auth
- cd ../doc
- doman tree.3
- dodoc *.txt
- cd ..
- dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT COPYING CREDITS
- dodoc ChangeLog TODO
- cp ${FILESDIR}/squid.conf ${D}/etc/squid
- dodir /etc/rc.d/init.d
- cp ${FILESDIR}/squid ${D}/etc/rc.d/init.d
-# rm -r ${D}/var/squid
- dodir /var/log/squid
- dodir /var/cache/squid
- fowners squid.daemon /var/log/squid
- fowners squid.daemon /var/cache/squid
- fperms 755 /var/log/squid
- fperms 755 /var/cache/squid
-}
-
-pkg_config() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- einfo "Generating symlinks..."
- ${ROOT}/usr/sbin/rc-update add squid
-
-}
diff --git a/net-www/squid/squid-2.3.4s-r4.ebuild b/net-www/squid/squid-2.3.4s-r4.ebuild
deleted file mode 100644
index 33da7f3c10c5..000000000000
--- a/net-www/squid/squid-2.3.4s-r4.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# Modified by Parag Mehta <pm@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.3.4s-r4.ebuild,v 1.1 2001/07/11 09:53:05 pm Exp $
-
-P=squid-2.3.STABLE4
-
-A0=squid-2.3.stable4-ftp_icon_not_found.patch
-A1=squid-2.3.stable4-internal_dns_rcode_table_formatting.patch
-A2=squid-2.3.stable4-ipfw_configure.patch
-A3=squid-2.3.stable4-invalid_ip_acl_entry.patch
-A4=squid-2.3.stable4-accel_only_access.patch
-A5=squid-2.3.stable4-html_quoting.patch
-A6=squid-2.3.stable4-carp-assertion.patch
-
-S=${WORKDIR}/${P}
-DESCRIPTION="SQUID - Web Proxy Server"
-SRC_URI0="http://www.squid-cache.org/Versions/v2/2.3"
-SRC_URI="$SRC_URI0/${P}-src.tar.gz
- $SRC_URI0/bugs/$A0 $SRC_URI0/bugs/$A1 $SRC_URI0/bugs/$A2
- $SRC_URI0/bugs/$A3 $SRC_URI0/bugs/$A4 $SRC_URI0/bugs/$A5
- $SRC_URI0/bugs/$A6"
-
-HOMEPAGE="http://www.squid-cache.org/"
-
-RDEPEND="virtual/glibc
- >=sys-libs/pam-0.72
- ldap? ( >=net-nds/openldap-1.2.11 )"
-DEPEND="$RDEPEND sys-devel/perl"
-
-src_unpack() {
- unpack ${P}-src.tar.gz
- cd ${S}
- patch -p0 < ${DISTDIR}/${A0}
- patch -p0 < ${DISTDIR}/${A1}
- patch -p0 < ${DISTDIR}/${A2}
- patch -p0 < ${DISTDIR}/${A3}
- patch -p0 < ${DISTDIR}/${A4}
- patch -p0 < ${DISTDIR}/${A5}
-
-}
-
-src_compile() {
-
- LDFLAGS="$LDFLAGS -lresolv" try ./configure --host=${CHOST} \
- --prefix=/usr --sysconfdir=/etc/squid \
- --localstatedir=/var/state/squid \
- --libexecdir=/usr/lib/squid \
- --enable-useragent-log \
- --enable-async-io --enable-icmp \
- --enable-ipf-transparent --enable-cachemgr-hostname=${CHOST} \
- --enable-arp-acl
- try make
- cd ${S}/auth_modules/PAM
- try make
- cd ../SMB
- try make
- if [ "`use ldap`" ] ; then
- cd ../LDAP
- try make
- fi
- cd ../NCSA
- try make
-
-}
-
-src_install() {
-
-
- dodir /usr/{bin,lib/squid}
- dodir /etc/squid
- dodir /var/squid
- chown squid.daemon ${D}/var/squid
- try make install prefix=${D}/usr sysconfdir=${D}/etc/squid \
- localstatedir=${D}/var/state/squid libexecdir=${D}/usr/lib/squid
- into /usr
- cd auth_modules
- if [ "`use ldap`" ] ; then
- dobin LDAP/squid_ldap_auth
- fi
- dobin PAM/pam_auth SMB/smb_auth NCSA/ncsa_auth
- cd ../doc
- doman tree.3
- dodoc *.txt
- cd ..
- dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT COPYING CREDITS
- dodoc ChangeLog TODO
- cp ${FILESDIR}/squid.conf ${D}/etc/squid
- dodir /etc/rc.d/init.d
- cp ${FILESDIR}/squid ${D}/etc/rc.d/init.d
-# rm -r ${D}/var/squid
- dodir /var/log/squid
- dodir /var/cache/squid
- fowners squid.daemon /var/log/squid
- fowners squid.daemon /var/cache/squid
- fperms 755 /var/log/squid
- fperms 755 /var/cache/squid
-}
-
-pkg_config() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- einfo "Generating symlinks..."
- ${ROOT}/usr/sbin/rc-update add squid
-
-}
diff --git a/net-www/squid/squid-2.4.2s-r6.ebuild b/net-www/squid/squid-2.4.2s-r6.ebuild
deleted file mode 100644
index 3a30884fc2ad..000000000000
--- a/net-www/squid/squid-2.4.2s-r6.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Donny Davies <woodchip@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.4.2s-r6.ebuild,v 1.3 2001/12/23 23:25:19 azarah Exp $
-
-DESCRIPTION="A caching web proxy, with advanced features"
-HOMEPAGE="http://www.squid-cache.org/"
-
-P=squid-2.4.STABLE2
-S=${WORKDIR}/${P}
-SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${P}-src.tar.gz
- ftp://sunsite.auc.dk/pub/infosystems/squid/squid-2/STABLE/${P}-src.tar.gz"
-
-RDEPEND="virtual/glibc
- ldap? ( >=net-nds/openldap-1.2.11 )
- pam? ( >=sys-libs/pam-0.72 )"
-DEPEND="$RDEPEND sys-devel/perl"
-
-
-src_unpack() {
-
- unpack ${A} ; cd ${S}
-
- # lots of nice patches, thanks debian ;)
- patch -p1 < ${FILESDIR}/squid-2.4.2s-debian.diff || die
- # gentoo patches: cachedir/logfile/error/icon locs, user/group
- patch -p1 < ${FILESDIR}/squid-2.4.2s-gentoo.diff || die
-}
-
-src_compile() {
-
- local myconf mymodules="getpwnam,YP,NCSA,SMB"
- use pam && mymodules="PAM,${mymodules}"
- use ldap && mymodules="LDAP,${mymodules}"
- use snmp && myconf="--enable-snmp"
-
- ./configure \
- --prefix=/ \
- --bindir=/usr/sbin \
- --exec-prefix=/usr \
- --localstatedir=/var \
- --sysconfdir=/etc/squid \
- --libexecdir=/usr/lib/squid \
- --enable-auth-modules=${mymodules} \
- --enable-storeio="ufs,diskd,coss,aufs,null" \
- --enable-removal-policies="lru,heap" \
- --enable-linux-netfilter \
- --disable-ident-lookups \
- --enable-useragent-log \
- --enable-delay-pools \
- --enable-referer-log \
- --enable-truncate \
- --enable-arp-acl \
- --with-pthreads \
- --enable-htcp \
- --enable-carp \
- --enable-icmp \
- --host=${CHOST} ${myconf} || die
-
- make || die "compile problem :("
-}
-
-src_install() {
-
- make \
- prefix=${D}/usr \
- bindir=${D}/usr/sbin \
- localstatedir=${D}/var \
- sysconfdir=${D}/etc/squid \
- libexecdir=${D}/usr/lib/squid \
- install || die
-
- make -C src install-pinger libexecdir=${D}/usr/lib/squid || die
-
- # We need to do this after install, else it gets removed again
- dodir /var/log /var/spool
- diropts -m 770 -o root -g squid ; dodir /var/log/squid
- diropts -m 770 -o root -g squid ; dodir /var/spool/squid
-
-
- # some cleanup action
- mv ${D}/usr/sbin/*_auth* ${D}/usr/lib/squid
- mv ${D}/etc/squid/errors ${D}/usr/lib/squid
-
- # pinger needs root to bind to privelaged ports
- chown root.squid ${D}/usr/lib/squid/pinger
- chmod 4750 ${D}/usr/lib/squid/pinger
- # pam_auth needs root to authenticate everybody. i think the others
- # do too so just do them all now. keep an eye on these things..
- chown root.squid ${D}/usr/lib/squid/*_auth*
- chmod 4750 ${D}/usr/lib/squid/*_auth*
-
- dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT
- dodoc COPYING CREDITS ChangeLog TODO
- newdoc auth_modules/SMB/README SMB.auth.readme
- newdoc auth_modules/LDAP/README LDAP.auth.readme
- doman auth_modules/LDAP/*.8 doc/tree.3
- docinto txt ; dodoc doc/*.txt
-
- insinto /etc/pam.d ; newins ${FILESDIR}/squid.pam squid
- exeinto /etc/init.d ; newexe ${FILESDIR}/squid.rc6 squid
- insinto /etc/conf.d ; newins ${FILESDIR}/squid.confd squid
-}
diff --git a/net-www/squid/squid-2.4.2s.ebuild b/net-www/squid/squid-2.4.2s.ebuild
deleted file mode 100644
index 1a00042aecfc..000000000000
--- a/net-www/squid/squid-2.4.2s.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Donny Davies <woodchip@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.4.2s.ebuild,v 1.1 2001/11/01 19:23:29 woodchip Exp $
-
-DESCRIPTION="A caching web proxy, with advanced features"
-HOMEPAGE="http://www.squid-cache.org/"
-
-P=squid-2.4.STABLE2
-S=${WORKDIR}/${P}
-SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${P}-src.tar.gz
- ftp://sunsite.auc.dk/pub/infosystems/squid/squid-2/STABLE/${P}-src.tar.gz"
-
-RDEPEND="virtual/glibc
- ldap? ( >=net-nds/openldap-1.2.11 )
- pam? ( >=sys-libs/pam-0.72 )"
-DEPEND="$RDEPEND sys-devel/perl"
-
-src_unpack() {
- unpack ${A} ; cd ${S}
-
- # lots of nice patches, thanks debian ;)
- patch -p1 < ${FILESDIR}/squid-2.4.2s-debian.diff || die
- # gentoo patches: cachedir/logfile/error/icon locs, user/group
- patch -p1 < ${FILESDIR}/squid-2.4.2s-gentoo.diff || die
-}
-
-src_compile() {
- local myconf mymodules="getpwnam,YP,NCSA,SMB"
- use pam && mymodules="PAM,${mymodules}"
- use ldap && mymodules="LDAP,${mymodules}"
- use snmp && myconf="--enable-snmp"
-
- ./configure \
- --prefix=/ \
- --bindir=/usr/sbin \
- --exec-prefix=/usr \
- --localstatedir=/var \
- --sysconfdir=/etc/squid \
- --libexecdir=/usr/lib/squid \
- --enable-auth-modules=${mymodules} \
- --enable-storeio="ufs,diskd,coss,aufs,null" \
- --enable-removal-policies="lru,heap" \
- --enable-linux-netfilter \
- --disable-ident-lookups \
- --enable-useragent-log \
- --enable-delay-pools \
- --enable-referer-log \
- --enable-truncate \
- --enable-arp-acl \
- --with-pthreads \
- --enable-htcp \
- --enable-carp \
- --enable-icmp \
- --host=${CHOST} ${myconf} || die
-
- make || die "compile problem :("
-}
-
-src_install() {
- dodir /var/log /var/spool
- diropts -m 770 -o root -g squid ; dodir /var/log/squid
- diropts -m 770 -o root -g squid ; dodir /var/spool/squid
-
- make \
- prefix=${D}/usr \
- bindir=${D}/usr/sbin \
- localstatedir=${D}/var \
- sysconfdir=${D}/etc/squid \
- libexecdir=${D}/usr/lib/squid \
- install || die
-
- make -C src install-pinger libexecdir=${D}/usr/lib/squid || die
-
- # some cleanup action
- mv ${D}/usr/sbin/*_auth* ${D}/usr/lib/squid
- mv ${D}/etc/squid/errors ${D}/usr/lib/squid
-
- # pinger needs root to bind to privelaged ports
- chown root.squid ${D}/usr/lib/squid/pinger
- chmod 4750 ${D}/usr/lib/squid/pinger
- # pam_auth needs root to authenticate everybody. i think the others
- # do too so just do them all now. keep an eye on these things..
- chown root.squid ${D}/usr/lib/squid/*_auth*
- chmod 4750 ${D}/usr/lib/squid/*_auth*
-
- dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT
- dodoc COPYING CREDITS ChangeLog TODO
- newdoc auth_modules/SMB/README SMB.auth.readme
- newdoc auth_modules/LDAP/README LDAP.auth.readme
- doman auth_modules/LDAP/*.8 doc/tree.3
- docinto txt ; dodoc doc/*.txt
-
- insinto /etc/pam.d ; newins ${FILESDIR}/squid.pam squid
- exeinto /etc/rc.d/init.d ; newexe ${FILESDIR}/squid.rc5 squid
-}
diff --git a/net-www/squid/squid-2.4.6.ebuild b/net-www/squid/squid-2.4.6.ebuild
new file mode 100644
index 000000000000..3654b5b92800
--- /dev/null
+++ b/net-www/squid/squid-2.4.6.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.4.6.ebuild,v 1.1 2002/03/21 01:23:36 woodchip Exp $
+
+# this could be cleaner..
+MY_P=${PN}-2.4.STABLE6
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="A caching web proxy, with advanced features"
+SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${MY_P}-src.tar.gz
+ ftp://sunsite.auc.dk/pub/infosystems/squid/squid-2/STABLE/${MY_P}-src.tar.gz"
+HOMEPAGE="http://www.squid-cache.org/"
+
+RDEPEND="virtual/glibc pam? ( >=sys-libs/pam-0.72 ) ldap? ( >=net-nds/openldap-2 )"
+DEPEND="${RDEPEND} sys-devel/perl"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ # see the tops of these patches for details..
+ patch -p1 < ${FILESDIR}/${P}-debian.diff || die
+ patch -p1 < ${FILESDIR}/${P}-gentoo.diff || die
+ if [ -z "$DEBUG" ]
+ then
+ mv configure.in configure.in.orig
+ sed -e 's%LDFLAGS="-g"%LDFLAGS=""%' configure.in.orig > configure.in
+ autoconf || die
+ fi
+}
+
+src_compile() {
+ local myconf mymodules
+ mymodules="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM"
+ use ldap && mymodules="LDAP,${mymodules}"
+ use pam && mymodules="PAM,${mymodules}"
+ use snmp && myconf="--enable-snmp"
+
+ ./configure \
+ --prefix=/usr \
+ --bindir=/usr/sbin \
+ --exec-prefix=/usr \
+ --sbindir=/usr/sbin \
+ --localstatedir=/var \
+ --sysconfdir=/etc/squid \
+ --libexecdir=/usr/lib/squid \
+ --enable-storeio="ufs,diskd,coss,aufs,null" \
+ --enable-removal-policies="lru,heap" \
+ --enable-auth-modules=${mymodules} \
+ --enable-linux-netfilter \
+ --disable-ident-lookups \
+ --enable-useragent-log \
+ --enable-cache-digests \
+ --enable-delay-pools \
+ --enable-referer-log \
+ --enable-async-io \
+ --enable-truncate \
+ --enable-arp-acl \
+ --with-pthreads \
+ --enable-htcp \
+ --enable-carp \
+ --enable-poll \
+ --host=${CHOST} ${myconf} || die "bad ./configure"
+ #--enable-icmp
+
+ mv include/autoconf.h include/autoconf.h.orig
+ sed -e "s:^#define SQUID_MAXFD.*:#define SQUID_MAXFD 4096:" \
+ include/autoconf.h.orig > include/autoconf.h
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ make \
+ prefix=${D}/usr \
+ bindir=${D}/usr/sbin \
+ localstatedir=${D}/var \
+ sysconfdir=${D}/etc/squid \
+ libexecdir=${D}/usr/lib/squid \
+ install || die
+
+ #make -C src install-pinger libexecdir=${D}/usr/lib/squid || die
+ #chown root.squid ${D}/usr/lib/squid/pinger
+ #chmod 4750 ${D}/usr/lib/squid/pinger
+
+ mv ${D}/usr/sbin/{*_auth*,Run*} ${D}/usr/lib/squid
+ chown root.squid ${D}/usr/lib/squid/pam_auth
+ chmod 2750 ${D}/usr/lib/squid/pam_auth
+
+ rm -rf ${D}/etc/squid/errors ${D}/var/logs
+ cd errors
+ dodir /usr/lib/squid/errors
+ for i in *
+ do
+ if [ -d $i ]
+ then
+ insinto /usr/lib/squid/errors/$i
+ doins $i/*
+ fi
+ done
+ cd ${S}
+ dosym /usr/lib/squid/errors/English /etc/squid/errors
+
+ dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT
+ dodoc COPYING CREDITS ChangeLog TODO
+ newdoc auth_modules/SMB/README SMB.auth.readme
+ newdoc auth_modules/LDAP/README LDAP.auth.readme
+ doman auth_modules/LDAP/*.8 doc/tree.3
+ docinto txt
+ dodoc doc/*.txt
+
+ insinto /etc/pam.d ; newins ${FILESDIR}/squid.pam squid
+ exeinto /etc/init.d ; newexe ${FILESDIR}/squid.rc6 squid
+ insinto /etc/conf.d ; newins ${FILESDIR}/squid.confd squid
+}
+
+pkg_postinst() {
+ # Here since syslog logging is enabled by default. Also helpful
+ # if you had previously installed but never _ran_ it.
+ install -m0755 -o squid -g squid -d ${ROOT}/var/cache/squid
+ install -m0755 -o squid -g squid -d ${ROOT}/var/log/squid
+}