Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Nov 2006 16:58:39 +0100 (CET)
From:      Thomas-Martin Seck <tmseck@netcologne.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/105022: [Maintainer] www/squid26: update to 2.6.STABLE4 plus additional patches
Message-ID:  <200611011558.kA1FwdYA054484@hardy.tmseck.homedns.org>
Resent-Message-ID: <200611011610.kA1GAS29017026@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         105022
>Category:       ports
>Synopsis:       [Maintainer] www/squid26: update to 2.6.STABLE4 plus additional patches
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 01 16:10:27 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Thomas-Martin Seck
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
a private site in Germany
>Environment:
FreeBSD ports collection as of November 1, 2006.

	
>Description:

- update to 2.6.STABLE4
- integrate most of the vendor patches available from
  <http://www.squid-cache.org/Versions/v2/2.6/changesets/>; up to
  changeset 11066
- replace the FTP mirror at progeny.com (which seems to be gone and is
  no longer listed on <http://www.squid-cache.org/Mirrors/ftp-mirrors.html>)
  with the one hosted by Vistech
- remove a redundant / from PATCH_SITE_SUBDIR
- update the ICAP patchsets to current ICAP CVS
- add an extra patch that adds a decription of how to remap the threading
  library to the documentation of the aufs file system in squid.conf when
  Squid is built with aufs support on FreeBSD >= 5.1
- make the rc script pass ${squid_flags} in the shutdown and reconfigure
  case (ports/100510)
- fix a path description in pkg-message (pointed out by
  "Tuc at the Beach House")
- use "Squid" in the pseudo-user's description, too

added file:
  files/extra-patch-src-cf.data.pre.aufs

	
>How-To-Repeat:
	
>Fix:
Apply this patch:

Index: Makefile
===================================================================
--- Makefile	(.../www/squid26)	(revision 1022)
+++ Makefile	(.../local/squid26)	(revision 1022)
@@ -75,10 +75,10 @@
 #     Enable experimental multicast notification of cachemisses.
 
 PORTNAME=	squid
-PORTVERSION=	2.6.3
+PORTVERSION=	2.6.4
 CATEGORIES=	www
 MASTER_SITES=	ftp://ftp.squid-cache.org/pub/%SUBDIR%/ \
-		ftp://archive.progeny.com/squid/%SUBDIR%/ \
+		ftp://ftp.vistech.net/pub/squid/%SUBDIR%/ \
 		ftp://mirrors.24-7-solutions.net/pub/squid/%SUBDIR%/ \
 		ftp://sunsite.auc.dk/pub/infosystems/squid/%SUBDIR%/ \
 		ftp://ftp.nl.uu.net/pub/unix/www/squid/%SUBDIR%/ \
@@ -87,7 +87,7 @@
 		ftp://ftp.ccs.neu.edu/pub/mirrors/squid.nlanr.net/pub/%SUBDIR%/ \
 		${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/www/squid/&,}
 MASTER_SITE_SUBDIR=	squid-2/STABLE
-DISTNAME=	squid-2.6.STABLE3
+DISTNAME=	squid-2.6.STABLE4
 DIST_SUBDIR=	squid2.6
 
 PATCH_SITES=	http://www.squid-cache.org/%SUBDIR%/ \
@@ -99,8 +99,12 @@
 		http://www1.uk.squid-cache.org/%SUBDIR%/ \
 		http://www1.jp.squid-cache.org/%SUBDIR%/ \
 		http://www1.tw.squid-cache.org/%SUBDIR%/
-PATCH_SITE_SUBDIR=	Versions/v2/2.6/changesets/
-PATCHFILES=
+PATCH_SITE_SUBDIR=	Versions/v2/2.6/changesets
+PATCHFILES=	11036.patch 11037.patch 11038.patch 11041.patch 11042.patch \
+		11043.patch 11044.patch 11045.patch 11046.patch 11047.patch \
+		11048.patch 11049.patch 11050.patch 11051.patch 11054.patch \
+		11059.patch 11060.patch 11061.patch 11062.patch 11063.patch \
+		11064.patch 11065.patch 11066.patch
 PATCH_DIST_STRIP=	-p1
 
 MAINTAINER=	tmseck@netcologne.de
@@ -185,7 +189,7 @@
 libexec+=	unlinkd
 .endif
 
-sbin=		RunCache cossdump squidclient squid
+sbin=		RunCache squidclient squid
 
 CONFIGURE_ARGS=	--bindir=${PREFIX}/sbin  \
 		--sbindir=${PREFIX}/sbin  \
@@ -239,6 +243,10 @@
 storage_schemes=	ufs diskd null
 .if defined(WITH_SQUID_AUFS)
 storage_schemes+=	aufs
+.if ${OSVERSION}>=501000
+# Only document libmap.conf where it is available:
+EXTRA_PATCHES+=		${PATCHDIR}/extra-patch-src-cf.data.pre.aufs
+.endif
 # Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS
 CONFIGURE_ARGS+=	--enable-async-io \
 			--with-pthreads
@@ -247,6 +255,7 @@
 .if defined(WITH_SQUID_COSS)
 storage_schemes+=	coss
 CONFIGURE_ARGS+=	--enable-coss-aio-ops
+sbin+=		cossdump
 .endif
 CONFIGURE_ARGS+=	--enable-storeio="${storage_schemes}"
 
@@ -387,7 +396,8 @@
 post-patch:
 	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|%%SQUID_UID%%|${SQUID_UID}|g' \
-	    -e 's|%%SQUID_GID%%|${SQUID_GID}|g' ${WRKSRC}/src/cf.data.pre
+	    -e 's|%%SQUID_GID%%|${SQUID_GID}|g' \
+	    -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/cf.data.pre
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
 	    ${WRKSRC}/helpers/basic_auth/SMB/Makefile.in \
 	    ${WRKSRC}/helpers/basic_auth/SMB/smb_auth.sh

Index: distinfo
===================================================================
--- distinfo	(.../www/squid26)	(revision 1022)
+++ distinfo	(.../local/squid26)	(revision 1022)
@@ -1,3 +1,72 @@
-MD5 (squid2.6/squid-2.6.STABLE3.tar.bz2) = 5b181e9c08f35d098e53e54b01fbd092
-SHA256 (squid2.6/squid-2.6.STABLE3.tar.bz2) = a427941627ab0d4c019d8fe1737b032e4667daa73f7c68b4812159ef18666634
-SIZE (squid2.6/squid-2.6.STABLE3.tar.bz2) = 1231527
+MD5 (squid2.6/squid-2.6.STABLE4.tar.bz2) = 81ed6ff977dff6d76b0ad2b5390ebf89
+SHA256 (squid2.6/squid-2.6.STABLE4.tar.bz2) = 8dcb1de14a5438daa21f6e2575703184180514c7e1f8f365c31e2afeb2452cde
+SIZE (squid2.6/squid-2.6.STABLE4.tar.bz2) = 1250801
+MD5 (squid2.6/11036.patch) = 46a9b8eeedc43ee5bbac120b5bbbed8b
+SHA256 (squid2.6/11036.patch) = ae9cb861f5e2d2f925e72f57b2dd06eed50711b238372e4e071e330da7ccc921
+SIZE (squid2.6/11036.patch) = 2524
+MD5 (squid2.6/11037.patch) = 63024a60e0339b7fe86ceb697417786c
+SHA256 (squid2.6/11037.patch) = ee65c606e3cf62e6cd22e1ac38991e194bcec8b60b41a087c0c9b5a8bbb2d0f0
+SIZE (squid2.6/11037.patch) = 7917
+MD5 (squid2.6/11038.patch) = 130118643117241c5f9e6d56ef3386d8
+SHA256 (squid2.6/11038.patch) = 07306d4440bc58835311b126e94cb20ea87ad4e32dc51d5acad253cd23f0cefe
+SIZE (squid2.6/11038.patch) = 1023
+MD5 (squid2.6/11041.patch) = 80f54837d774155d673031c603dadd9c
+SHA256 (squid2.6/11041.patch) = 3f4fa7e6763963b2f179b2fe4980495283ea3fbc9599d6061eff729c1138e58b
+SIZE (squid2.6/11041.patch) = 2748
+MD5 (squid2.6/11042.patch) = 13a720062a85fb852f26755fcd2e000e
+SHA256 (squid2.6/11042.patch) = 4ce2983d267479b4a4883c39eff9f469923551b27c79ae3ba7bae341bc9cc709
+SIZE (squid2.6/11042.patch) = 2386
+MD5 (squid2.6/11043.patch) = 1cf71b99612f2400f2a7ac2bdc77307c
+SHA256 (squid2.6/11043.patch) = f87f02c7d278792a32a5b0a6d36b7f5999d495a88300c0c2f8c41b53663cb1ff
+SIZE (squid2.6/11043.patch) = 1024
+MD5 (squid2.6/11044.patch) = 9c5149364eb0fca2e32b42991339e9e4
+SHA256 (squid2.6/11044.patch) = 3d269d2e7a83dad460f2a635bcaf8289403299418b20fc3ce7d9448e8d7c9699
+SIZE (squid2.6/11044.patch) = 7723
+MD5 (squid2.6/11045.patch) = f1096a86559b46026a27f3fbeab3f298
+SHA256 (squid2.6/11045.patch) = ee58105c2360165bb3fee7ce612bc848ef7c73c009323b856d09e61758e1b33e
+SIZE (squid2.6/11045.patch) = 1018
+MD5 (squid2.6/11046.patch) = e312695f250d1697f4fc5795d93bef04
+SHA256 (squid2.6/11046.patch) = 6dfc2a1fc8737e19a18d0251ce4b67f9b14080939fa72b0ce8a809145582fdf6
+SIZE (squid2.6/11046.patch) = 2871
+MD5 (squid2.6/11047.patch) = e9a208cd8076212c2079c339363f5334
+SHA256 (squid2.6/11047.patch) = cc5bc2b19fa9cd523714a0d3d548448d20be1499a5fda5eabbbf5cf70fd24628
+SIZE (squid2.6/11047.patch) = 2159
+MD5 (squid2.6/11048.patch) = 0e11f3d2fb2175380c7cb6e32548fc8c
+SHA256 (squid2.6/11048.patch) = f0f3a6e9234863da7484f43b42db3ebcbd008764b9df78401e186e66722a82d4
+SIZE (squid2.6/11048.patch) = 1470
+MD5 (squid2.6/11049.patch) = 884ff9982257a946f949483cd1893bee
+SHA256 (squid2.6/11049.patch) = 636e5a8ffdd513a285a8bcbd3bb408c1c94e9cb1a5ad40a1fd6cca9dcba123c2
+SIZE (squid2.6/11049.patch) = 1298
+MD5 (squid2.6/11050.patch) = c0bb702488fcd3bc53b9ee59d4f2c194
+SHA256 (squid2.6/11050.patch) = 117a8505c3d12052db2f1645f18ca94b6fe753a2f5b7d1b9a4b9f7e74f5da58d
+SIZE (squid2.6/11050.patch) = 1587
+MD5 (squid2.6/11051.patch) = 513f003626768910a71868dfa470649c
+SHA256 (squid2.6/11051.patch) = 717f4ed48e9b61d33dd4b20a77be5fd9f8520b90a4101a2e68d01e10e5f3388a
+SIZE (squid2.6/11051.patch) = 1402
+MD5 (squid2.6/11054.patch) = 90fb185f6ec832ba4ad37435bc57093e
+SHA256 (squid2.6/11054.patch) = 19e741fe5fe47f2655539e2b4ab2f9f5ce2db61a26fee27200ba31e8ff677c9c
+SIZE (squid2.6/11054.patch) = 959
+MD5 (squid2.6/11059.patch) = e0a920bfd4540148c63f0d58d949a7fc
+SHA256 (squid2.6/11059.patch) = 9ff6d43fc3fb159d8b0299be30e347de9a4c9f366a12c90c4cc790f7f4102ae7
+SIZE (squid2.6/11059.patch) = 62269
+MD5 (squid2.6/11060.patch) = 9500cbed8c98a8539faf2e45c1baa6d6
+SHA256 (squid2.6/11060.patch) = dca55c95e1e5ef01c070bc35b1e942194d1796630cf34ba83fa6e6570cd65816
+SIZE (squid2.6/11060.patch) = 934
+MD5 (squid2.6/11061.patch) = 463a74c0aa760633594de2fa31e2d0ed
+SHA256 (squid2.6/11061.patch) = 7e3663f8e875153eeb38133b8af960e17030c745124da3c0adad7a5f6f9e45b1
+SIZE (squid2.6/11061.patch) = 1882
+MD5 (squid2.6/11062.patch) = 2caf9ef1c79b3c0106c240013633aa73
+SHA256 (squid2.6/11062.patch) = 43af881beffdab8aeada818310dabdcedb65556111561b8e89e331de579ca278
+SIZE (squid2.6/11062.patch) = 1419
+MD5 (squid2.6/11063.patch) = a0bb80c41650e9a9dd7670f4c4e8488f
+SHA256 (squid2.6/11063.patch) = 589d5eb4a3c86cb89928385c13f0bf2da097d07aa4c20423edae3de4ba123416
+SIZE (squid2.6/11063.patch) = 2704
+MD5 (squid2.6/11064.patch) = bf59e2261b52a683f3e70a6303856d76
+SHA256 (squid2.6/11064.patch) = 0d8a5e6d12f1c12b1d260861a74dec46988ed70621a0d7778fb07ecc4fde7e91
+SIZE (squid2.6/11064.patch) = 2787
+MD5 (squid2.6/11065.patch) = 57d832689bad48e4b25127f4cafd94a4
+SHA256 (squid2.6/11065.patch) = a8be8118b7a72f42f5a31d82d97f0d6778fc4a344f21f0bfe9f507961e3bce15
+SIZE (squid2.6/11065.patch) = 3435
+MD5 (squid2.6/11066.patch) = 6e79c84dd70516f0b1da6b74b4a7ea47
+SHA256 (squid2.6/11066.patch) = 5b92d5b5a8d9e73eaf9507223a0f58594fd0111c5993b619c48c493dbe4cd35e
+SIZE (squid2.6/11066.patch) = 1192
Index: files/extra-patch-src-cf.data.pre.aufs
===================================================================
--- files/extra-patch-src-cf.data.pre.aufs	(.../www/squid26)	(revision 0)
+++ files/extra-patch-src-cf.data.pre.aufs	(.../local/squid26)	(revision 1022)
@@ -0,0 +1,20 @@
+--- src/cf.data.pre.orig	Wed Nov  1 15:12:02 2006
++++ src/cf.data.pre	Wed Nov  1 15:12:17 2006
+@@ -1097,6 +1100,17 @@
+ 
+ 	see argument descriptions under ufs above
+ 
++	Note:
++	By default, FreeBSD uses the pthread(3) M:N threading library.
++	You can, however, map the thread library to the 1:1 libthr(3)
++	implementation by inserting the following lines into
++	/etc/libmap.conf and see whether this performs better on your
++	system:
++
++	[%%PREFIX%%/sbin/squid]
++	libpthread.so.1	libthr.so.1
++	libpthread.so.2	libthr.so.2
++
+ 	The diskd store type:
+ 
+ 	"diskd" uses the same storage format as "ufs", utilizing a
Index: files/pkg-message.in
===================================================================
--- files/pkg-message.in	(.../www/squid26)	(revision 1022)
+++ files/pkg-message.in	(.../local/squid26)	(revision 1022)
@@ -12,7 +12,7 @@
 
      o The default configuration will deny everyone access to the
        proxy service. Edit the "http_access" directives in
-       %%PREFIX%%/etc/squid.conf to suit your needs.
+       %%PREFIX%%/etc/squid/squid.conf to suit your needs.
 
      Please note that the Squid start script is an rc.d style script.
      This means that Squid will not start automatically at boot
Index: files/pkg-install.in
===================================================================
--- files/pkg-install.in	(.../www/squid26)	(revision 1022)
+++ files/pkg-install.in	(.../local/squid26)	(revision 1022)
@@ -37,7 +37,7 @@
 		echo "There is no account '${squid_user}' on this system, so I will try to create it (using user id ${squid_uid}):"
 		if ! pw useradd -q -n ${squid_user} \
 		    -u ${squid_uid} -g ${squid_group} \
-	  	    -c "squid caching-proxy pseudo user" \
+	  	    -c "Squid caching-proxy pseudo user" \
 		    -d "${squid_base}" -s "${nologin}" \
 		    -h - ; then
 			echo "Failed to create user '${squid_user}'!" >&2

Index: files/squid.in
===================================================================
--- files/squid.in	(.../www/squid26)	(revision 1022)
+++ files/squid.in	(.../local/squid26)	(revision 1022)
@@ -16,7 +16,7 @@
 
 squid_stop() {
 	echo "Stopping ${name}."
-	${command} -k shutdown
+	${command} ${squid_flags} -k shutdown
 	run_rc_command poll
 }
 
@@ -27,7 +27,7 @@
 
 command=%%PREFIX%%/sbin/squid
 extra_commands=reload
-reload_cmd="${command} -k reconfigure"
+reload_cmd="${command} ${squid_flags} -k reconfigure"
 stop_cmd="squid_stop"
 
 load_rc_config ${name}
Index: files/icap-2.6-bootstrap.patch
===================================================================
--- files/icap-2.6-bootstrap.patch	(.../www/squid26)	(revision 1022)
+++ files/icap-2.6-bootstrap.patch	(.../local/squid26)	(revision 1022)
@@ -7,7 +7,7 @@
 
 Please see icap-2.6-core.patch for further information.
 
-Patch last updated: 2006-08-19
+Patch last updated: 2006-09-30
 
 --- configure.orig Sat Aug  5 16:24:35 2006
 +++ configure	Sat Aug  5 16:19:46 2006
@@ -15,8 +15,8 @@
  # include <unistd.h>
  #endif"
  
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os PKGCONFIG CGIEXT ENABLE_WIN32SPECIFIC_TRUE ENABLE_WIN32SPECIFIC_FALSE CACHE_HTTP_PORT CACHE_ICP_PORT LIBDLMALLOC LIB_MALLOC STORE
 _OBJS STORE_LIBS STORE_MODULES NEED_DISKD_TRUE NEED_DISKD_FALSE REPL_POLICIES REPL_OBJS REPL_LIBS ENABLE_PINGER_TRUE ENABLE_PINGER_FALSE USE_DELAY_POOLS_TRUE USE_DELAY_POOLS_FALSE USE_SNMP_TRUE USE_SNMP_FALSE SNMPLIB makesnmplib ENABLE_HTCP_TRUE ENABLE_HTCP_FALSE ENABLE_SSL_TRUE ENABLE_SSL_FALSE NEED_OWN_MD5_TRUE NEED_OWN_MD5_FALSE SSLLIB ERR_DEFAULT_LANGUAGE ERR_LANGUAGES MAKE_LEAKFINDER_TRUE MAKE_LEAKFINDER_FALSE USE_DNSSERVER_TRUE USE_DNSSERVER_FALSE OPT_DEFAULT_HOSTS AUTH_MODULES AUTH_OBJS AUTH_LIBS BASIC_AUTH_HELPERS NTLM_AUTH_HELPERS DIGEST_AUTH_HELPERS NEGOTIATE_AUTH_HELPERS EXTERNAL_ACL_HELPERS CPP EGREP LIBSASL ENABLE_UNLINKD_TRUE ENABLE_UNLINKD_FALSE RANLIB ac_ct_RANLIB LN_S SH FALSE TRUE RM MV MKDIR LN PERL AR AR_R ALLOCA CRYPTLIB LIB_EPOLL LIB_LDAP LIB_LBER LIB_DB EPOLL_LIBS USE_POLL_TRUE USE_POLL_FALSE USE_EPOLL_TRUE USE_EPOLL_FALSE USE_SELECT_TRUE USE_SELECT_FALSE USE_SELECT_WIN32_TRUE USE_SELECT_WIN32_FALSE USE_KQUEUE_TRUE USE_KQUEUE_FALSE NEED_OWN_SNPRINTF_TR
 UE NEED_OWN_SNPRINTF_FALSE NEED_OWN_STRSEP_TRUE NEED_OWN_STR!
 SEP_FALS
E REGEXLIB LIBREGEX LIBOBJS XTRA_OBJS XTRA_LIBS LTLIBOBJS'
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os PKGCONFIG CGIEXT ENABLE_WIN32SPECIFIC_TRUE ENABLE_WIN32SPECIFIC_FALSE CACHE_HTTP_PORT CACHE_ICP_PORT LIBDLMALLOC LIB_MALLOC STORE
 _OBJS STORE_LIBS STORE_MODULES NEED_DISKD_TRUE NEED_DISKD_FALSE REPL_POLICIES REPL_OBJS REPL_LIBS ENABLE_PINGER_TRUE ENABLE_PINGER_FALSE USE_DELAY_POOLS_TRUE USE_DELAY_POOLS_FALSE USE_ICAP_TRUE USE_ICAP_FALSE USE_SNMP_TRUE USE_SNMP_FALSE SNMPLIB makesnmplib ENABLE_HTCP_TRUE ENABLE_HTCP_FALSE ENABLE_SSL_TRUE ENABLE_SSL_FALSE NEED_OWN_MD5_TRUE NEED_OWN_MD5_FALSE SSLLIB ERR_DEFAULT_LANGUAGE ERR_LANGUAGES MAKE_LEAKFINDER_TRUE MAKE_LEAKFINDER_FALSE USE_DNSSERVER_TRUE USE_DNSSERVER_FALSE OPT_DEFAULT_HOSTS AUTH_MODULES AUTH_OBJS AUTH_LIBS BASIC_AUTH_HELPERS NTLM_AUTH_HELPERS DIGEST_AUTH_HELPERS NEGOTIATE_AUTH_HELPERS EXTERNAL_ACL_HELPERS CPP EGREP LIBSASL ENABLE_UNLINKD_TRUE ENABLE_UNLINKD_FALSE RANLIB ac_ct_RANLIB LN_S SH FALSE TRUE RM MV MKDIR LN PERL AR AR_R ALLOCA CRYPTLIB LIB_EPOLL LIB_LDAP LIB_LBER LIB_DB EPOLL_LIBS USE_POLL_TRUE USE_POLL_FALSE USE_EPOLL_TRUE USE_EPOLL_FALSE USE_SELECT_TRUE USE_SELECT_FALSE USE_SELECT_WIN32_TRUE USE_SELECT_WIN32_FALSE USE_KQUEUE_TRUE USE_KQUE
 UE_FALSE NEED_OWN_SNPRINTF_TRUE NEED_OWN_SNPRINTF_FALSE NEED!
 _OWN_STR
NSTR_TRUE NEED_OWN_STRNSTR_FALSE NEED_OWN_STRCASESTR_TRUE NEED_OWN_STRCASESTR_FALSE NEED_OWN_STRSEP_TRUE NEED_OWN_STRSEP_FALSE REGEXLIB LIBREGEX LIBOBJS XTRA_OBJS XTRA_LIBS LTLIBOBJS'
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os PKGCONFIG CGIEXT ENABLE_WIN32SPECIFIC_TRUE ENABLE_WIN32SPECIFIC_FALSE ENABLE_MINGW32SPECIFIC_TRUE ENABLE_MINGW32SPECIFIC_FALSE WI
 N32_PSAPI CACHE_HTTP_PORT CACHE_ICP_PORT LIBDLMALLOC LIB_MALLOC STORE_OBJS STORE_LIBS STORE_MODULES NEED_DISKD_TRUE NEED_DISKD_FALSE USE_AIOPS_WIN32_TRUE USE_AIOPS_WIN32_FALSE NEED_COSSDUMP_TRUE NEED_COSSDUMP_FALSE REPL_POLICIES REPL_OBJS REPL_LIBS ENABLE_PINGER_TRUE ENABLE_PINGER_FALSE USE_DELAY_POOLS_TRUE USE_DELAY_POOLS_FALSE USE_SNMP_TRUE USE_SNMP_FALSE SNMPLIB makesnmplib ENABLE_HTCP_TRUE ENABLE_HTCP_FALSE ENABLE_SSL_TRUE ENABLE_SSL_FALSE NEED_OWN_MD5_TRUE NEED_OWN_MD5_FALSE SSLLIB ERR_DEFAULT_LANGUAGE ERR_LANGUAGES MAKE_LEAKFINDER_TRUE MAKE_LEAKFINDER_FALSE USE_DNSSERVER_TRUE USE_DNSSERVER_FALSE OPT_DEFAULT_HOSTS AUTH_MODULES AUTH_OBJS AUTH_LIBS BASIC_AUTH_HELPERS NTLM_AUTH_HELPERS DIGEST_AUTH_HELPERS NEGOTIATE_AUTH_HELPERS EXTERNAL_ACL_HELPERS CPP EGREP LIBSASL ENABLE_UNLINKD_TRUE ENABLE_UNLINKD_FALSE RANLIB ac_ct_RANLIB LN_S SH FALSE TRUE RM MV MKDIR LN PERL AR AR_R ALLOCA CRYPTLIB LIB_EPOLL LIB_LDAP LIB_LBER LIB_DB EPOLL_LIBS USE_POLL_TRUE USE_POLL_FALSE USE_EPOLL_T
 RUE USE_EPOLL_FALSE USE_SELECT_TRUE USE_SELECT_FALSE USE_SEL!
 ECT_WIN3
2_TRUE USE_SELECT_WIN32_FALSE USE_KQUEUE_TRUE USE_KQUEUE_FALSE NEED_OWN_SNPRINTF_TRUE NEED_OWN_SNPRINTF_FALSE NEED_OWN_STRSEP_TRUE NEED_OWN_STRSEP_FALSE REGEXLIB LIBREGEX LIBOBJS XTRA_OBJS XTRA_LIBS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os PKGCONFIG CGIEXT ENABLE_WIN32SPECIFIC_TRUE ENABLE_WIN32SPECIFIC_FALSE ENABLE_MINGW32SPECIFIC_TRUE ENABLE_MINGW32SPECIFIC_FALSE WI
 N32_PSAPI CACHE_HTTP_PORT CACHE_ICP_PORT LIBDLMALLOC LIB_MALLOC STORE_OBJS STORE_LIBS STORE_MODULES NEED_DISKD_TRUE NEED_DISKD_FALSE USE_AIOPS_WIN32_TRUE USE_AIOPS_WIN32_FALSE NEED_COSSDUMP_TRUE NEED_COSSDUMP_FALSE REPL_POLICIES REPL_OBJS REPL_LIBS ENABLE_PINGER_TRUE ENABLE_PINGER_FALSE USE_DELAY_POOLS_TRUE USE_DELAY_POOLS_FALSE USE_ICAP_TRUE USE_ICAP_FALSE USE_SNMP_TRUE USE_SNMP_FALSE SNMPLIB makesnmplib ENABLE_HTCP_TRUE ENABLE_HTCP_FALSE ENABLE_SSL_TRUE ENABLE_SSL_FALSE NEED_OWN_MD5_TRUE NEED_OWN_MD5_FALSE SSLLIB ERR_DEFAULT_LANGUAGE ERR_LANGUAGES MAKE_LEAKFINDER_TRUE MAKE_LEAKFINDER_FALSE USE_DNSSERVER_TRUE USE_DNSSERVER_FALSE OPT_DEFAULT_HOSTS AUTH_MODULES AUTH_OBJS AUTH_LIBS BASIC_AUTH_HELPERS NTLM_AUTH_HELPERS DIGEST_AUTH_HELPERS NEGOTIATE_AUTH_HELPERS EXTERNAL_ACL_HELPERS CPP EGREP LIBSASL ENABLE_UNLINKD_TRUE ENABLE_UNLINKD_FALSE RANLIB ac_ct_RANLIB LN_S SH FALSE TRUE RM MV MKDIR LN PERL AR AR_R ALLOCA CRYPTLIB LIB_EPOLL LIB_LDAP LIB_LBER LIB_DB EPOLL_LIBS USE_POLL_TR
 UE USE_POLL_FALSE USE_EPOLL_TRUE USE_EPOLL_FALSE USE_SELECT_!
 TRUE USE
_SELECT_FALSE USE_SELECT_WIN32_TRUE USE_SELECT_WIN32_FALSE USE_KQUEUE_TRUE USE_KQUEUE_FALSE NEED_OWN_SNPRINTF_TRUE NEED_OWN_SNPRINTF_FALSE NEED_OWN_STRNSTR_TRUE NEED_OWN_STRNSTR_FALSE NEED_OWN_STRCASESTR_TRUE NEED_OWN_STRCASESTR_FALSE NEED_OWN_STRSEP_TRUE NEED_OWN_STRSEP_FALSE REGEXLIB LIBREGEX LIBOBJS XTRA_OBJS XTRA_LIBS LTLIBOBJS'
  ac_subst_files=''
  
  # Initialize some variables set by options.
@@ -239,21 +239,24 @@
  
  /* By default (for now anyway) Squid includes options which allows the cache
     administrator to violate the HTTP protocol specification in terms of cache
---- lib/Makefile.in.orig Mon Jun 12 08:10:08 2006
-+++ lib/Makefile.in	Sat Aug  5 16:19:17 2006
-@@ -62,18 +62,21 @@
+--- lib/Makefile.in.orig Fri Sep 22 11:09:48 2006
++++ lib/Makefile.in	Sat Sep 19 20:05:28 2006
+@@ -62,20 +62,23 @@
  am__libmiscutil_a_SOURCES_DIST = Array.c base64.c getfullhostname.c \
  	hash.c heap.c html_quote.c iso3307.c md5.c radix.c rfc1035.c \
  	rfc1123.c rfc1738.c rfc2617.c safe_inet_addr.c snprintf.c \
--	splay.c Stack.c strsep.c stub_memaccount.c util.c uudecode.c
+-	splay.c Stack.c strsep.c stub_memaccount.c util.c uudecode.c \
+-	win32lib.c
 +	splay.c Stack.c strnstr.c strcasestr.c strsep.c \
-+	stub_memaccount.c util.c uudecode.c
++	stub_memaccount.c util.c uudecode.c win32lib.c
  @NEED_OWN_MD5_TRUE@am__objects_1 = md5.$(OBJEXT)
  @NEED_OWN_SNPRINTF_TRUE@am__objects_2 = snprintf.$(OBJEXT)
 -@NEED_OWN_STRSEP_TRUE@am__objects_3 = strsep.$(OBJEXT)
+-@ENABLE_MINGW32SPECIFIC_TRUE@am__objects_4 = win32lib.$(OBJEXT)
 +@NEED_OWN_STRNSTR_TRUE@am__objects_3 = strnstr.$(OBJEXT)
 +@NEED_OWN_STRCASESTR_TRUE@am__objects_4 = strcasestr.$(OBJEXT)
 +@NEED_OWN_STRSEP_TRUE@am__objects_5 = strsep.$(OBJEXT)
++@ENABLE_MINGW32SPECIFIC_TRUE@am__objects_6 = win32lib.$(OBJEXT)
  am_libmiscutil_a_OBJECTS = Array.$(OBJEXT) base64.$(OBJEXT) \
  	getfullhostname.$(OBJEXT) hash.$(OBJEXT) heap.$(OBJEXT) \
  	html_quote.$(OBJEXT) iso3307.$(OBJEXT) $(am__objects_1) \
@@ -261,13 +264,14 @@
  	rfc1738.$(OBJEXT) rfc2617.$(OBJEXT) safe_inet_addr.$(OBJEXT) \
  	$(am__objects_2) splay.$(OBJEXT) Stack.$(OBJEXT) \
 -	$(am__objects_3) stub_memaccount.$(OBJEXT) util.$(OBJEXT) \
--	uudecode.$(OBJEXT)
+-	uudecode.$(OBJEXT) $(am__objects_4)
 +	$(am__objects_3) $(am__objects_4) $(am__objects_5) \
-+	stub_memaccount.$(OBJEXT) util.$(OBJEXT) uudecode.$(OBJEXT)
++	stub_memaccount.$(OBJEXT) util.$(OBJEXT) uudecode.$(OBJEXT) \
++	$(am__objects_6)
  libmiscutil_a_OBJECTS = $(am_libmiscutil_a_OBJECTS)
  libntlmauth_a_AR = $(AR) $(ARFLAGS)
  libntlmauth_a_DEPENDENCIES = @LIBOBJS@
-@@ -184,6 +187,10 @@
+@@ -190,6 +193,10 @@
  NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@
  NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@
  NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@
@@ -278,7 +282,7 @@
  NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@
  NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@
  NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@
-@@ -221,6 +228,8 @@
+@@ -229,6 +236,8 @@
  USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@
  USE_EPOLL_FALSE = @USE_EPOLL_FALSE@
  USE_EPOLL_TRUE = @USE_EPOLL_TRUE@
@@ -287,7 +291,7 @@
  USE_KQUEUE_FALSE = @USE_KQUEUE_FALSE@
  USE_KQUEUE_TRUE = @USE_KQUEUE_TRUE@
  USE_POLL_FALSE = @USE_POLL_FALSE@
-@@ -275,6 +284,10 @@
+@@ -284,6 +293,10 @@
  target_alias = @target_alias@
  @NEED_OWN_SNPRINTF_FALSE@SNPRINTFSOURCE = 
  @NEED_OWN_SNPRINTF_TRUE@SNPRINTFSOURCE = snprintf.c
@@ -298,7 +302,7 @@
  @NEED_OWN_STRSEP_FALSE@STRSEPSOURCE = 
  @NEED_OWN_STRSEP_TRUE@STRSEPSOURCE = strsep.c
  @NEED_OWN_MD5_FALSE@MD5SOURCE = 
-@@ -316,6 +329,8 @@
+@@ -328,6 +341,8 @@
  	$(SNPRINTFSOURCE) \
  	splay.c \
  	Stack.c \
@@ -307,7 +311,7 @@
  	$(STRSEPSOURCE) \
  	stub_memaccount.c \
  	util.c \
-@@ -430,6 +445,8 @@
+@@ -443,6 +458,8 @@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splay.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sspwin32.Po@am__quote@
@@ -316,69 +320,66 @@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strsep.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stub_memaccount.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
---- src/Makefile.in.orig Sun Jul 30 10:56:18 2006
-+++ src/Makefile.in	Sat Aug  5 16:19:21 2006
-@@ -90,18 +90,20 @@
+--- src/Makefile.in.orig	Fri Sep 22 11:09:48 2006
++++ src/Makefile.in	Sat Sep 30 20:01:47 2006
+@@ -90,15 +90,16 @@
  	forward.c fqdncache.c ftp.c globals.h gopher.c helper.c htcp.c \
  	http.c HttpStatusLine.c HttpHdrCc.c HttpHdrRange.c \
  	HttpHdrContRange.c HttpHeader.c HttpHeaderTools.c HttpBody.c \
 -	HttpMsg.c HttpReply.c HttpRequest.c icmp.c icp_v2.c icp_v3.c \
--	ident.c internal.c ipc.c ipcache.c leakfinder.c locrewrite.c \
--	logfile.c main.c mem.c MemPool.c MemBuf.c mime.c multicast.c \
--	neighbors.c net_db.c Packer.c pconn.c peer_digest.c \
--	peer_monitor.c peer_select.c peer_sourcehash.c peer_userhash.c \
--	protos.h redirect.c referer.c refresh.c send-announce.c \
--	snmp_core.c snmp_agent.c squid.h ssl.c ssl_support.c stat.c \
--	StatHist.c String.c stmem.c store.c store_io.c store_client.c \
--	store_digest.c store_dir.c store_key_md5.c store_log.c \
--	store_rebuild.c store_swapin.c store_swapmeta.c \
--	store_swapout.c structs.h tools.c typedefs.h unlinkd.c url.c \
--	urn.c useragent.c wais.c wccp.c wccp2.c whois.c win32.c
+-	ident.c internal.c ipc.c ipc_win32.c ipcache.c leakfinder.c \
+-	locrewrite.c logfile.c main.c mem.c MemPool.c MemBuf.c mime.c \
+-	multicast.c neighbors.c net_db.c Packer.c pconn.c \
+-	peer_digest.c peer_monitor.c peer_select.c peer_sourcehash.c \
+-	peer_userhash.c protos.h redirect.c referer.c refresh.c \
+-	send-announce.c snmp_core.c snmp_agent.c squid.h ssl.c \
+-	ssl_support.c stat.c StatHist.c String.c stmem.c store.c \
+-	store_io.c store_client.c store_digest.c store_dir.c \
 +	HttpMsg.c HttpReply.c HttpRequest.c icap_common.c \
 +	icap_reqmod.c icap_respmod.c icap_opt.c icmp.c icp_v2.c \
-+	icp_v3.c ident.c internal.c ipc.c ipcache.c leakfinder.c \
-+	locrewrite.c logfile.c main.c mem.c MemPool.c MemBuf.c mime.c \
-+	multicast.c neighbors.c net_db.c Packer.c pconn.c \
-+	peer_digest.c peer_monitor.c peer_select.c peer_sourcehash.c \
-+	peer_userhash.c protos.h redirect.c referer.c refresh.c \
-+	send-announce.c snmp_core.c snmp_agent.c squid.h ssl.c \
-+	ssl_support.c stat.c StatHist.c String.c stmem.c store.c \
-+	store_io.c store_client.c store_digest.c store_dir.c \
-+	store_key_md5.c store_log.c store_rebuild.c store_swapin.c \
-+	store_swapmeta.c store_swapout.c structs.h tools.c typedefs.h \
-+	unlinkd.c url.c urn.c useragent.c wais.c wccp.c wccp2.c \
-+	whois.c win32.c
- @USE_EPOLL_FALSE@@USE_KQUEUE_FALSE@@USE_POLL_FALSE@@USE_SELECT_FALSE@@USE_SELECT_WIN32_TRUE@am__objects_1 = comm_select_win32.$(OBJEXT)
- @USE_EPOLL_FALSE@@USE_KQUEUE_FALSE@@USE_POLL_FALSE@@USE_SELECT_TRUE@am__objects_1 = comm_select.$(OBJEXT)
- @USE_EPOLL_FALSE@@USE_KQUEUE_FALSE@@USE_POLL_TRUE@am__objects_1 = comm_poll.$(OBJEXT)
-@@ -112,12 +114,15 @@
++	icp_v3.c ident.c internal.c ipc.c ipc_win32.c ipcache.c \
++	leakfinder.c locrewrite.c logfile.c main.c mem.c MemPool.c \
++	MemBuf.c mime.c multicast.c neighbors.c net_db.c Packer.c \
++	pconn.c peer_digest.c peer_monitor.c peer_select.c \
++	peer_sourcehash.c peer_userhash.c protos.h redirect.c \
++	referer.c refresh.c send-announce.c snmp_core.c snmp_agent.c \
++	squid.h ssl.c ssl_support.c stat.c StatHist.c String.c stmem.c \
++	store.c store_io.c store_client.c store_digest.c store_dir.c \
+ 	store_key_md5.c store_log.c store_rebuild.c store_swapin.c \
+ 	store_swapmeta.c store_swapout.c structs.h tools.c typedefs.h \
+ 	unlinkd.c url.c urn.c useragent.c wais.c wccp.c wccp2.c \
+@@ -113,14 +114,17 @@
  @USE_DNSSERVER_FALSE@am__objects_3 = dns_internal.$(OBJEXT)
  @USE_DNSSERVER_TRUE@am__objects_3 = dns.$(OBJEXT)
  @ENABLE_HTCP_TRUE@am__objects_4 = htcp.$(OBJEXT)
--@MAKE_LEAKFINDER_TRUE@am__objects_5 = leakfinder.$(OBJEXT)
--@USE_SNMP_TRUE@am__objects_6 = snmp_core.$(OBJEXT) \
+-@ENABLE_MINGW32SPECIFIC_FALSE@am__objects_5 = ipc.$(OBJEXT)
+-@ENABLE_MINGW32SPECIFIC_TRUE@am__objects_5 = ipc_win32.$(OBJEXT)
+-@MAKE_LEAKFINDER_TRUE@am__objects_6 = leakfinder.$(OBJEXT)
+-@USE_SNMP_TRUE@am__objects_7 = snmp_core.$(OBJEXT) \
 +@USE_ICAP_TRUE@am__objects_5 = icap_common.$(OBJEXT) \
 +@USE_ICAP_TRUE@	icap_reqmod.$(OBJEXT) icap_respmod.$(OBJEXT) \
 +@USE_ICAP_TRUE@	icap_opt.$(OBJEXT)
-+@MAKE_LEAKFINDER_TRUE@am__objects_6 = leakfinder.$(OBJEXT)
-+@USE_SNMP_TRUE@am__objects_7 = snmp_core.$(OBJEXT) \
++@ENABLE_MINGW32SPECIFIC_FALSE@am__objects_6 = ipc.$(OBJEXT)
++@ENABLE_MINGW32SPECIFIC_TRUE@am__objects_6 = ipc_win32.$(OBJEXT)
++@MAKE_LEAKFINDER_TRUE@am__objects_7 = leakfinder.$(OBJEXT)
++@USE_SNMP_TRUE@am__objects_8 = snmp_core.$(OBJEXT) \
  @USE_SNMP_TRUE@	snmp_agent.$(OBJEXT)
--@ENABLE_SSL_TRUE@am__objects_7 = ssl_support.$(OBJEXT)
--@ENABLE_UNLINKD_TRUE@am__objects_8 = unlinkd.$(OBJEXT)
--@ENABLE_WIN32SPECIFIC_TRUE@am__objects_9 = win32.$(OBJEXT)
-+@ENABLE_SSL_TRUE@am__objects_8 = ssl_support.$(OBJEXT)
-+@ENABLE_UNLINKD_TRUE@am__objects_9 = unlinkd.$(OBJEXT)
-+@ENABLE_WIN32SPECIFIC_TRUE@am__objects_10 = win32.$(OBJEXT)
+-@ENABLE_SSL_TRUE@am__objects_8 = ssl_support.$(OBJEXT)
+-@ENABLE_UNLINKD_TRUE@am__objects_9 = unlinkd.$(OBJEXT)
+-@ENABLE_WIN32SPECIFIC_TRUE@am__objects_10 = win32.$(OBJEXT)
++@ENABLE_SSL_TRUE@am__objects_9 = ssl_support.$(OBJEXT)
++@ENABLE_UNLINKD_TRUE@am__objects_10 = unlinkd.$(OBJEXT)
++@ENABLE_WIN32SPECIFIC_TRUE@am__objects_11 = win32.$(OBJEXT)
  am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) asn.$(OBJEXT) \
  	authenticate.$(OBJEXT) cache_cf.$(OBJEXT) \
  	CacheDigest.$(OBJEXT) cache_manager.$(OBJEXT) carp.$(OBJEXT) \
-@@ -132,27 +137,27 @@
+@@ -135,27 +139,27 @@
  	HttpHdrRange.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
  	HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
  	HttpBody.$(OBJEXT) HttpMsg.$(OBJEXT) HttpReply.$(OBJEXT) \
 -	HttpRequest.$(OBJEXT) icmp.$(OBJEXT) icp_v2.$(OBJEXT) \
 -	icp_v3.$(OBJEXT) ident.$(OBJEXT) internal.$(OBJEXT) \
--	ipc.$(OBJEXT) ipcache.$(OBJEXT) $(am__objects_5) \
+-	$(am__objects_5) ipcache.$(OBJEXT) $(am__objects_6) \
 -	locrewrite.$(OBJEXT) logfile.$(OBJEXT) main.$(OBJEXT) \
 -	mem.$(OBJEXT) MemPool.$(OBJEXT) MemBuf.$(OBJEXT) \
 -	mime.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
@@ -386,33 +387,33 @@
 -	peer_digest.$(OBJEXT) peer_monitor.$(OBJEXT) \
 +	HttpRequest.$(OBJEXT) $(am__objects_5) icmp.$(OBJEXT) \
 +	icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) ident.$(OBJEXT) \
-+	internal.$(OBJEXT) ipc.$(OBJEXT) ipcache.$(OBJEXT) \
-+	$(am__objects_6) locrewrite.$(OBJEXT) logfile.$(OBJEXT) \
++	internal.$(OBJEXT) $(am__objects_6) ipcache.$(OBJEXT) \
++	$(am__objects_7) locrewrite.$(OBJEXT) logfile.$(OBJEXT) \
 +	main.$(OBJEXT) mem.$(OBJEXT) MemPool.$(OBJEXT) \
 +	MemBuf.$(OBJEXT) mime.$(OBJEXT) multicast.$(OBJEXT) \
 +	neighbors.$(OBJEXT) net_db.$(OBJEXT) Packer.$(OBJEXT) \
 +	pconn.$(OBJEXT) peer_digest.$(OBJEXT) peer_monitor.$(OBJEXT) \
  	peer_select.$(OBJEXT) peer_sourcehash.$(OBJEXT) \
  	peer_userhash.$(OBJEXT) redirect.$(OBJEXT) referer.$(OBJEXT) \
--	refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_6) \
--	ssl.$(OBJEXT) $(am__objects_7) stat.$(OBJEXT) \
-+	refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_7) \
-+	ssl.$(OBJEXT) $(am__objects_8) stat.$(OBJEXT) \
+-	refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_7) \
+-	ssl.$(OBJEXT) $(am__objects_8) stat.$(OBJEXT) \
++	refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_8) \
++	ssl.$(OBJEXT) $(am__objects_9) stat.$(OBJEXT) \
  	StatHist.$(OBJEXT) String.$(OBJEXT) stmem.$(OBJEXT) \
  	store.$(OBJEXT) store_io.$(OBJEXT) store_client.$(OBJEXT) \
  	store_digest.$(OBJEXT) store_dir.$(OBJEXT) \
  	store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
  	store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
  	store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
--	tools.$(OBJEXT) $(am__objects_8) url.$(OBJEXT) urn.$(OBJEXT) \
-+	tools.$(OBJEXT) $(am__objects_9) url.$(OBJEXT) urn.$(OBJEXT) \
+-	tools.$(OBJEXT) $(am__objects_9) url.$(OBJEXT) urn.$(OBJEXT) \
++	tools.$(OBJEXT) $(am__objects_10) url.$(OBJEXT) urn.$(OBJEXT) \
  	useragent.$(OBJEXT) wais.$(OBJEXT) wccp.$(OBJEXT) \
--	wccp2.$(OBJEXT) whois.$(OBJEXT) $(am__objects_9)
-+	wccp2.$(OBJEXT) whois.$(OBJEXT) $(am__objects_10)
+-	wccp2.$(OBJEXT) whois.$(OBJEXT) $(am__objects_10)
++	wccp2.$(OBJEXT) whois.$(OBJEXT) $(am__objects_11)
  nodist_squid_OBJECTS = repl_modules.$(OBJEXT) auth_modules.$(OBJEXT) \
  	store_modules.$(OBJEXT) globals.$(OBJEXT) \
  	string_arrays.$(OBJEXT)
-@@ -274,6 +279,10 @@
+@@ -282,6 +286,10 @@
  NEED_OWN_MD5_TRUE = @NEED_OWN_MD5_TRUE@
  NEED_OWN_SNPRINTF_FALSE = @NEED_OWN_SNPRINTF_FALSE@
  NEED_OWN_SNPRINTF_TRUE = @NEED_OWN_SNPRINTF_TRUE@
@@ -423,7 +424,7 @@
  NEED_OWN_STRSEP_FALSE = @NEED_OWN_STRSEP_FALSE@
  NEED_OWN_STRSEP_TRUE = @NEED_OWN_STRSEP_TRUE@
  NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@
-@@ -311,6 +320,8 @@
+@@ -321,6 +329,8 @@
  USE_DNSSERVER_TRUE = @USE_DNSSERVER_TRUE@
  USE_EPOLL_FALSE = @USE_EPOLL_FALSE@
  USE_EPOLL_TRUE = @USE_EPOLL_TRUE@
@@ -432,7 +433,7 @@
  USE_KQUEUE_FALSE = @USE_KQUEUE_FALSE@
  USE_KQUEUE_TRUE = @USE_KQUEUE_TRUE@
  USE_POLL_FALSE = @USE_POLL_FALSE@
-@@ -363,6 +374,8 @@
+@@ -374,6 +384,8 @@
  sharedstatedir = @sharedstatedir@
  sysconfdir = @sysconfdir@
  target_alias = @target_alias@
@@ -441,7 +442,7 @@
  @USE_DNSSERVER_FALSE@DNSSOURCE = dns_internal.c
  @USE_DNSSERVER_TRUE@DNSSOURCE = dns.c
  @USE_DNSSERVER_FALSE@DNSSERVER = 
-@@ -458,6 +471,7 @@
+@@ -475,6 +487,7 @@
  	HttpMsg.c \
  	HttpReply.c \
  	HttpRequest.c \
@@ -449,7 +450,7 @@
  	icmp.c \
  	icp_v2.c \
  	icp_v3.c \
-@@ -768,6 +782,10 @@
+@@ -786,6 +799,10 @@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htcp.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Po@am__quote@
Index: files/icap-2.6-core.patch
===================================================================
--- files/icap-2.6-core.patch	(.../www/squid26)	(revision 1022)
+++ files/icap-2.6-core.patch	(.../local/squid26)	(revision 1022)
@@ -16,7 +16,9 @@
 See http://devel.squid-cache.org/icap/ for further information
 about the ICAP client project.
 
-Patch last updated: 2006-08-19
+Patch last updated: 2006-10-08; manually tweaked to reflect a change
+from Squid patchset 11044 that was not merged back to the ICAP branch at
+that time.
 
 Index: errors/Azerbaijani/ERR_ICAP_FAILURE
 ===================================================================
@@ -1163,14 +1165,14 @@
 Index: include/util.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/include/util.h,v
-retrieving revision 1.13
-retrieving revision 1.13.8.1
-diff -p -u -b -r1.13 -r1.13.8.1
---- include/util.h	12 May 2006 22:51:56 -0000	1.13
-+++ include/util.h	17 May 2006 17:58:00 -0000	1.13.8.1
-@@ -123,4 +123,12 @@ double drand48(void);
-  */
- int statMemoryAccounted(void);
+retrieving revision 1.15
+retrieving revision 1.13.8.2
+diff -p -u -b -r1.15 -r1.13.8.2
+--- include/util.h	18 Sep 2006 23:52:30 -0000	1.15
++++ include/util.h	26 Sep 2006 22:47:30 -0000	1.13.8.2
+@@ -151,4 +151,12 @@ extern void WIN32_maperror(unsigned long
+ extern int WIN32_Close_FD_Socket(int);
+ #endif
  
 +#ifndef HAVE_STRNSTR
 +extern char *strnstr(const char *haystack, const char *needle, size_t haystacklen);
@@ -1376,11 +1378,11 @@
 Index: src/MemBuf.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/MemBuf.c,v
-retrieving revision 1.10
-retrieving revision 1.9.10.3
-diff -p -u -b -r1.10 -r1.9.10.3
---- src/MemBuf.c	20 May 2006 22:50:55 -0000	1.10
-+++ src/MemBuf.c	12 Aug 2006 23:02:50 -0000	1.9.10.3
+retrieving revision 1.11
+retrieving revision 1.9.10.4
+diff -p -u -b -r1.11 -r1.9.10.4
+--- src/MemBuf.c	16 Aug 2006 00:53:02 -0000	1.11
++++ src/MemBuf.c	21 Aug 2006 19:48:09 -0000	1.9.10.4
 @@ -341,3 +341,15 @@ memBufReport(MemBuf * mb)
      assert(mb);
      memBufPrintf(mb, "memBufReport is not yet implemented @?@\n");
@@ -1400,12 +1402,12 @@
 Index: src/cache_cf.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/cache_cf.c,v
-retrieving revision 1.80
-retrieving revision 1.61.4.8
-diff -p -u -b -r1.80 -r1.61.4.8
---- src/cache_cf.c	30 Jul 2006 23:52:54 -0000	1.80
-+++ src/cache_cf.c	3 Aug 2006 17:16:01 -0000	1.61.4.8
-@@ -2367,6 +2367,587 @@ check_null_body_size_t(dlink_list bodyli
+retrieving revision 1.84
+retrieving revision 1.61.4.10
+diff -p -u -b -r1.84 -r1.61.4.10
+--- src/cache_cf.c	22 Sep 2006 10:53:20 -0000	1.84
++++ src/cache_cf.c	26 Sep 2006 22:47:32 -0000	1.61.4.10
+@@ -2380,6 +2380,587 @@ check_null_body_size_t(dlink_list bodyli
      return bodylist.head == NULL;
  }
  
@@ -2015,12 +2017,12 @@
 Index: src/cf.data.pre
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/cf.data.pre,v
-retrieving revision 1.147
-retrieving revision 1.100.4.8
-diff -p -u -b -r1.147 -r1.100.4.8
---- src/cf.data.pre	3 Aug 2006 02:53:44 -0000	1.147
-+++ src/cf.data.pre	3 Aug 2006 17:16:02 -0000	1.100.4.8
-@@ -3178,7 +3178,6 @@ DOC_START
+retrieving revision 1.156
+retrieving revision 1.100.4.10
+diff -p -u -b -r1.156 -r1.100.4.10
+--- src/cf.data.pre	25 Sep 2006 20:52:28 -0000	1.156
++++ src/cf.data.pre	26 Sep 2006 22:47:33 -0000	1.100.4.10
+@@ -3187,7 +3187,6 @@ DOC_START
  	ensure correct results it is best to set server_persistent_connections
  	to off when using this directive in such configurations.
  DOC_END
@@ -2028,7 +2030,7 @@
  NAME: reply_header_max_size
  COMMENT: (KB)
  TYPE: b_size_t
-@@ -3447,6 +3446,187 @@ DOC_START
+@@ -3456,6 +3455,187 @@ DOC_START
  DOC_END
  
  COMMENT_START
@@ -2235,11 +2237,11 @@
 Index: src/client_side.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/client_side.c,v
-retrieving revision 1.138
-retrieving revision 1.89.4.10
-diff -p -u -b -r1.138 -r1.89.4.10
---- src/client_side.c	2 Aug 2006 21:51:40 -0000	1.138
-+++ src/client_side.c	3 Aug 2006 17:16:02 -0000	1.89.4.10
+retrieving revision 1.146
+retrieving revision 1.89.4.12
+diff -p -u -b -r1.146 -r1.89.4.12
+--- src/client_side.c	22 Sep 2006 09:52:57 -0000	1.146
++++ src/client_side.c	26 Sep 2006 22:47:34 -0000	1.89.4.12
 @@ -109,7 +109,7 @@ static const char *const crlf = "\r\n";
  static CWCB clientWriteComplete;
  static CWCB clientWriteBodyComplete;
@@ -2295,7 +2297,7 @@
  clientCreateStoreEntry(clientHttpRequest * h, method_t m, request_flags flags)
  {
      StoreEntry *e;
-@@ -642,6 +645,10 @@ clientRedirectDone(void *data, char *res
+@@ -638,6 +641,10 @@ clientRedirectDone(void *data, char *res
      if (urlgroup && *urlgroup)
  	http->request->urlgroup = xstrdup(urlgroup);
      clientInterpretRequestHeaders(http);
@@ -2306,7 +2308,7 @@
  #if HEADERS_LOG
      headersLog(0, 1, request->method, request);
  #endif
-@@ -1380,11 +1387,22 @@ httpRequestFree(void *data)
+@@ -1372,11 +1379,22 @@ httpRequestFree(void *data)
      *H = http->next;
      http->next = NULL;
      dlinkDelete(&http->active, &ClientActiveRequests);
@@ -2330,7 +2332,7 @@
  connStateFree(int fd, void *data)
  {
      ConnStateData *connState = data;
-@@ -1401,8 +1419,9 @@ connStateFree(int fd, void *data)
+@@ -1393,8 +1411,9 @@ connStateFree(int fd, void *data)
  	authenticateAuthUserRequestUnlock(connState->auth_user_request);
      connState->auth_user_request = NULL;
      authenticateOnCloseConnection(connState);
@@ -2341,7 +2343,7 @@
      if (connState->pinning.fd >= 0)
  	comm_close(connState->pinning.fd);
      cbdataFree(connState);
-@@ -1600,7 +1619,7 @@ clientSetKeepaliveFlag(clientHttpRequest
+@@ -1592,7 +1611,7 @@ clientSetKeepaliveFlag(clientHttpRequest
      }
  }
  
@@ -2350,7 +2352,7 @@
  clientCheckContentLength(request_t * r)
  {
      switch (r->method) {
-@@ -1619,7 +1638,7 @@ clientCheckContentLength(request_t * r)
+@@ -1611,7 +1630,7 @@ clientCheckContentLength(request_t * r)
      /* NOT REACHED */
  }
  
@@ -2359,7 +2361,7 @@
  clientCachable(clientHttpRequest * http)
  {
      request_t *req = http->request;
-@@ -1645,7 +1664,7 @@ clientCachable(clientHttpRequest * http)
+@@ -1637,7 +1656,7 @@ clientCachable(clientHttpRequest * http)
  }
  
  /* Return true if we can query our neighbors for this object */
@@ -2368,7 +2370,7 @@
  clientHierarchical(clientHttpRequest * http)
  {
      const char *url = http->uri;
-@@ -3350,7 +3369,7 @@ clientProcessRequest2(clientHttpRequest 
+@@ -3339,7 +3358,7 @@ clientProcessRequest2(clientHttpRequest 
      return LOG_TCP_HIT;
  }
  
@@ -2377,10 +2379,10 @@
  clientProcessRequest(clientHttpRequest * http)
  {
      char *url = http->uri;
-@@ -3360,6 +3379,11 @@ clientProcessRequest(clientHttpRequest *
-     debug(33, 4) ("clientProcessRequest: %s '%s'\n",
+@@ -3362,6 +3381,11 @@ clientProcessRequest(clientHttpRequest *
  	RequestMethodStr[r->method],
  	url);
+     r->flags.collapsed = 0;
 +#if HS_FEAT_ICAP
 +    if (clientIcapReqMod(http)) {
 +	return;
@@ -2389,7 +2391,7 @@
      if (r->method == METHOD_CONNECT && !http->redirect.status) {
  	http->log_type = LOG_TCP_MISS;
  #if USE_SSL && SSL_CONNECT_INTERCEPT
-@@ -3814,6 +3838,20 @@ clientReadRequest(int fd, void *data)
+@@ -3806,6 +3830,20 @@ clientReadRequest(int fd, void *data)
  	    (long) conn->in.offset, (long) conn->in.size);
  	len = conn->in.size - conn->in.offset - 1;
      }
@@ -2410,17 +2412,24 @@
      statCounter.syscalls.sock.reads++;
      size = FD_READ_METHOD(fd, conn->in.buf + conn->in.offset, len);
      if (size > 0) {
-@@ -3917,7 +3955,8 @@ clientReadRequest(int fd, void *data)
+@@ -3909,7 +3947,15 @@ clientReadRequest(int fd, void *data)
  	    /* add to the client request queue */
  	    for (H = &conn->chr; *H; H = &(*H)->next);
  	    *H = http;
 -	    conn->nrequests++;
 +	    F->pconn.uses++;
 +	    F->pconn.type = 0;
- 	    /*
- 	     * I wanted to lock 'http' here since its callback data for 
- 	     * clientLifetimeTimeout(), but there's no logical place to
-@@ -4100,7 +4139,7 @@ clientReadRequest(int fd, void *data)
++	    /*
++	     * I wanted to lock 'http' here since its callback data for 
++	     * clientLifetimeTimeout(), but there's no logical place to
++	     * cbdataUnlock if the timeout never happens.  Maybe its safe
++	     * enough to assume that if the FD is open, and the timeout
++	     * triggers, that 'http' is valid.
++	     */
+ 	    commSetTimeout(fd, Config.Timeout.lifetime, clientLifetimeTimeout, http);
+ 	    if (parser_return_code < 0) {
+ 		debug(33, 1) ("clientReadRequest: FD %d (%s:%d) Invalid Request\n", fd, fd_table[fd].ipaddr, fd_table[fd].remote_port);
+@@ -4080,7 +4126,7 @@ clientReadRequest(int fd, void *data)
  }
  
  /* file_read like function, for reading body content */
@@ -2429,7 +2438,7 @@
  clientReadBody(request_t * request, char *buf, size_t size, CBCB * callback, void *cbdata)
  {
      ConnStateData *conn = request->body_reader_data;
-@@ -4229,7 +4268,7 @@ clientProcessBody(ConnStateData * conn)
+@@ -4209,7 +4255,7 @@ clientProcessBody(ConnStateData * conn)
  }
  
  /* Abort a body request */
@@ -2438,7 +2447,7 @@
  clientAbortBody(request_t * request)
  {
      ConnStateData *conn = request->body_reader_data;
-@@ -4271,7 +4310,7 @@ requestTimeout(int fd, void *data)
+@@ -4251,7 +4297,7 @@ requestTimeout(int fd, void *data)
  	 * Some data has been sent to the client, just close the FD
  	 */
  	comm_close(fd);
@@ -2447,7 +2456,7 @@
  	/*
  	 * assume its a persistent connection; just close it
  	 */
-@@ -5007,6 +5046,52 @@ varyEvaluateMatch(StoreEntry * entry, re
+@@ -4989,6 +5035,52 @@ varyEvaluateMatch(StoreEntry * entry, re
      }
  }
  
@@ -2483,7 +2492,7 @@
 +	http->icap_reqmod = NULL;
 +	debug(33, 2) ("clientIcapReqMod: icap told us to send an error\n");
 +	http->log_type = LOG_TCP_DENIED;
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, http->orig_request);
 +	err->xerrno = ETIMEDOUT;
 +	err->request = requestLink(http->request);
 +	err->src_addr = http->conn->peer.sin_addr;
@@ -2503,12 +2512,12 @@
 Index: src/comm.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/comm.c,v
-retrieving revision 1.44
-retrieving revision 1.29.10.6
-diff -p -u -b -r1.44 -r1.29.10.6
---- src/comm.c	27 Jun 2006 11:52:53 -0000	1.44
-+++ src/comm.c	28 Jun 2006 21:11:59 -0000	1.29.10.6
-@@ -736,8 +736,8 @@ comm_close(int fd)
+retrieving revision 1.48
+retrieving revision 1.29.10.8
+diff -p -u -b -r1.48 -r1.29.10.8
+--- src/comm.c	9 Sep 2006 12:50:47 -0000	1.48
++++ src/comm.c	26 Sep 2006 22:47:35 -0000	1.29.10.8
+@@ -742,8 +742,8 @@ comm_close(int fd)
      F->flags.closing = 1;
      CommWriteStateCallbackAndFree(fd, COMM_ERR_CLOSING);
      commCallCloseHandlers(fd);
@@ -2645,12 +2654,12 @@
 Index: src/forward.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/forward.c,v
-retrieving revision 1.40
-retrieving revision 1.20.4.7
-diff -p -u -b -r1.40 -r1.20.4.7
---- src/forward.c	30 Jun 2006 21:52:14 -0000	1.40
-+++ src/forward.c	22 Jul 2006 14:12:01 -0000	1.20.4.7
-@@ -362,8 +362,9 @@ fwdConnectDone(int server_fd, int status
+retrieving revision 1.41
+retrieving revision 1.20.4.8
+diff -p -u -b -r1.41 -r1.20.4.8
+--- src/forward.c	25 Aug 2006 12:53:49 -0000	1.41
++++ src/forward.c	26 Sep 2006 22:47:35 -0000	1.20.4.8
+@@ -358,8 +358,9 @@ fwdConnectDone(int server_fd, int status
      } else {
  	debug(17, 3) ("fwdConnectDone: FD %d: '%s'\n", server_fd, storeUrl(fwdState->entry));
  	fd_note(server_fd, storeUrl(fwdState->entry));
@@ -2662,7 +2671,7 @@
  	    peerConnectSucceded(fs->peer);
  #if USE_SSL
  	if ((fs->peer && fs->peer->use_ssl) ||
-@@ -941,6 +942,8 @@ fwdCheckDeferRead(int fd, void *data)
+@@ -934,6 +935,8 @@ fwdCheckDeferRead(int fd, void *data)
  void
  fwdFail(FwdState * fwdState, ErrorState * errorState)
  {
@@ -2671,7 +2680,7 @@
      debug(17, 3) ("fwdFail: %s \"%s\"\n\t%s\n",
  	err_type_str[errorState->type],
  	httpStatusString(errorState->http_status),
-@@ -979,6 +982,8 @@ fwdPeerClosed(int fd, void *data)
+@@ -972,6 +975,8 @@ fwdPeerClosed(int fd, void *data)
  void
  fwdUnregister(int fd, FwdState * fwdState)
  {
@@ -2680,7 +2689,7 @@
      debug(17, 3) ("fwdUnregister: %s\n", storeUrl(fwdState->entry));
      assert(fd == fwdState->server_fd);
      assert(fd > -1);
-@@ -998,7 +1003,10 @@ fwdUnregister(int fd, FwdState * fwdStat
+@@ -991,7 +996,10 @@ fwdUnregister(int fd, FwdState * fwdStat
  void
  fwdComplete(FwdState * fwdState)
  {
@@ -2695,11 +2704,11 @@
 Index: src/globals.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/globals.h,v
-retrieving revision 1.26
-retrieving revision 1.22.4.4
-diff -p -u -b -r1.26 -r1.22.4.4
---- src/globals.h	30 Jul 2006 23:52:54 -0000	1.26
-+++ src/globals.h	3 Aug 2006 17:16:04 -0000	1.22.4.4
+retrieving revision 1.27
+retrieving revision 1.22.4.5
+diff -p -u -b -r1.27 -r1.22.4.5
+--- src/globals.h	25 Sep 2006 19:51:46 -0000	1.27
++++ src/globals.h	26 Sep 2006 22:47:36 -0000	1.22.4.5
 @@ -171,6 +171,9 @@ extern const char *external_acl_message;
  #if HAVE_SBRK
  extern void *sbrk_start;	/* 0 */
@@ -2713,11 +2722,11 @@
 Index: src/http.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/http.c,v
-retrieving revision 1.47
-retrieving revision 1.28.4.9
-diff -p -u -b -r1.47 -r1.28.4.9
---- src/http.c	26 Jul 2006 20:51:25 -0000	1.47
-+++ src/http.c	3 Aug 2006 17:16:04 -0000	1.28.4.9
+retrieving revision 1.48
+retrieving revision 1.28.4.10
+diff -p -u -b -r1.48 -r1.28.4.10
+--- src/http.c	25 Aug 2006 12:53:50 -0000	1.48
++++ src/http.c	26 Sep 2006 22:47:36 -0000	1.28.4.10
 @@ -47,7 +47,7 @@ static CWCB httpSendRequestEntry;
  
  static PF httpReadReply;
@@ -2992,7 +3001,7 @@
 +		/* TODO: send error here and exit */
 +		ErrorState *err;
 +		httpState->icap_writer = 0;
-+		err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
++		err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, httpState->fwd->request);
 +		err->xerrno = errno;
 +		err->request = requestLink(httpState->orig_request);
 +		errorAppendEntry(entry, err);
@@ -4462,8 +4471,8 @@
 RCS file: src/icap_reqmod.c
 diff -N src/icap_reqmod.c
 --- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ src/icap_reqmod.c	13 Jun 2006 17:14:53 -0000	1.1.14.6
-@@ -0,0 +1,992 @@
++++ src/icap_reqmod.c	26 Sep 2006 22:47:36 -0000	1.1.14.7
+@@ -0,0 +1,990 @@
 +
 +/*
 + * $Id$
@@ -4509,6 +4518,7 @@
 +
 +PF clientReadRequest;
 +PF connStateFree;
++StoreEntry *clientCreateStoreEntry(clientHttpRequest *, method_t, request_flags);
 +int clientReadDefer(int fd, void *data);
 +int clientCheckContentLength(request_t * r);
 +void clientProcessRequest(clientHttpRequest *);
@@ -4635,8 +4645,7 @@
 +    if (!urlCheckRequest(request) ||
 +	httpHeaderHas(&request->header, HDR_TRANSFER_ENCODING)) {
 +	ErrorState *err;
-+	err = errorCon(ERR_UNSUP_REQ, HTTP_NOT_IMPLEMENTED);
-+	err->request = requestLink(request);
++	err = errorCon(ERR_UNSUP_REQ, HTTP_NOT_IMPLEMENTED, request);
 +	request->flags.proxy_keepalive = 0;
 +	http->entry =
 +	    clientCreateStoreEntry(http, request->method, null_request_flags);
@@ -4645,8 +4654,7 @@
 +    }
 +    if (!clientCheckContentLength(request)) {
 +	ErrorState *err;
-+	err = errorCon(ERR_INVALID_REQ, HTTP_LENGTH_REQUIRED);
-+	err->request = requestLink(request);
++	err = errorCon(ERR_INVALID_REQ, HTTP_LENGTH_REQUIRED, request);
 +	http->entry =
 +	    clientCreateStoreEntry(http, request->method, null_request_flags);
 +	errorAppendEntry(http->entry, err);
@@ -4695,9 +4703,8 @@
 +	return;
 +    http->entry = clientCreateStoreEntry(http,
 +	icap->request->method, null_request_flags);
-+    err = errorCon(et, hs);
++    err = errorCon(et, hs, icap->request);
 +    err->xerrno = xerrno;
-+    err->request = requestLink(icap->request);
 +    errorAppendEntry(http->entry, err);
 +}
 +
@@ -5461,8 +5468,8 @@
 RCS file: src/icap_respmod.c
 diff -N src/icap_respmod.c
 --- /dev/null	1 Jan 1970 00:00:00 -0000
-+++ src/icap_respmod.c	25 Jun 2006 10:43:07 -0000	1.1.14.6
-@@ -0,0 +1,1065 @@
++++ src/icap_respmod.c	26 Sep 2006 22:47:36 -0000	1.1.14.7
+@@ -0,0 +1,1058 @@
 +
 +/*
 + * $Id$
@@ -5725,8 +5732,7 @@
 +	// http connection has been closed without sending us anything
 +	if (len == 0 && theEnd == 1) {
 +	    ErrorState *err;
-+	    err = errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY);
-+	    err->request = requestLink(icap->request);
++	    err = errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY, icap->request);
 +	    errorAppendEntry(icap->respmod.entry, err);
 +	    comm_close(icap->icap_fd);
 +	    return;
@@ -5891,8 +5897,7 @@
 +    if (x < 0) {
 +	/* Did not find a proper ICAP response */
 +	debug(81, 3) ("ICAP : Error path!\n");
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
-+	err->request = requestLink(icap->request);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
 +	err->xerrno = errno;
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
@@ -5916,8 +5921,7 @@
 +		&version_major, &version_minor, &str_status)) < 0) {
 +	debug(81, 1) ("BAD ICAP status line <%s>\n", icap->icap_hdr.buf);
 +	/* is this correct in case of ICAP protocol error? */
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
-+	err->request = requestLink(icap->request);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
 +	err->xerrno = errno;
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
@@ -5992,8 +5996,7 @@
 +    if (200 != status && 201 != status) {
 +	debug(81, 1) ("Unsupported status '%d' from ICAP server\n", status);
 +	/* Did not find a proper ICAP response */
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
-+	err->request = requestLink(icap->request);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
 +	err->xerrno = errno;
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
@@ -6020,8 +6023,7 @@
 +    if (!directResponse) {
 +	/* Did not find a proper ICAP response */
 +	debug(81, 3) ("ICAP : Error path!\n");
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
-+	err->request = requestLink(icap->request);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
 +	err->xerrno = errno;
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
@@ -6079,10 +6081,11 @@
 +    if (errflag == COMM_ERR_CLOSING)
 +	return;
 +    if (errflag) {
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
++	if (cbdataValid(icap)) 
++	    err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
++	else
++	    err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, NULL);
 +	err->xerrno = errno;
-+	if (cbdataValid(icap))
-+	    err->request = requestLink(icap->request);
 +	storeEntryReset(icap->respmod.entry);
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
@@ -6133,9 +6136,8 @@
 +    debug(81, 3) ("icapConnectOver: FD %d, status=%d\n", fd, status);
 +    icap->flags.connect_pending = 0;
 +    if (status < 0) {
-+	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
++	err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, icap->request);
 +	err->xerrno = errno;
-+	err->request = requestLink(icap->request);
 +	errorAppendEntry(icap->respmod.entry, err);
 +	comm_close(fd);
 +	debug(81, 3) ("icapConnectOver: status < 0, unreachable=1\n");
@@ -6387,8 +6389,7 @@
 +	} else if (entry->mem_obj->inmem_hi == 0) {
 +	    ErrorState *err;
 +	    debug(81, 2) ("icapReadReply: FD %d: generating error page\n", fd);
-+	    err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
-+	    err->request = requestLink((request_t *) request);
++	    err = errorCon(ERR_ICAP_FAILURE, HTTP_INTERNAL_SERVER_ERROR, (request_t *)request);
 +	    err->xerrno = errno;
 +	    errorAppendEntry(entry, err);
 +	    comm_close(fd);
@@ -6411,9 +6412,8 @@
 +    debug(81, 3) ("icapReadReply2\n");
 +    if (icap->chunk_buf.size == 0 && entry->mem_obj->inmem_hi == 0) {
 +	ErrorState *err;
-+	err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE);
++	err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE, (request_t *)request);
 +	err->xerrno = errno;
-+	err->request = requestLink((request_t *) request);
 +	errorAppendEntry(entry, err);
 +	icap->flags.http_server_eof = 1;
 +	return -1;
@@ -6531,11 +6531,11 @@
 Index: src/main.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/main.c,v
-retrieving revision 1.67
-retrieving revision 1.45.4.7
-diff -p -u -b -r1.67 -r1.45.4.7
---- src/main.c	30 Jul 2006 23:52:54 -0000	1.67
-+++ src/main.c	3 Aug 2006 17:16:04 -0000	1.45.4.7
+retrieving revision 1.71
+retrieving revision 1.45.4.9
+diff -p -u -b -r1.71 -r1.45.4.9
+--- src/main.c	2 Sep 2006 14:17:45 -0000	1.71
++++ src/main.c	26 Sep 2006 22:47:37 -0000	1.45.4.9
 @@ -391,6 +391,9 @@ mainReconfigure(void)
  #else
      idnsShutdown();
@@ -6556,7 +6556,7 @@
      authenticateInit(&Config.authConfig);
      externalAclInit();
  #if USE_WCCP
-@@ -565,6 +571,9 @@ mainInitialize(void)
+@@ -573,6 +579,9 @@ mainInitialize(void)
      redirectInit();
      locationRewriteInit();
      errorMapInit();
@@ -6673,12 +6673,12 @@
 Index: src/protos.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/protos.h,v
-retrieving revision 1.118
-retrieving revision 1.74.4.8
-diff -p -u -b -r1.118 -r1.74.4.8
---- src/protos.h	30 Jul 2006 23:52:54 -0000	1.118
-+++ src/protos.h	3 Aug 2006 17:16:05 -0000	1.74.4.8
-@@ -295,6 +295,8 @@ extern void whoisStart(FwdState *);
+retrieving revision 1.128
+retrieving revision 1.74.4.10
+diff -p -u -b -r1.128 -r1.74.4.10
+--- src/protos.h	22 Sep 2006 10:53:21 -0000	1.128
++++ src/protos.h	26 Sep 2006 22:47:37 -0000	1.74.4.10
+@@ -300,6 +300,8 @@ extern void whoisStart(FwdState *);
  /* http.c */
  extern int httpCachable(method_t);
  extern void httpStart(FwdState *);
@@ -6687,7 +6687,7 @@
  extern int httpBuildRequestPrefix(request_t * request,
      request_t * orig_request,
      StoreEntry * entry,
-@@ -617,6 +619,7 @@ extern void memBufVPrintf(MemBuf * mb, c
+@@ -622,6 +624,7 @@ extern void memBufVPrintf(MemBuf * mb, c
  extern FREE *memBufFreeFunc(MemBuf * mb);
  /* puts report on MemBuf _module_ usage into mb */
  extern void memBufReport(MemBuf * mb);
@@ -6695,7 +6695,7 @@
  
  extern char *mime_get_header(const char *mime, const char *header);
  extern char *mime_get_header_field(const char *mime, const char *name, const char *prefix);
-@@ -1409,4 +1412,53 @@ void storeLocateVaryDone(VaryData * data
+@@ -1415,4 +1418,53 @@ void storeLocateVaryDone(VaryData * data
  void storeLocateVary(StoreEntry * e, int offset, const char *vary_data, String accept_encoding, STLVCB * callback, void *cbdata);
  void storeAddVary(const char *url, const char *log_url, const method_t method, const cache_key * key, const char *etag, const char *vary, const char *vary_headers, const char *accept_encoding);
  
@@ -6752,11 +6752,11 @@
 Index: src/squid.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/squid.h,v
-retrieving revision 1.34
-retrieving revision 1.24.8.5
-diff -p -u -b -r1.34 -r1.24.8.5
---- src/squid.h	8 Jun 2006 13:51:37 -0000	1.34
-+++ src/squid.h	12 Jun 2006 17:56:59 -0000	1.24.8.5
+retrieving revision 1.36
+retrieving revision 1.24.8.7
+diff -p -u -b -r1.36 -r1.24.8.7
+--- src/squid.h	8 Sep 2006 19:50:59 -0000	1.36
++++ src/squid.h	26 Sep 2006 22:47:38 -0000	1.24.8.7
 @@ -38,6 +38,14 @@
  #include "config.h"
  
@@ -6775,12 +6775,12 @@
 Index: src/stat.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/stat.c,v
-retrieving revision 1.34
-retrieving revision 1.26.8.7
-diff -p -u -b -r1.34 -r1.26.8.7
---- src/stat.c	29 Jul 2006 17:50:57 -0000	1.34
-+++ src/stat.c	3 Aug 2006 17:16:06 -0000	1.26.8.7
-@@ -787,6 +787,17 @@ statAvgDump(StoreEntry * sentry, int min
+retrieving revision 1.37
+retrieving revision 1.26.8.9
+diff -p -u -b -r1.37 -r1.26.8.9
+--- src/stat.c	18 Sep 2006 23:52:32 -0000	1.37
++++ src/stat.c	26 Sep 2006 22:47:38 -0000	1.26.8.9
+@@ -804,6 +804,17 @@ statAvgDump(StoreEntry * sentry, int min
      storeAppendPrintf(sentry, "server.other.kbytes_out = %f/sec\n",
  	XAVG(server.other.kbytes_out.kb));
  
@@ -6798,7 +6798,7 @@
      storeAppendPrintf(sentry, "icp.pkts_sent = %f/sec\n",
  	XAVG(icp.pkts_sent));
      storeAppendPrintf(sentry, "icp.pkts_recv = %f/sec\n",
-@@ -1171,6 +1182,17 @@ statCountersDump(StoreEntry * sentry)
+@@ -1188,6 +1199,17 @@ statCountersDump(StoreEntry * sentry)
      storeAppendPrintf(sentry, "server.other.kbytes_out = %d\n",
  	(int) f->server.other.kbytes_out.kb);
  
@@ -6816,7 +6816,7 @@
      storeAppendPrintf(sentry, "icp.pkts_sent = %d\n",
  	f->icp.pkts_sent);
      storeAppendPrintf(sentry, "icp.pkts_recv = %d\n",
-@@ -1471,8 +1493,6 @@ statClientRequests(StoreEntry * s)
+@@ -1488,8 +1510,6 @@ statClientRequests(StoreEntry * s)
  	    storeAppendPrintf(s, "\tme: %s:%d\n",
  		inet_ntoa(conn->me.sin_addr),
  		ntohs(conn->me.sin_port));
@@ -6828,12 +6828,12 @@
 Index: src/store.c
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/store.c,v
-retrieving revision 1.35
-retrieving revision 1.21.10.7
-diff -p -u -b -r1.35 -r1.21.10.7
---- src/store.c	17 Jul 2006 02:51:31 -0000	1.35
-+++ src/store.c	22 Jul 2006 14:12:02 -0000	1.21.10.7
-@@ -1088,8 +1088,17 @@ storeAppend(StoreEntry * e, const char *
+retrieving revision 1.36
+retrieving revision 1.21.10.8
+diff -p -u -b -r1.36 -r1.21.10.8
+--- src/store.c	16 Aug 2006 00:53:06 -0000	1.36
++++ src/store.c	21 Aug 2006 19:48:11 -0000	1.21.10.8
+@@ -1097,8 +1097,17 @@ storeAppend(StoreEntry * e, const char *
      MemObject *mem = e->mem_obj;
      assert(mem != NULL);
      assert(len >= 0);
@@ -6855,11 +6855,11 @@
 Index: src/structs.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/structs.h,v
-retrieving revision 1.126
-retrieving revision 1.81.4.8
-diff -p -u -b -r1.126 -r1.81.4.8
---- src/structs.h	30 Jul 2006 23:52:55 -0000	1.126
-+++ src/structs.h	3 Aug 2006 17:16:06 -0000	1.81.4.8
+retrieving revision 1.132
+retrieving revision 1.81.4.10
+diff -p -u -b -r1.132 -r1.81.4.10
+--- src/structs.h	21 Sep 2006 04:51:56 -0000	1.132
++++ src/structs.h	26 Sep 2006 22:47:38 -0000	1.81.4.10
 @@ -423,6 +423,23 @@ struct _RemovalPolicySettings {
      wordlist *args;
  };
@@ -6884,7 +6884,7 @@
  struct _SquidConfig {
      struct {
  	squid_off_t maxSize;
-@@ -808,6 +825,9 @@ struct _SquidConfig {
+@@ -810,6 +827,9 @@ struct _SquidConfig {
  #endif
      time_t refresh_stale_window;
      int umask;
@@ -6894,7 +6894,7 @@
  };
  
  struct _SquidConfig2 {
-@@ -879,6 +899,10 @@ struct _fde {
+@@ -891,6 +911,10 @@ struct _fde {
      comm_pending write_pending;
      squid_off_t bytes_read;
      squid_off_t bytes_written;
@@ -6905,7 +6905,7 @@
      int uses;			/* ie # req's over persistent conn */
      struct _fde_disk {
  	DWCB *wrt_handle;
-@@ -1075,6 +1099,131 @@ struct _http_state_flags {
+@@ -1092,6 +1116,131 @@ struct _http_state_flags {
      unsigned int originpeer:1;
  };
  
@@ -7037,7 +7037,7 @@
  struct _HttpStateData {
      StoreEntry *entry;
      request_t *request;
-@@ -1086,10 +1235,14 @@ struct _HttpStateData {
+@@ -1103,10 +1252,14 @@ struct _HttpStateData {
      int fd;
      http_state_flags flags;
      FwdState *fwd;
@@ -7052,7 +7052,7 @@
  struct _icpUdpData {
      struct sockaddr_in address;
      void *msg;
-@@ -1198,6 +1351,7 @@ struct _clientHttpRequest {
+@@ -1215,6 +1368,7 @@ struct _clientHttpRequest {
  	unsigned int internal:1;
  	unsigned int done_copying:1;
  	unsigned int purging:1;
@@ -7060,7 +7060,7 @@
  	unsigned int hit:1;
      } flags;
      struct {
-@@ -1206,6 +1360,9 @@ struct _clientHttpRequest {
+@@ -1223,6 +1377,9 @@ struct _clientHttpRequest {
      } redirect;
      dlink_node active;
      squid_off_t maxBodySize;
@@ -7070,7 +7070,7 @@
  };
  
  struct _ConnStateData {
-@@ -1873,6 +2030,9 @@ struct _request_t {
+@@ -1890,6 +2047,9 @@ struct _request_t {
      unsigned int done_etag:1;	/* We have done clientProcessETag on this, don't attempt it again */
      char *urlgroup;		/* urlgroup, returned by redirectors */
      char *peer_domain;		/* Configured peer forceddomain */
@@ -7080,7 +7080,7 @@
      BODY_HANDLER *body_reader;
      void *body_reader_data;
      String extacl_log;		/* String to be used for access.log purposes */
-@@ -1989,7 +2149,11 @@ struct _StatCounters {
+@@ -1997,7 +2157,11 @@ struct _StatCounters {
  	    kb_t kbytes_in;
  	    kb_t kbytes_out;
  	} all , http, ftp, other;
@@ -7096,11 +7096,11 @@
 Index: src/typedefs.h
 ===================================================================
 RCS file: /cvsroot/squid/squid/src/typedefs.h,v
-retrieving revision 1.39
-retrieving revision 1.32.4.6
-diff -p -u -b -r1.39 -r1.32.4.6
---- src/typedefs.h	30 Jul 2006 23:52:55 -0000	1.39
-+++ src/typedefs.h	3 Aug 2006 17:16:07 -0000	1.32.4.6
+retrieving revision 1.41
+retrieving revision 1.32.4.8
+diff -p -u -b -r1.41 -r1.32.4.8
+--- src/typedefs.h	2 Sep 2006 14:17:45 -0000	1.41
++++ src/typedefs.h	26 Sep 2006 22:47:39 -0000	1.32.4.8
 @@ -136,6 +136,15 @@ typedef struct _HttpHeaderStat HttpHeade
  typedef struct _HttpBody HttpBody;
  typedef struct _HttpReply HttpReply;
	


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611011558.kA1FwdYA054484>