summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-www/squid/ChangeLog61
-rw-r--r--net-www/squid/files/digest-squid-2.4.6-r11
-rw-r--r--net-www/squid/files/digest-squid-2.5.11
-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-2.5.1-gentoo.diff332
-rw-r--r--net-www/squid/squid-2.4.6-r1.ebuild124
-rw-r--r--net-www/squid/squid-2.5.1.ebuild129
8 files changed, 484 insertions, 617 deletions
diff --git a/net-www/squid/ChangeLog b/net-www/squid/ChangeLog
index 97adc7152c9e..8da575a909dd 100644
--- a/net-www/squid/ChangeLog
+++ b/net-www/squid/ChangeLog
@@ -1,44 +1,38 @@
# 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.7 2002/09/15 01:26:51 blizzy Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/ChangeLog,v 1.8 2002/11/07 12:23:56 woodchip Exp $
- 15 Sep 2002; Maik Schreiber <blizzy@gentoo.org> files/squid.rc6: Removed
+*squid-2.5.1 (07 Nov 2002)
+
+ 07 Sep 2002; Donny Davies <woodchip@gentoo.org> : Chase latest release.
+ Major patch cleanup. Added USE ssl and sasl support. Fixed KEYWORDS.
+ Big authentication and helper modules reorganization. Make dealing with
+ the lame archive versioning scheme easier. Some general cleanups.
+
+ 15 Sep 2002; Maik Schreiber <blizzy@gentoo.org> files/squid.rc6 : Removed
hard dependency on /var/cache/squid.
*squid-2.4.7 (12 Jul 2002)
- 12 Jul 2002; Bruce A. Locke <blocke@shivan.org> :
-
- Version bump and added KEYWORDS
+ 12 Jul 2002; Bruce A. Locke <blocke@shivan.org> : Version bump and added KEYWORDS.
*squid-2.4.6-r1 (4 May 2002)
- 4 May 2002; Donny Davies <woodchip@gentoo.org> :
-
- Added LICENSE, SLOT, $Headers, pam_stack aware pam.d/ file.
+ 4 May 2002; Donny Davies <woodchip@gentoo.org> : Added LICENSE, SLOT, $Headers,
+ pam_stack aware pam.d/ file.
*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 :)
-
+ 20 Mar 2002; Donny Davies <woodchip@gentoo.org> : 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
@@ -46,16 +40,5 @@
deployment.
8 Feb 2002; Donny Davies <woodchip@gentoo.org> files/squid.rc6 :
-
Squid can often take a long time to shutdown. Tried to make things a little more
friendly in that situation.
-
-*squid-2.4.2s-r6 (1 Feb 2002)
-
- 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
-
- Added initial ChangeLog which should be updated whenever the package is
- updated in any way. This changelog is targetted to users. This means that the
- comments should well explained and written in clean English. The details about
- writing correct changelogs are explained in the skel.ChangeLog file which you
- can find in the root directory of the portage repository.
diff --git a/net-www/squid/files/digest-squid-2.4.6-r1 b/net-www/squid/files/digest-squid-2.4.6-r1
deleted file mode 100644
index 26869494cb0b..000000000000
--- a/net-www/squid/files/digest-squid-2.4.6-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 103fe9d03aca06f89218740f29730527 squid-2.4.STABLE6-src.tar.gz 1081327
diff --git a/net-www/squid/files/digest-squid-2.5.1 b/net-www/squid/files/digest-squid-2.5.1
new file mode 100644
index 000000000000..71ee1aa5cce7
--- /dev/null
+++ b/net-www/squid/files/digest-squid-2.5.1
@@ -0,0 +1 @@
+MD5 c83e3f4f0313529a2bc4b5dd6f651544 squid-2.5.STABLE1.tar.bz2 1006600
diff --git a/net-www/squid/files/squid-2.4.6-debian.diff b/net-www/squid/files/squid-2.4.6-debian.diff
deleted file mode 100644
index b6ae92586746..000000000000
--- a/net-www/squid/files/squid-2.4.6-debian.diff
+++ /dev/null
@@ -1,413 +0,0 @@
-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
deleted file mode 100644
index c24a27016174..000000000000
--- a/net-www/squid/files/squid-2.4.6-gentoo.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-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-2.5.1-gentoo.diff b/net-www/squid/files/squid-2.5.1-gentoo.diff
new file mode 100644
index 000000000000..1e81e5113d27
--- /dev/null
+++ b/net-www/squid/files/squid-2.5.1-gentoo.diff
@@ -0,0 +1,332 @@
+diff -uNr squid-2.5.STABLE1.orig/errors/Makefile.in squid-2.5.STABLE1/errors/Makefile.in
+--- squid-2.5.STABLE1.orig/errors/Makefile.in 2002-07-12 04:38:03.000000000 -0400
++++ squid-2.5.STABLE1/errors/Makefile.in 2002-11-07 01:37:34.000000000 -0500
+@@ -119,7 +119,7 @@
+ install_sh = @install_sh@
+ makesnmplib = @makesnmplib@
+
+-errordir = $(datadir)/errors
++errordir = $(libexecdir)/errors
+
+ DEFAULT_ERROR_DIR = $(errordir)
+
+diff -uNr squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/Makefile.in squid-2.5.STABLE1/helpers/basic_auth/SMB/Makefile.in
+--- squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/Makefile.in 2002-08-11 21:17:26.000000000 -0400
++++ squid-2.5.STABLE1/helpers/basic_auth/SMB/Makefile.in 2002-11-07 01:37:34.000000000 -0500
+@@ -129,7 +129,7 @@
+ makesnmplib = @makesnmplib@
+
+ SMB_AUTH_HELPER = smb_auth.sh
+-SAMBAPREFIX = /usr/local/samba
++SAMBAPREFIX = /usr
+ SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER)
+
+ libexec_SCRIPTS = $(SMB_AUTH_HELPER)
+diff -uNr squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/smb_auth.sh squid-2.5.STABLE1/helpers/basic_auth/SMB/smb_auth.sh
+--- squid-2.5.STABLE1.orig/helpers/basic_auth/SMB/smb_auth.sh 2001-01-07 18:36:46.000000000 -0500
++++ squid-2.5.STABLE1/helpers/basic_auth/SMB/smb_auth.sh 2002-11-07 01:37:34.000000000 -0500
+@@ -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
+
+diff -uNr squid-2.5.STABLE1.orig/icons/Makefile.in squid-2.5.STABLE1/icons/Makefile.in
+--- squid-2.5.STABLE1.orig/icons/Makefile.in 2002-07-12 04:38:22.000000000 -0400
++++ squid-2.5.STABLE1/icons/Makefile.in 2002-11-07 01:37:34.000000000 -0500
+@@ -147,7 +147,7 @@
+ anthony-xpm.gif
+
+
+-icondir = $(datadir)/icons
++icondir = $(libexecdir)/icons
+ icon_DATA = $(ICON1) $(ICON2)
+ EXTRA_DIST = $(ICON1) $(ICON2) icons.shar
+ DISTCLEANFILES = $(ICON1) $(ICON2)
+diff -uNr squid-2.5.STABLE1.orig/src/Makefile.in squid-2.5.STABLE1/src/Makefile.in
+--- squid-2.5.STABLE1.orig/src/Makefile.in 2002-07-12 11:10:04.000000000 -0400
++++ squid-2.5.STABLE1/src/Makefile.in 2002-11-07 01:40:51.000000000 -0500
+@@ -376,18 +376,18 @@
+ DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
+ DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
+ DEFAULT_DNSSERVER = $(libexecdir)/@OPT_DNSSERVER_EXE@
+-DEFAULT_LOG_PREFIX = $(localstatedir)/logs
+-DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
+-DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
+-DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
+-DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
+-DEFAULT_SWAP_DIR = $(localstatedir)/cache
++DEFAULT_LOG_PREFIX = $(localstatedir)/log
++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)/@OPT_PINGER_EXE@
+ DEFAULT_UNLINKD = $(libexecdir)/$(UNLINKD_EXE)
+ DEFAULT_DISKD = $(libexecdir)/@OPT_DISKD_EXE@
+-DEFAULT_ICON_DIR = $(datadir)/icons
+-DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
+-DEFAULT_MIB_PATH = $(datadir)/mib.txt
++DEFAULT_ICON_DIR = $(libexecdir)/icons
++DEFAULT_ERROR_DIR = $(sysconfdir)/errors
++DEFAULT_MIB_PATH = $(libexecdir)/mib.txt
+
+ DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
+
+@@ -819,12 +819,12 @@
+ uninstall-info-am:
+ install-dataDATA: $(data_DATA)
+ @$(NORMAL_INSTALL)
+- $(mkinstalldirs) $(DESTDIR)$(datadir)
++ $(mkinstalldirs) $(DESTDIR)$(libexecdir)
+ @list='$(data_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f"; \
+- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f; \
++ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
++ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
+ done
+
+ uninstall-dataDATA:
+diff -uNr squid-2.5.STABLE1.orig/src/cf.data.pre squid-2.5.STABLE1/src/cf.data.pre
+--- squid-2.5.STABLE1.orig/src/cf.data.pre 2002-09-04 09:35:01.000000000 -0400
++++ squid-2.5.STABLE1/src/cf.data.pre 2002-11-07 01:37:34.000000000 -0500
+@@ -156,12 +156,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 to
++ 4827. By default it is set to "0" (disabled).
+ DOC_END
+
+
+@@ -2019,6 +2019,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
+@@ -2052,6 +2054,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
+@@ -2070,6 +2075,9 @@
+ #acl our_networks src 192.168.1.0/24 192.168.2.0/24
+ #http_access allow our_networks
+
++# Allow the localhost to have access by default
++http_access allow localhost
++
+ # And finally deny all other access to this proxy
+ http_access deny all
+ NOCOMMENT_END
+@@ -2286,7 +2294,7 @@
+
+ NAME: cache_mgr
+ TYPE: string
+-DEFAULT: webmaster
++DEFAULT: root
+ LOC: Config.adminEmail
+ DOC_START
+ Email-address of local cache manager who will receive
+@@ -2296,19 +2304,19 @@
+
+ NAME: cache_effective_user
+ TYPE: string
+-DEFAULT: nobody
++DEFAULT: squid
+ LOC: Config.effectiveUser
+ DOC_NONE
+
+ NAME: cache_effective_group
+ TYPE: string
+-DEFAULT: none
++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 the default group of nobody.
++ UID/GID to the UID/GID specified below. The default is setup
++ to use UID squid and GID squid.
+
+ If Squid is not started as root, the default is to keep the
+ current UID/GID, and only the GID can be changed to any of
+@@ -3060,7 +3068,11 @@
+ 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.
++ directory where the error files are read from.
++ /usr/lib/squid/errors contains sets of error files
++ in different languages. The default error directory
++ is /etc/squid/errors, which is a link to one of these
++ error sets.
+ DOC_END
+
+ NAME: minimum_retry_timeout
+@@ -3102,12 +3114,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.
+ DOC_END
+
+ NAME: snmp_access
+diff -uNr squid-2.5.STABLE1.orig/src/debug.c squid-2.5.STABLE1/src/debug.c
+--- squid-2.5.STABLE1.orig/src/debug.c 2001-12-17 13:01:54.000000000 -0500
++++ squid-2.5.STABLE1/src/debug.c 2002-11-07 01:37:34.000000000 -0500
+@@ -200,9 +200,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 -uNr squid-2.5.STABLE1.orig/src/defines.h squid-2.5.STABLE1/src/defines.h
+--- squid-2.5.STABLE1.orig/src/defines.h 2002-08-08 16:17:39.000000000 -0400
++++ squid-2.5.STABLE1/src/defines.h 2002-11-07 01:37:34.000000000 -0500
+@@ -219,7 +219,7 @@
+
+ /* were to look for errors if config path fails */
+ #ifndef DEFAULT_SQUID_ERROR_DIR
+-#define DEFAULT_SQUID_ERROR_DIR "/usr/local/squid/etc/errors"
++#define DEFAULT_SQUID_ERROR_DIR "/usr/lib/squid/errors/English"
+ #endif
+
+ /* gb_type operations */
+diff -uNr squid-2.5.STABLE1.orig/src/main.c squid-2.5.STABLE1/src/main.c
+--- squid-2.5.STABLE1.orig/src/main.c 2002-07-14 13:20:49.000000000 -0400
++++ squid-2.5.STABLE1/src/main.c 2002-11-07 01:37:34.000000000 -0500
+@@ -326,6 +326,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)
+ {
+@@ -351,6 +366,7 @@
+ redirectShutdown();
+ authenticateShutdown();
+ externalAclShutdown();
++ unlinkdClose();
+ storeDirCloseSwapLogs();
+ errorClean();
+ enter_suid(); /* root to read config file */
+@@ -373,6 +389,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)
+@@ -516,7 +535,7 @@
+
+ if (!configured_once) {
+ #if USE_UNLINKD
+- unlinkdInit();
++ if (needUnlinkd()) unlinkdInit();
+ #endif
+ urlInitialize();
+ cachemgrInit();
+@@ -853,7 +872,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)
+@@ -888,14 +907,14 @@
+ mainStartScript(argv[0]);
+ if ((pid = fork()) == 0) {
+ /* child */
+- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ prog = xstrdup(argv[0]);
+ argv[0] = xstrdup("(squid)");
+ execvp(prog, argv);
+ syslog(LOG_ALERT, "execvp failed: %s", xstrerror());
+ }
+ /* parent */
+- openlog(appname, LOG_PID | LOG_NDELAY | LOG_CONS, LOG_LOCAL4);
++ openlog(appname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ syslog(LOG_NOTICE, "Squid Parent: child process %d started", pid);
+ time(&start);
+ squid_signal(SIGINT, SIG_IGN, SA_RESTART);
+diff -uNr squid-2.5.STABLE1.orig/src/url.c squid-2.5.STABLE1/src/url.c
+--- squid-2.5.STABLE1.orig/src/url.c 2002-09-12 01:21:00.000000000 -0400
++++ squid-2.5.STABLE1/src/url.c 2002-11-07 01:37:34.000000000 -0500
+@@ -314,7 +314,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 < 1 || port > 65535) {
+ debug(23, 3) ("urlParse: Invalid port '%d'\n", port);
diff --git a/net-www/squid/squid-2.4.6-r1.ebuild b/net-www/squid/squid-2.4.6-r1.ebuild
deleted file mode 100644
index 1085f8f0965f..000000000000
--- a/net-www/squid/squid-2.4.6-r1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.4.6-r1.ebuild,v 1.4 2002/10/05 05:39:24 drobbins Exp $
-
-IUSE="snmp pam ldap"
-
-# 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"
-LICENSE="GPL-2"
-KEYWORDS="*"
-SLOT="0"
-
-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() {
- # This helps if you had it 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
-}
diff --git a/net-www/squid/squid-2.5.1.ebuild b/net-www/squid/squid-2.5.1.ebuild
new file mode 100644
index 000000000000..aefc834ccabf
--- /dev/null
+++ b/net-www/squid/squid-2.5.1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/squid/squid-2.5.1.ebuild,v 1.1 2002/11/07 12:23:56 woodchip Exp $
+
+IUSE="pam ldap ssl sasl snmp"
+
+#lame archive versioning scheme..
+S_PV=${PV%.*}
+S_PL=${PV##*.}
+S_PP=${PN}-${S_PV}.STABLE${S_PL}
+
+DESCRIPTION="A caching web proxy, with advanced features"
+HOMEPAGE="http://www.squid-cache.org/"
+
+S=${WORKDIR}/${S_PP}
+SRC_URI="ftp://ftp.squid-cache.org/pub/squid-2/STABLE/${S_PP}.tar.bz2"
+
+RDEPEND="pam? >=sys-libs/pam-0.72
+ ldap? >=net-nds/openldap-2
+ ssl? >=dev-libs/openssl-0.9.6g
+ sasl? =dev-libs/cyrus-sasl-1*"
+DEPEND="${RDEPEND} sys-devel/perl"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~ppc ~sparc ~sparc64 ~alpha"
+SLOT="0"
+
+src_unpack() {
+ unpack ${A} || die
+ cd ${S} || die
+
+ #do NOT just remove this patch. yes, it's here for a reason.
+ #woodchip@gentoo.org (07 Nov 2002)
+ patch -p1 <${FILESDIR}/${P}-gentoo.diff || die
+
+ if [ -z "$DEBUGBUILD" ]
+ then
+ mv configure.in configure.in.orig
+ sed -e 's%LDFLAGS="-g"%LDFLAGS=""%' configure.in.orig > configure.in
+ autoconf || die
+ fi
+}
+
+src_compile() {
+ local basic_modules="getpwnam,YP,NCSA,SMB,MSNT,multi-domain-NTLM,winbind"
+ use ldap && basic_modules="LDAP,${basic_modules}"
+ use pam && basic_modules="PAM,${basic_modules}"
+ use sasl && basic_modules="SASL,${basic_modules}"
+
+ local ext_helpers="ip_user,unix_group,wbinfo_group,winbind_group"
+ use ldap && ext_helpers="ldap_group,${ext_helpers}"
+
+ local myconf=""
+ use snmp && myconf="${myconf} --enable-snmp" || myconf="${myconf} --disable-snmp"
+ use ssl && myconf="${myconf} --enable-ssl" || myconf="${myconf} --disable-ssl"
+
+ ./configure \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --exec-prefix=/usr \
+ --sbindir=/usr/sbin \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc/squid \
+ --libexecdir=/usr/lib/squid \
+ \
+ --enable-auth="basic,digest,ntlm" \
+ --enable-removal-policies="lru,heap" \
+ --enable-digest-auth-helpers="password" \
+ --enable-storeio="ufs,diskd,coss,aufs,null" \
+ --enable-basic-auth-helpers=${basic_modules} \
+ --enable-external-acl-helpers=${ext_helpers} \
+ --enable-ntlm-auth-helpers="SMB,fakeauth,no_check,winbind" \
+ --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 DESTDIR=${D} install || die
+
+ #--enable-icmp
+ #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
+
+ #some clean ups
+ rm -rf ${D}/var
+ mv ${D}/usr/bin/Run* ${D}/usr/lib/squid
+
+ #simply switch this symlink to choose the desired language..
+ dosym /usr/lib/squid/errors/English /etc/squid/errors
+
+ dodoc README QUICKSTART CONTRIBUTORS COPYRIGHT COPYING \
+ CREDITS ChangeLog doc/*.txt \
+ helpers/ntlm_auth/no_check/README.no_check_ntlm_auth
+ newdoc helpers/basic_auth/SMB/README README.auth_smb
+ dohtml helpers/basic_auth/MSNT/README.html
+ newdoc helpers/basic_auth/LDAP/README README.auth_ldap
+ doman helpers/basic_auth/LDAP/*.8
+ dodoc helpers/basic_auth/SASL/squid_sasl_auth*
+
+ 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() {
+ # empty dirs..
+ install -m0755 -o squid -g squid -d ${ROOT}/var/cache/squid
+ install -m0755 -o squid -g squid -d ${ROOT}/var/log/squid
+}