diff options
author | Donny Davies <woodchip@gentoo.org> | 2002-11-07 12:23:56 +0000 |
---|---|---|
committer | Donny Davies <woodchip@gentoo.org> | 2002-11-07 12:23:56 +0000 |
commit | 7f7ca288de83d6915494f33a1cb5529f71baf1b6 (patch) | |
tree | 34b75a0b8246c1befbc19c6ad09229ff43e63e63 /net-www/squid | |
parent | new package (diff) | |
download | gentoo-2-7f7ca288de83d6915494f33a1cb5529f71baf1b6.tar.gz gentoo-2-7f7ca288de83d6915494f33a1cb5529f71baf1b6.tar.bz2 gentoo-2-7f7ca288de83d6915494f33a1cb5529f71baf1b6.zip |
chase latest; major cleanups :)
Diffstat (limited to 'net-www/squid')
-rw-r--r-- | net-www/squid/ChangeLog | 61 | ||||
-rw-r--r-- | net-www/squid/files/digest-squid-2.4.6-r1 | 1 | ||||
-rw-r--r-- | net-www/squid/files/digest-squid-2.5.1 | 1 | ||||
-rw-r--r-- | net-www/squid/files/squid-2.4.6-debian.diff | 413 | ||||
-rw-r--r-- | net-www/squid/files/squid-2.4.6-gentoo.diff | 40 | ||||
-rw-r--r-- | net-www/squid/files/squid-2.5.1-gentoo.diff | 332 | ||||
-rw-r--r-- | net-www/squid/squid-2.4.6-r1.ebuild | 124 | ||||
-rw-r--r-- | net-www/squid/squid-2.5.1.ebuild | 129 |
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 +} |