diff options
author | 2004-08-15 19:01:22 +0000 | |
---|---|---|
committer | 2004-08-15 19:01:22 +0000 | |
commit | e254db404d92fabb02d69264392dfdfa7f5a171a (patch) | |
tree | 8e4777a0361447d01522ce4f5debff239126389f /www-proxy/squid/files | |
parent | Moved from net-www/oops to www-proxy/oops (diff) | |
download | historical-e254db404d92fabb02d69264392dfdfa7f5a171a.tar.gz historical-e254db404d92fabb02d69264392dfdfa7f5a171a.tar.bz2 historical-e254db404d92fabb02d69264392dfdfa7f5a171a.zip |
Moved from net-www/squid to www-proxy/squid.
Diffstat (limited to 'www-proxy/squid/files')
-rw-r--r-- | www-proxy/squid/files/digest-squid-2.4.7 | 1 | ||||
-rw-r--r-- | www-proxy/squid/files/digest-squid-2.5.5-r2 | 1 | ||||
-rw-r--r-- | www-proxy/squid/files/digest-squid-2.5.6 | 1 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-2.4.7-debian.diff | 413 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-2.4.7-gentoo.diff | 40 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-2.5.3-gentoo.diff | 336 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-2.5.5-ntml-auth-fix.patch | 72 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-2.5.6-ufs-no-valid-dir.patch | 14 | ||||
-rw-r--r-- | www-proxy/squid/files/squid-r1.cron | 4 | ||||
-rw-r--r-- | www-proxy/squid/files/squid.confd | 11 | ||||
-rw-r--r-- | www-proxy/squid/files/squid.cron | 2 | ||||
-rw-r--r-- | www-proxy/squid/files/squid.pam | 8 | ||||
-rw-r--r-- | www-proxy/squid/files/squid.rc6 | 89 |
13 files changed, 992 insertions, 0 deletions
diff --git a/www-proxy/squid/files/digest-squid-2.4.7 b/www-proxy/squid/files/digest-squid-2.4.7 new file mode 100644 index 000000000000..863642c1c25f --- /dev/null +++ b/www-proxy/squid/files/digest-squid-2.4.7 @@ -0,0 +1 @@ +MD5 3b91136b8ddcc37196716fa6e85a14b2 squid-2.4.STABLE7-src.tar.gz 1087532 diff --git a/www-proxy/squid/files/digest-squid-2.5.5-r2 b/www-proxy/squid/files/digest-squid-2.5.5-r2 new file mode 100644 index 000000000000..14cc1f4b2777 --- /dev/null +++ b/www-proxy/squid/files/digest-squid-2.5.5-r2 @@ -0,0 +1 @@ +MD5 45ed1b1cd492e3f529085d09c3ffc1b8 squid-2.5.STABLE5.tar.bz2 1044932 diff --git a/www-proxy/squid/files/digest-squid-2.5.6 b/www-proxy/squid/files/digest-squid-2.5.6 new file mode 100644 index 000000000000..c8bb1af72488 --- /dev/null +++ b/www-proxy/squid/files/digest-squid-2.5.6 @@ -0,0 +1 @@ +MD5 7fd964ac27b43b613d6b981cc702a29e squid-2.5.STABLE6.tar.bz2 1047199 diff --git a/www-proxy/squid/files/squid-2.4.7-debian.diff b/www-proxy/squid/files/squid-2.4.7-debian.diff new file mode 100644 index 000000000000..b6ae92586746 --- /dev/null +++ b/www-proxy/squid/files/squid-2.4.7-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/www-proxy/squid/files/squid-2.4.7-gentoo.diff b/www-proxy/squid/files/squid-2.4.7-gentoo.diff new file mode 100644 index 000000000000..c24a27016174 --- /dev/null +++ b/www-proxy/squid/files/squid-2.4.7-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/www-proxy/squid/files/squid-2.5.3-gentoo.diff b/www-proxy/squid/files/squid-2.5.3-gentoo.diff new file mode 100644 index 000000000000..f4ab4c7dbc49 --- /dev/null +++ b/www-proxy/squid/files/squid-2.5.3-gentoo.diff @@ -0,0 +1,336 @@ +diff -uNr squid-2.5.STABLE3.orig/errors/Makefile.in squid-2.5.STABLE3/errors/Makefile.in +--- squid-2.5.STABLE3.orig/errors/Makefile.in 2003-02-11 21:02:09.000000000 -0500 ++++ squid-2.5.STABLE3/errors/Makefile.in 2003-06-03 01:23:51.000000000 -0400 +@@ -116,7 +116,7 @@ + install_sh = @install_sh@ + makesnmplib = @makesnmplib@ + +-errordir = $(datadir)/errors ++errordir = $(libexecdir)/errors + + DEFAULT_ERROR_DIR = $(errordir) + +diff -uNr squid-2.5.STABLE3.orig/helpers/basic_auth/SMB/Makefile.in squid-2.5.STABLE3/helpers/basic_auth/SMB/Makefile.in +--- squid-2.5.STABLE3.orig/helpers/basic_auth/SMB/Makefile.in 2003-02-11 21:02:25.000000000 -0500 ++++ squid-2.5.STABLE3/helpers/basic_auth/SMB/Makefile.in 2003-06-03 01:23:51.000000000 -0400 +@@ -126,7 +126,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.STABLE3.orig/helpers/basic_auth/SMB/smb_auth.sh squid-2.5.STABLE3/helpers/basic_auth/SMB/smb_auth.sh +--- squid-2.5.STABLE3.orig/helpers/basic_auth/SMB/smb_auth.sh 2001-01-07 18:36:46.000000000 -0500 ++++ squid-2.5.STABLE3/helpers/basic_auth/SMB/smb_auth.sh 2003-06-03 01:23:51.000000000 -0400 +@@ -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.STABLE3.orig/icons/Makefile.in squid-2.5.STABLE3/icons/Makefile.in +--- squid-2.5.STABLE3.orig/icons/Makefile.in 2003-05-21 20:15:40.000000000 -0400 ++++ squid-2.5.STABLE3/icons/Makefile.in 2003-06-03 01:23:51.000000000 -0400 +@@ -144,7 +144,7 @@ + anthony-xpm.gif + + +-icondir = $(datadir)/icons ++icondir = $(libexecdir)/icons + icon_DATA = $(ICON1) $(ICON2) + EXTRA_DIST = $(ICON1) $(ICON2) icons.shar + DISTCLEANFILES = +diff -uNr squid-2.5.STABLE3.orig/src/Makefile.in squid-2.5.STABLE3/src/Makefile.in +--- squid-2.5.STABLE3.orig/src/Makefile.in 2003-02-11 21:03:14.000000000 -0500 ++++ squid-2.5.STABLE3/src/Makefile.in 2003-06-03 01:23:51.000000000 -0400 +@@ -374,18 +374,18 @@ + DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf + DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf + DEFAULT_DNSSERVER = $(libexecdir)/dnsserver$(EXEEXT) +-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)/pinger$(EXEEXT) + DEFAULT_UNLINKD = $(libexecdir)/unlinkd$(EXEEXT) + DEFAULT_DISKD = $(libexecdir)/diskd$(EXEEXT) +-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)\" + +@@ -836,12 +836,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.STABLE3.orig/src/cf.data.pre squid-2.5.STABLE3/src/cf.data.pre +--- squid-2.5.STABLE3.orig/src/cf.data.pre 2003-05-21 10:34:38.000000000 -0400 ++++ squid-2.5.STABLE3/src/cf.data.pre 2003-06-03 01:28:47.000000000 -0400 +@@ -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 + + +@@ -2032,6 +2032,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 +@@ -2065,6 +2067,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 +@@ -2083,6 +2088,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 +@@ -2299,7 +2307,7 @@ + + NAME: cache_mgr + TYPE: string +-DEFAULT: webmaster ++DEFAULT: root + LOC: Config.adminEmail + DOC_START + Email-address of local cache manager who will receive +@@ -2309,20 +2317,20 @@ + + 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 you start Squid 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. If you define cache_effective_user, +- but not cache_effective_group, Squid sets the GID the ++ UID/GID to the ones specified below. The default is to ++ change to UID squid. If you define cache_effective_user, ++ but not cache_effective_group, Squid sets the GID to the + effective user's default group ID (taken from the password + file). + +@@ -3085,7 +3093,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 +@@ -3127,12 +3139,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.STABLE3.orig/src/debug.c squid-2.5.STABLE3/src/debug.c +--- squid-2.5.STABLE3.orig/src/debug.c 2001-12-17 13:01:54.000000000 -0500 ++++ squid-2.5.STABLE3/src/debug.c 2003-06-03 01:23:51.000000000 -0400 +@@ -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.STABLE3.orig/src/defines.h squid-2.5.STABLE3/src/defines.h +--- squid-2.5.STABLE3.orig/src/defines.h 2002-08-08 16:17:39.000000000 -0400 ++++ squid-2.5.STABLE3/src/defines.h 2003-06-03 01:23:51.000000000 -0400 +@@ -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.STABLE3.orig/src/main.c squid-2.5.STABLE3/src/main.c +--- squid-2.5.STABLE3.orig/src/main.c 2003-05-05 20:24:14.000000000 -0400 ++++ squid-2.5.STABLE3/src/main.c 2003-06-03 01:23:51.000000000 -0400 +@@ -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(); + storeLogClose(); + accessLogClose(); +@@ -381,6 +397,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) +@@ -524,7 +543,7 @@ + + if (!configured_once) { + #if USE_UNLINKD +- unlinkdInit(); ++ if (needUnlinkd()) unlinkdInit(); + #endif + urlInitialize(); + cachemgrInit(); +@@ -858,7 +877,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) +@@ -893,14 +912,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.STABLE3.orig/src/url.c squid-2.5.STABLE3/src/url.c +--- squid-2.5.STABLE3.orig/src/url.c 2003-01-18 09:16:49.000000000 -0500 ++++ squid-2.5.STABLE3/src/url.c 2003-06-03 01:23:51.000000000 -0400 +@@ -312,8 +312,8 @@ + return NULL; + } + #endif +- if (Config.appendDomain && !strchr(host, '.')) +- strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN); ++ if (Config.appendDomain && !strchr(host, '.') && strcasecmp(host, "localhost") != 0) ++ strncat(host, Config.appendDomain, SQUIDHOSTNAMELEN); + /* remove trailing dots from hostnames */ + while ((l = strlen(host)) > 0 && host[--l] == '.') + host[l] = '\0'; diff --git a/www-proxy/squid/files/squid-2.5.5-ntml-auth-fix.patch b/www-proxy/squid/files/squid-2.5.5-ntml-auth-fix.patch new file mode 100644 index 000000000000..de579da11bcf --- /dev/null +++ b/www-proxy/squid/files/squid-2.5.5-ntml-auth-fix.patch @@ -0,0 +1,72 @@ +--- squid-2.5.STABLE5/helpers/ntlm_auth/SMB/libntlmssp.c 30 Nov 2001 09:50:28 -0000 1.7 ++++ squid-2.5.STABLE5/helpers/ntlm_auth/SMB/libntlmssp.c 20 May 2004 22:31:33 -0000 +@@ -161,7 +161,10 @@ make_challenge(char *domain, char *domai + #define min(A,B) (A<B?A:B) + + int ntlm_errno; +-static char credentials[1024]; /* we can afford to waste */ ++#define MAX_USERNAME_LEN 255 ++#define MAX_DOMAIN_LEN 255 ++#define MAX_PASSWD_LEN 31 ++static char credentials[MAX_USERNAME_LEN+MAX_DOMAIN_LEN+2]; /* we can afford to waste */ + + + /* Fetches the user's credentials from the challenge. +@@ -197,7 +200,7 @@ char * + ntlm_check_auth(ntlm_authenticate * auth, int auth_length) + { + int rv; +- char pass[25] /*, encrypted_pass[40] */; ++ char pass[MAX_PASSWD_LEN+1]; + char *domain = credentials; + char *user; + lstring tmp; +@@ -215,8 +218,13 @@ ntlm_check_auth(ntlm_authenticate * auth + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } ++ if (tmp.l > MAX_DOMAIN_LEN) { ++ debug("Domain string exceeds %d bytes, rejecting\n", MAX_DOMAIN_LEN); ++ ntlm_errno = NTLM_LOGON_ERROR; ++ return NULL; ++ } + memcpy(domain, tmp.str, tmp.l); +- user = domain + tmp.l; ++ user = domain + tmp.l + 1; + *user++ = '\0'; + + /* debug("fetching user name\n"); */ +@@ -226,20 +234,30 @@ ntlm_check_auth(ntlm_authenticate * auth + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } ++ if (tmp.l > MAX_USERNAME_LEN) { ++ debug("Username string exceeds %d bytes, rejecting\n", MAX_USERNAME_LEN); ++ ntlm_errno = NTLM_LOGON_ERROR; ++ return NULL; ++ } + memcpy(user, tmp.str, tmp.l); + *(user + tmp.l) = '\0'; + + +- /* Authenticating against the NT response doesn't seem to work... */ ++ /* Authenticating against the NT response doesn't seem to work... */ + tmp = ntlm_fetch_string((char *) auth, auth_length, &auth->lmresponse); + if (tmp.str == NULL || tmp.l == 0) { + fprintf(stderr, "No auth at all. Returning no-auth\n"); + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } +- ++ if (tmp.l > MAX_PASSWD_LEN) { ++ debug("Password string exceeds %d bytes, rejecting\n", MAX_PASSWD_LEN); ++ ntlm_errno = NTLM_LOGON_ERROR; ++ return NULL; ++ } ++ + memcpy(pass, tmp.str, tmp.l); +- pass[25] = '\0'; ++ pass[min(MAX_PASSWD_LEN,tmp.l)] = '\0'; + + #if 1 + debug ("Empty LM pass detection: user: '%s', ours:'%s', his: '%s'" diff --git a/www-proxy/squid/files/squid-2.5.6-ufs-no-valid-dir.patch b/www-proxy/squid/files/squid-2.5.6-ufs-no-valid-dir.patch new file mode 100644 index 000000000000..e2738191a0f8 --- /dev/null +++ b/www-proxy/squid/files/squid-2.5.6-ufs-no-valid-dir.patch @@ -0,0 +1,14 @@ +Index: squid/src/fs/ufs/store_dir_ufs.c +diff -c squid/src/fs/ufs/store_dir_ufs.c:1.39.2.8 squid/src/fs/ufs/store_dir_ufs.c:1.39.2.9 +*** squid/src/fs/ufs/store_dir_ufs.c:1.39.2.8 Mon May 31 16:03:31 2004 +--- squid/src/fs/ufs/store_dir_ufs.c Wed Jul 14 10:26:12 2004 +*************** +*** 1636,1641 **** +--- 1636,1642 ---- + ufsinfo->swaplog_fd = -1; + ufsinfo->map = NULL; /* Debugging purposes */ + ufsinfo->suggest = 0; ++ ufsinfo->open_files = 0; + sd->init = storeUfsDirInit; + sd->newfs = storeUfsDirNewfs; + sd->dump = storeUfsDirDump; diff --git a/www-proxy/squid/files/squid-r1.cron b/www-proxy/squid/files/squid-r1.cron new file mode 100644 index 000000000000..02309459b0bb --- /dev/null +++ b/www-proxy/squid/files/squid-r1.cron @@ -0,0 +1,4 @@ +#!/bin/sh +test -e /var/run/squid.pid && \ +test -n "$(cat /var/run/squid.pid|xargs ps -p|grep squid)" && \ + /usr/sbin/squid -k rotate diff --git a/www-proxy/squid/files/squid.confd b/www-proxy/squid/files/squid.confd new file mode 100644 index 000000000000..0fc36106dfdb --- /dev/null +++ b/www-proxy/squid/files/squid.confd @@ -0,0 +1,11 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-proxy/squid/files/squid.confd,v 1.1 2004/08/15 19:01:22 stuart Exp $ + +# Config file for /etc/init.d/squid + +SQUID_OPTS="-DYC" + +# 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/www-proxy/squid/files/squid.cron b/www-proxy/squid/files/squid.cron new file mode 100644 index 000000000000..910ee6104cde --- /dev/null +++ b/www-proxy/squid/files/squid.cron @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/sbin/squid -k rotate diff --git a/www-proxy/squid/files/squid.pam b/www-proxy/squid/files/squid.pam new file mode 100644 index 000000000000..53256789d4e0 --- /dev/null +++ b/www-proxy/squid/files/squid.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 +# $Header: /var/cvsroot/gentoo-x86/www-proxy/squid/files/squid.pam,v 1.1 2004/08/15 19:01:22 stuart Exp $ +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/www-proxy/squid/files/squid.rc6 b/www-proxy/squid/files/squid.rc6 new file mode 100644 index 000000000000..8f2f957b136c --- /dev/null +++ b/www-proxy/squid/files/squid.rc6 @@ -0,0 +1,89 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-proxy/squid/files/squid.rc6,v 1.1 2004/08/15 19:01:22 stuart Exp $ + +opts="${opts} reload" + +depend() { + need net +} + +# Try to increase the # of filedescriptors we can open. +maxfds() { + [ -n "$SQUID_MAXFD" ] || 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 + echo $minimal_file_max > /proc/sys/fs/file-max + fi + ulimit -n $SQUID_MAXFD +} + +checkconfig() { + maxfds + CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \ + grep cache_dir | awk '{ print $3 }'` + [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/cache/squid + umask 027 + for x in $CACHE_SWAP ; do + if [ ! -d $x/00 ] ; then + einfo "Initializing cache directory: $x" + cd $x + /usr/sbin/squid -z -F 2>/dev/null + if [ $? -ne 0 ] ; then + eerror "Error initializing: $x" + return 1 + fi + fi + done +} + +start() { + checkconfig || return 1 + ebegin "Starting squid" + 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" + 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 +} + +reload() { + checkconfig || return 1 + ebegin "Reloading squid" + /usr/sbin/squid -k reconfigure + eend $? +} |