diff -ruN squid-2.5.STABLE10/ChangeLog squid-2.5.STABLE11/ChangeLog
--- squid-2.5.STABLE10/ChangeLog	Mon May 16 16:38:57 2005
+++ squid-2.5.STABLE11/ChangeLog	Thu Sep 22 02:15:05 2005
@@ -1,3 +1,69 @@
+Changes to squid-2.5.STABLE11 (22 Sep 2005)
+
+	- [Minor] Workaround for servers sending double content-length headers
+	  (Bug #1305)
+	- [Cosmetic] Updated Spanish error messages by Nicolas Ruiz
+	- [Cosmetic] Date header corrected on internal objects (icons etc)
+	  (Bug #1275)
+	- [Minor] squid -k fails in combination with chroot after patch for
+	  bug 1157 (Bug #1307)
+	- [Cosmetic] Segmentation fault if compiled with
+	  --enable-ipf-transparent but denied access to the NAT device.
+	  (Bug #1313)
+	- [Minor] httpd_accel_signle_host incompatible with redireection
+	  (Bug #1314)
+	- [Minor] squid -k reconfigure internal corruption if the type of
+	  a cache_dir is changed (Bug #1308)
+	- [Minor] SNMP GETNEXT fails if the given OID is outside the Squid MIB
+	  (Bug #1317)
+	- [Minor] Title in FTP listings somewhat messed up after previous
+	  patch for bug 1220 (Bug #1220)
+	- [Minor] FTP listings uses "BASE HREF" much more than it needs to,
+	  confusing authentication. (Bug #1204)
+	- [Minor] winfo_group.pl only looked for the first group if multiple
+	  groups were defined in the same acl. (Bug #1333)
+	- [Cosmetic] Compiler warnings on some 64-bit platforms (Bug #1316)
+	- [Cosmetic] Removed some debug output from wb_ntlm_atuh (Bug #518)
+	- [Cosmetic] The new --with-build-environment=... option doesn't work
+	- [Cosmetic] New 'mail_program' configuration option in squid.conf
+	- [Minor] Fails to compile with ip-filter and ARP support on Solaris
+	  x86 (Bug #199)
+	- [Major] Segmentation fault in sslConnectTimeout (Bug #1355)
+	- [Medium] assertion failed in StatHist.c:93  (Bug #1325)
+	- [Minor] More chroot_dir and squid -k reconfigure issues (Bug #1331)
+	- [Cosmetic] Invalid URLs in error messages when failing to connect
+	  to peer, and a few other inconsistent error messages (Bug #1342)
+	- [Cosmetic] Fails to compile with glibc -D_FORTIFY_SOURCE=2
+	  (Bug #1344)
+	- [Minor] Some odd FTP servers respond with 250 where 226 is expected
+	  (Bug #1348)
+	- [Cosmetic] Greek translation of error messages (Bug #1351)
+	- [Major] Assertion failed store_status == STORE_PENDING (Bug #1368)
+	- [Minor] squid_ldap_auth -U does not work (Bug #1370)
+	- [Minor] SNMP cacheClientTable fails on "long" IP addresses
+	  (Bug #1375)
+	- [Minor] Solaris Sparc + IP-Filter compile error (Bug #1374)
+	- [Minor] E-mail sent when cache dies is blocked from many antispam
+	  rules (Bug #1380)
+	- [Minor] LDAP helpers does not work with TLS (-Z option) (Bug #1389)
+	- [Cosmetic] Incorrect store dir selection debug message on objects
+	  larger than 2Gigabyte (Bug #1343)
+	- [Cosmetic] header_id enum misused as an signed integer (Bug #1343)
+	- [Cosmetic] Allow leaving core dumps when started as root (Bug #1335)
+	- [Medium] Clients could bypass delay_pool settings by faking a cache
+	  hit request (Bug #500)
+	- [Minor] IP-Filter 4.X support (Bug #1378)
+	- [Medium] Odd results on pipelined CONNECT requests
+	- [Major] Squid crashing with "FATAL: Incorrect scheme in auth header"
+	  when using NTLM authentication.
+	- [Cosmetic] Odd results when pipeline_prefetch is combined with NTLM
+	  authentication (bug #1396)
+	- [Minor] invalid host was processed as IP 255.255.255.255 in dst acl
+	  (Bug #1394)
+	- [Cosmetic] New --with-maxfd=N configure option to override build
+	  time filedescriptor limit test
+	- [Minor] Added support for Windows code name "Longhorn" on Cygwin.
+
 Changes to squid-2.5.STABLE10 (17 May 2005)
 
 	- [Minor Security] Fix race condition in relation to old Netscape
diff -ruN squid-2.5.STABLE10/RELEASENOTES.html squid-2.5.STABLE11/RELEASENOTES.html
--- squid-2.5.STABLE10/RELEASENOTES.html	Mon May 16 16:41:25 2005
+++ squid-2.5.STABLE11/RELEASENOTES.html	Thu Sep 22 02:16:38 2005
@@ -2,12 +2,12 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.16">
- <TITLE>Squid 2.5 release notes</TITLE>
+ <TITLE>Squid 2.5.STABLE11 release notes</TITLE>
 </HEAD>
 <BODY>
-<H1>Squid 2.5 release notes</H1>
+<H1>Squid 2.5.STABLE11 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-2.5.html,v 1.1.2.54 2005/05/11 15:00:58 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.5.html,v 1.1.2.62 2005/09/20 23:44:04 hno Exp $
 <HR>
 <EM>This document contains the release notes for version 2.5 of Squid.
 Squid is a WWW Cache application developed by the National Laboratory
@@ -139,6 +139,7 @@
 <DT><B>acl req_hdr/resp_hdr</B><DD><P>New acl types in 2.5.STABLE7 to match arbitrary HTTP headers, useful to block certain malware/spyware etc.</P>
 <DT><B>relaxed_http_parser</B><DD><P>New directive in 2.5.STABLE8 to control how strict the HTTP parser should be.</P>
 <DT><B>retry_on_error</B><DD><P>New directive in 2.5.STABLE9 to aggressive retry requests on errors (was the default in earlier versions)</P>
+<DT><B>acl dst</B><DD><P>No longer matches invalid hosts. Was previously using the IP address "255.255.255.255" on invalid hosts.</P>
 </DL>
 </P>
 
@@ -154,11 +155,30 @@
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=779">#779</A></B><DD><P>users going above their allowed IP count no longer logged in cache.log</P>
 <DT><B>Bug 
-<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=1204">#1204</A></B><DD><P>FTP listings uses "BASE HREF" much more than it needs to</P>
-<DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=888">#888</A></B><DD><P>ntlm_user_pool assertion error on shutdown</P>
-<DT><B>Bug 
-<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=1275">#1275</A></B><DD><P>Squid internal icons served up with slightly incorrect HTTP headers</P>
+<DT><B>Ipfilter 4.x issues</B><DD><P>
+<UL>
+<LI>Running configure --enable-ipf-transparent on an HP Tru64 5.1B system with ipfilter 4.x installed, the following error can occur:
+<PRE>
+      checking if IP-Filter header files are installed... no
+      WARNING: Cannot find necessary IP-Filter header files
+               Transparent Proxy support WILL NOT be enabled
+</PRE>
+
+To fix the problem first check if the ip_fil.h, ip_compat.h, ip_nat.h and ipl.h files are present in
+/usr/include/netinet and copy them from ipfilter source tree if needed.
+Don't forget to fix files permission and ownership after the copy.<BR>
+If the error still persist, run configure making it skip the ip_compat.h test:<BR>
+<PRE>
+    env ac_cv_header_netinet_ip_compat_h=yes ./configure --enable-ipf-transparent
+</PRE>
+</LI>
+<LI>On Sun Solaris 10, ipfilter 4.0.22 is provided with the OS, but related include files (ip_fil.h, ip_compat.h, ip_nat.h, ipl.h) are missing.<BR>
+Before running configure --enable-ipf-transparent, they must be downloaded from the
+<A HREF="http://cvs.opensolaris.org/source/xref/usr/src/common/ipf/">OpenSolaris Web Site</A>
+in the /usr/include local directory. Don't forget to fix files permission and ownership after the download.</LI>
+</UL>
+</P>
 </DL>
 </P>
 
@@ -169,8 +189,6 @@
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=1059">#1059</A></B><DD><P>mime.conf and referenced icons must be within chroot</P>
 <DT><B>Bug 
-<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=1033">#1033</A></B><DD><P>CARP ignores cache_peer_access and cache_peer_domain</P>
-<DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=692">#692</A></B><DD><P>tcp_outgoing_address using an ident ACL does not work</P>
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=581">#581</A></B><DD><P>acl max_user_ip and multiple authentication schemes</P>
@@ -179,15 +197,13 @@
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=513">#513</A></B><DD><P>squid -F is starting server sockets to early</P>
 <DT><B>Bug 
-<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=518">#518</A></B><DD><P>wb_auth fails on TRU64 and probably other 64 bit platforms</P>
-<DT><B>Bug 
-<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=500">#500</A></B><DD><P>delay_pools stops working on -k reconfigure</P>
-<DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=457">#457</A></B><DD><P>does not handle swap.state corruption properly</P>
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=410">#410</A></B><DD><P>unstable if runs out of disk space</P>
 <DT><B>Bug 
 <A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=355">#355</A></B><DD><P>diskd may appear slow on low loads</P>
+<DT><B>Bug 
+<A HREF="http://www.squid-cache.org/bugs/show_bug.cgi?id=219">#219</A></B><DD><P>delay_pools stops working on -k reconfigure</P>
 </DL>
 </P>
 
@@ -413,6 +429,27 @@
 other related minor bugfixes.</LI>
 <LI>a number of other minor and cosmetic bugfixes. See the list of 
 <A HREF="http://www.squid-cache.org/Versions/v2/2.5/bugs/#STABLE9">squid-2.5.STABLE9 patches</A> and the 
+<A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
+</UL>
+</P>
+
+<H2><A NAME="s13">13. Key changes squid-2.5.STABLE10 to 2.5.STABLE11:</A></H2>
+
+<P>
+<UL>
+<LI>Segmentation fault in sslConnectTimeout</LI>
+<LI>Assertion failed StatHist.c:93</LI>
+<LI>Assertion failed store_status == STORE_PENDING</LI>
+<LI>Clients could bypass delay pools settings by faking a cache hit</LI>
+<LI>Odd results was seen on pipelined CONNECT requests</LI>
+<LI>Squid crashing with "FATAL: Incorrect scheme in auth header" 
+when using NTLM authentication.</LI>
+<LI>dst acl changed to not match invalid hosts as 255.255.255.255</LI>
+<LI>New --with-maxfd=N configure option to override build time
+filedescriptor limit test
+</LI>
+<LI>a number of other minor and cosmetic bugfixes. See the list of 
+<A HREF="http://www.squid-cache.org/Versions/v2/2.5/bugs/#STABLE10">squid-2.5.STABLE10 patches</A> and the 
 <A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
 </UL>
 </P>
diff -ruN squid-2.5.STABLE10/configure squid-2.5.STABLE11/configure
--- squid-2.5.STABLE10/configure	Mon May 16 16:41:14 2005
+++ squid-2.5.STABLE11/configure	Thu Sep 22 02:16:26 2005
@@ -244,6 +244,11 @@
                           variance within an accelerator setup.
                           Typically used together with other code
                           that adds custom HTTP headers to the requests."
+ac_help="$ac_help
+  --with-maxfd=N          Override maximum number of filedescriptors. Useful
+                          if you build as another user who is not privileged
+                          to use the number of filedescriptors you want the
+                          resulting binary to support"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -800,7 +805,7 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:804: checking for a BSD compatible install" >&5
+echo "configure:809: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -853,7 +858,7 @@
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:857: checking whether build environment is sane" >&5
+echo "configure:862: checking whether build environment is sane" >&5
 # Just in case
 sleep 1
 echo timestamp > conftest.file
@@ -924,7 +929,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:928: checking for $ac_word" >&5
+echo "configure:933: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -954,7 +959,7 @@
 done
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:958: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:963: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1022,7 +1027,7 @@
 
 # Define the identity of the package.
 PACKAGE=squid
-VERSION=2.5.STABLE10
+VERSION=2.5.STABLE11
 cat >> confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
 EOF
@@ -1073,9 +1078,9 @@
 
   
 
-# From configure.in Revision: 1.251.2.92 
+# From configure.in Revision: 1.251.2.101 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:1079: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:1084: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -1103,11 +1108,12 @@
 fi
 
 PRESET_CFLAGS="$CFLAGS"
+PRESET_LDFLAGS="$LDFLAGS"
 
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1111: checking for $ac_word" >&5
+echo "configure:1117: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1137,7 +1143,7 @@
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1141: checking for $ac_word" >&5
+echo "configure:1147: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1188,7 +1194,7 @@
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1192: checking for $ac_word" >&5
+echo "configure:1198: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1220,7 +1226,7 @@
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1224: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1230: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1231,12 +1237,12 @@
 
 cat > conftest.$ac_ext << EOF
 
-#line 1235 "configure"
+#line 1241 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1262,12 +1268,12 @@
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1266: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1272: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1271: checking whether we are using GNU C" >&5
+echo "configure:1277: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1276,7 +1282,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1295,7 +1301,7 @@
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1299: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1305: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1334,7 +1340,7 @@
 END
 # If we don't find an include directive, just comment out the code.
 echo $ac_n "checking for style of include used by $am_make""... $ac_c" 1>&6
-echo "configure:1338: checking for style of include used by $am_make" >&5
+echo "configure:1344: checking for style of include used by $am_make" >&5
 am__include='#'
 am__quote=
 _am_result=none
@@ -1368,7 +1374,7 @@
 depcc="$CC"   am_compiler_list=
 
 echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6
-echo "configure:1372: checking dependency style of $depcc" >&5
+echo "configure:1378: checking dependency style of $depcc" >&5
 if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1436,10 +1442,10 @@
 
 if test "x$CC" != xcc; then
   echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
-echo "configure:1440: checking whether $CC and cc understand -c and -o together" >&5
+echo "configure:1446: checking whether $CC and cc understand -c and -o together" >&5
 else
   echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
-echo "configure:1443: checking whether cc understands -c and -o together" >&5
+echo "configure:1449: checking whether cc understands -c and -o together" >&5
 fi
 set dummy $CC; ac_cc="`echo $2 |
 		       sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
@@ -1451,16 +1457,16 @@
 # We do the test twice because some compilers refuse to overwrite an
 # existing .o file with -o, though they will create one.
 ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
-if { (eval echo configure:1455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-   test -f conftest.o && { (eval echo configure:1456: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+if { (eval echo configure:1461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+   test -f conftest.o && { (eval echo configure:1462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
 then
   eval ac_cv_prog_cc_${ac_cc}_c_o=yes
   if test "x$CC" != xcc; then
     # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
       ac_try='cc -c conftest.c -o conftest.o 1>&5'
-      if { (eval echo configure:1463: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-	 test -f conftest.o && { (eval echo configure:1464: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+      if { (eval echo configure:1469: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+	 test -f conftest.o && { (eval echo configure:1470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
       then
         # cc works too.
         :
@@ -1506,7 +1512,7 @@
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1510: checking host system type" >&5
+echo "configure:1516: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -1535,7 +1541,7 @@
 # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1539: checking for $ac_word" >&5
+echo "configure:1545: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PKGCONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1570,12 +1576,12 @@
 
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1574: checking for Cygwin environment" >&5
+echo "configure:1580: checking for Cygwin environment" >&5
 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1579 "configure"
+#line 1585 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1586,7 +1592,7 @@
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:1590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -1603,19 +1609,19 @@
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1607: checking for mingw32 environment" >&5
+echo "configure:1613: checking for mingw32 environment" >&5
 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1612 "configure"
+#line 1618 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:1619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -1634,7 +1640,7 @@
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1638: checking for executable suffix" >&5
+echo "configure:1644: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1644,7 +1650,7 @@
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:1654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.C | *.o | *.obj | *.ilk | *.pdb) ;;
@@ -1665,13 +1671,13 @@
 ac_exeext=$EXEEXT
 
 echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1669: checking for object suffix" >&5
+echo "configure:1675: checking for object suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftest*
 echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   for ac_file in conftest.*; do
     case $ac_file in
     *.c) ;;
@@ -2637,16 +2643,13 @@
 # Check whether --with-build-environment or --without-build-environment was given.
 if test "${with_build_environment+set}" = set; then
   withval="$with_build_environment"
-   case "$enableval" in
+   case "$withval" in
   yes|no)
 	echo "--with-build-environment expects a build environment string as used by getconf"
 	exit 1
 	;;
-  _*)
-	buildmodel="$enableval"
-	;;
   *)
-	buildmodel="_$enableval"
+	buildmodel="$withval"
 	;;
   esac
 
@@ -2666,11 +2669,29 @@
 		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
 	fi
 fi
-if test -n "$buildmodel" && test "$buildmodel" != "_default"; then
+if test -n "$buildmodel" && test "$buildmodel" != "default"; then
 	echo "Using $buildmodel build environment"
+	if test "`getconf _$buildmodel 2>/dev/null || true`" = 1 || test "`getconf $buildmodel 2>/dev/null || true`" ; then
+	    : # All fine
+	else
+	    echo "ERROR: Build environment $buildmodel not known to getconf."
+	    exit 1
+	fi
 	CFLAGS="`getconf ${buildmodel}_CFLAGS` $CFLAGS"
 	LIBS="`getconf ${buildmodel}_LIBS` $LIBS"
 	LDFLAGS="`getconf ${buildmodel}_LDFLAGS` $LDFLAGS"
+	case "$host" in
+	    *-solaris*)
+    		if test "$GCC" = "yes"; then
+		    echo "Removing -Xa for gcc on $host"
+		    CFLAGS="`echo $CFLAGS | sed -e 's/-Xa//'`"
+		fi
+   	        echo "Removing -Usun for gcc on $host"
+		CFLAGS="`echo $CFLAGS | sed -e 's/-Usun//'`"
+		;;
+	    *)
+	        ;;
+	esac
 fi
 
 
@@ -3028,7 +3049,7 @@
 
 if test "$require_sasl" = "yes"; then
 	echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:3032: checking how to run the C preprocessor" >&5
+echo "configure:3053: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -3043,13 +3064,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 3047 "configure"
+#line 3068 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3060,13 +3081,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 3064 "configure"
+#line 3085 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3091: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3077,13 +3098,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 3081 "configure"
+#line 3102 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3111,17 +3132,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3115: checking for $ac_hdr" >&5
+echo "configure:3136: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3120 "configure"
+#line 3141 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3125: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3146: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3255,7 +3276,7 @@
 esac
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:3259: checking how to run the C preprocessor" >&5
+echo "configure:3280: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -3270,13 +3291,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 3274 "configure"
+#line 3295 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3287,13 +3308,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 3291 "configure"
+#line 3312 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3297: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3304,13 +3325,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 3308 "configure"
+#line 3329 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3314: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -3346,7 +3367,7 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:3350: checking for a BSD compatible install" >&5
+echo "configure:3371: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3401,7 +3422,7 @@
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3405: checking for $ac_word" >&5
+echo "configure:3426: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3429,7 +3450,7 @@
 fi
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:3433: checking whether ln -s works" >&5
+echo "configure:3454: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3452,7 +3473,7 @@
 # Extract the first word of "sh", so it can be a program name with args.
 set dummy sh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3456: checking for $ac_word" >&5
+echo "configure:3477: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3488,7 +3509,7 @@
 # Extract the first word of "false", so it can be a program name with args.
 set dummy false; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3492: checking for $ac_word" >&5
+echo "configure:3513: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_FALSE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3524,7 +3545,7 @@
 # Extract the first word of "true", so it can be a program name with args.
 set dummy true; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3528: checking for $ac_word" >&5
+echo "configure:3549: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TRUE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3560,7 +3581,7 @@
 # Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3564: checking for $ac_word" >&5
+echo "configure:3585: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3596,7 +3617,7 @@
 # Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3600: checking for $ac_word" >&5
+echo "configure:3621: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3632,7 +3653,7 @@
 # Extract the first word of "mkdir", so it can be a program name with args.
 set dummy mkdir; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3636: checking for $ac_word" >&5
+echo "configure:3657: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3668,7 +3689,7 @@
 # Extract the first word of "ln", so it can be a program name with args.
 set dummy ln; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3672: checking for $ac_word" >&5
+echo "configure:3693: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_LN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3704,7 +3725,7 @@
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3708: checking for $ac_word" >&5
+echo "configure:3729: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3740,7 +3761,7 @@
 # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3744: checking for $ac_word" >&5
+echo "configure:3765: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3800,12 +3821,12 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:3804: checking for $ac_hdr that defines DIR" >&5
+echo "configure:3825: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3809 "configure"
+#line 3830 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -3813,7 +3834,7 @@
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:3817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -3838,7 +3859,7 @@
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:3842: checking for opendir in -ldir" >&5
+echo "configure:3863: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3846,7 +3867,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3850 "configure"
+#line 3871 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3857,7 +3878,7 @@
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:3861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3879,7 +3900,7 @@
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:3883: checking for opendir in -lx" >&5
+echo "configure:3904: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3887,7 +3908,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3891 "configure"
+#line 3912 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3898,7 +3919,7 @@
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:3902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3921,12 +3942,12 @@
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3925: checking for ANSI C header files" >&5
+echo "configure:3946: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3930 "configure"
+#line 3951 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3934,7 +3955,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3938: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3951,7 +3972,7 @@
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3955 "configure"
+#line 3976 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -3969,7 +3990,7 @@
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3973 "configure"
+#line 3994 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -3990,7 +4011,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 3994 "configure"
+#line 4015 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4001,7 +4022,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:4005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -4043,6 +4064,7 @@
 	ip_fil_compat.h \
 	ip_fil.h \
 	ip_nat.h \
+	ipl.h \
 	libc.h \
 	limits.h \
 	linux/netfilter_ipv4.h \
@@ -4060,6 +4082,7 @@
 	netinet/ip_fil_compat.h \
 	netinet/ip_fil.h \
 	netinet/ip_nat.h \
+	netinet/ipl.h \
 	openssl/err.h \
 	openssl/md5.h \
 	openssl/ssl.h \
@@ -4081,6 +4104,7 @@
 	sys/mount.h \
 	sys/msg.h \
 	sys/param.h \
+	sys/prctl.h \
 	sys/resource.h \
 	sys/select.h\
 	sys/socket.h \
@@ -4109,17 +4133,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4113: checking for $ac_hdr" >&5
+echo "configure:4137: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4118 "configure"
+#line 4142 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4147,12 +4171,12 @@
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4151: checking for working const" >&5
+echo "configure:4175: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4156 "configure"
+#line 4180 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4201,7 +4225,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -4222,14 +4246,14 @@
 fi
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:4226: checking whether byte ordering is bigendian" >&5
+echo "configure:4250: checking whether byte ordering is bigendian" >&5
 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 4233 "configure"
+#line 4257 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -4240,11 +4264,11 @@
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:4244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 4248 "configure"
+#line 4272 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -4255,7 +4279,7 @@
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:4259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -4275,7 +4299,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4279 "configure"
+#line 4303 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -4288,7 +4312,7 @@
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:4292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_bigendian=no
 else
@@ -4313,20 +4337,20 @@
 
 
 echo $ac_n "checking if ANSI prototypes work""... $ac_c" 1>&6
-echo "configure:4317: checking if ANSI prototypes work" >&5
+echo "configure:4341: checking if ANSI prototypes work" >&5
 if eval "test \"`echo '$''{'ac_cv_have_ansi_prototypes'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4323 "configure"
+#line 4347 "configure"
 #include "confdefs.h"
 int foo(char *); int foo (char *bar) {return 1;}
 int main() {
 foo("bar")
 ; return 0; }
 EOF
-if { (eval echo configure:4330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4354: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_ansi_prototypes="yes"
 else
@@ -4348,13 +4372,13 @@
 fi
 
 echo $ac_n "checking for tm->tm_gmtoff""... $ac_c" 1>&6
-echo "configure:4352: checking for tm->tm_gmtoff" >&5
+echo "configure:4376: checking for tm->tm_gmtoff" >&5
 if eval "test \"`echo '$''{'ac_cv_have_tm_gmoff'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4358 "configure"
+#line 4382 "configure"
 #include "confdefs.h"
 #include <time.h>
 #include <sys/time.h>
@@ -4363,7 +4387,7 @@
       foo.tm_gmtoff = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4367: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_tm_gmoff="yes"
 else
@@ -4385,13 +4409,13 @@
 fi
 
 echo $ac_n "checking for struct mallinfo""... $ac_c" 1>&6
-echo "configure:4389: checking for struct mallinfo" >&5
+echo "configure:4413: checking for struct mallinfo" >&5
 if eval "test \"`echo '$''{'ac_cv_have_struct_mallinfo'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4395 "configure"
+#line 4419 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if HAVE_MALLOC_H
@@ -4409,7 +4433,7 @@
     foo.keepcost = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_struct_mallinfo="yes"
 else
@@ -4431,13 +4455,13 @@
 fi
 
 echo $ac_n "checking for extended mallinfo""... $ac_c" 1>&6
-echo "configure:4435: checking for extended mallinfo" >&5
+echo "configure:4459: checking for extended mallinfo" >&5
 if eval "test \"`echo '$''{'ac_cv_have_ext_mallinfo'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4441 "configure"
+#line 4465 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <malloc.h>
@@ -4446,7 +4470,7 @@
       foo.mxfast = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_ext_mallinfo="yes"
 else
@@ -4468,13 +4492,13 @@
 fi
 
 echo $ac_n "checking for struct rusage""... $ac_c" 1>&6
-echo "configure:4472: checking for struct rusage" >&5
+echo "configure:4496: checking for struct rusage" >&5
 if eval "test \"`echo '$''{'ac_cv_have_struct_rusage'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4478 "configure"
+#line 4502 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TIME_H
@@ -4487,7 +4511,7 @@
 struct rusage R;
 ; return 0; }
 EOF
-if { (eval echo configure:4491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_struct_rusage="yes"
 else
@@ -4509,13 +4533,13 @@
 fi
 
 echo $ac_n "checking for ip->ip_hl""... $ac_c" 1>&6
-echo "configure:4513: checking for ip->ip_hl" >&5
+echo "configure:4537: checking for ip->ip_hl" >&5
 if eval "test \"`echo '$''{'ac_cv_have_ip_hl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 4519 "configure"
+#line 4543 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <netinet/in.h>
@@ -4534,7 +4558,7 @@
       ip.ip_hl= 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_ip_hl="yes"
 else
@@ -4556,7 +4580,7 @@
 fi
 
 echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4560: checking size of void *" >&5
+echo "configure:4584: checking size of void *" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_void_p'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4564,7 +4588,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4568 "configure"
+#line 4592 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4575,7 +4599,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_void_p=`cat conftestval`
 else
@@ -4595,7 +4619,7 @@
 
 
 echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:4599: checking size of short" >&5
+echo "configure:4623: checking size of short" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4603,7 +4627,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4607 "configure"
+#line 4631 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4614,7 +4638,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_short=`cat conftestval`
 else
@@ -4634,7 +4658,7 @@
 
 
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4638: checking size of int" >&5
+echo "configure:4662: checking size of int" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4642,7 +4666,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4646 "configure"
+#line 4670 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4653,7 +4677,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
@@ -4673,7 +4697,7 @@
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4677: checking size of long" >&5
+echo "configure:4701: checking size of long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4681,7 +4705,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4685 "configure"
+#line 4709 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4692,7 +4716,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
@@ -4712,7 +4736,7 @@
 
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4716: checking size of long long" >&5
+echo "configure:4740: checking size of long long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4720,7 +4744,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4724 "configure"
+#line 4748 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4731,7 +4755,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long_long=`cat conftestval`
 else
@@ -4751,7 +4775,7 @@
 
 
 echo $ac_n "checking size of __int64""... $ac_c" 1>&6
-echo "configure:4755: checking size of __int64" >&5
+echo "configure:4779: checking size of __int64" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof___int64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4759,7 +4783,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4763 "configure"
+#line 4787 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4785,7 +4809,7 @@
 }
 
 EOF
-if { (eval echo configure:4789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof___int64=`cat conftestval`
 else
@@ -4805,7 +4829,7 @@
 
 
 echo $ac_n "checking size of int16_t""... $ac_c" 1>&6
-echo "configure:4809: checking size of int16_t" >&5
+echo "configure:4833: checking size of int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4813,7 +4837,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4817 "configure"
+#line 4841 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4839,7 +4863,7 @@
 }
 
 EOF
-if { (eval echo configure:4843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int16_t=`cat conftestval`
 else
@@ -4859,7 +4883,7 @@
 
 
 echo $ac_n "checking size of uint16_t""... $ac_c" 1>&6
-echo "configure:4863: checking size of uint16_t" >&5
+echo "configure:4887: checking size of uint16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_uint16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4867,7 +4891,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4871 "configure"
+#line 4895 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4893,7 +4917,7 @@
 }
 
 EOF
-if { (eval echo configure:4897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_uint16_t=`cat conftestval`
 else
@@ -4913,7 +4937,7 @@
 
 
 echo $ac_n "checking size of u_int16_t""... $ac_c" 1>&6
-echo "configure:4917: checking size of u_int16_t" >&5
+echo "configure:4941: checking size of u_int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4921,7 +4945,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4925 "configure"
+#line 4949 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4947,7 +4971,7 @@
 }
 
 EOF
-if { (eval echo configure:4951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_u_int16_t=`cat conftestval`
 else
@@ -4967,7 +4991,7 @@
 
 
 echo $ac_n "checking size of int32_t""... $ac_c" 1>&6
-echo "configure:4971: checking size of int32_t" >&5
+echo "configure:4995: checking size of int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4975,7 +4999,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 4979 "configure"
+#line 5003 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5001,7 +5025,7 @@
 }
 
 EOF
-if { (eval echo configure:5005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int32_t=`cat conftestval`
 else
@@ -5021,7 +5045,7 @@
 
 
 echo $ac_n "checking size of uint32_t""... $ac_c" 1>&6
-echo "configure:5025: checking size of uint32_t" >&5
+echo "configure:5049: checking size of uint32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_uint32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5029,7 +5053,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5033 "configure"
+#line 5057 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5055,7 +5079,7 @@
 }
 
 EOF
-if { (eval echo configure:5059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_uint32_t=`cat conftestval`
 else
@@ -5075,7 +5099,7 @@
 
 
 echo $ac_n "checking size of u_int32_t""... $ac_c" 1>&6
-echo "configure:5079: checking size of u_int32_t" >&5
+echo "configure:5103: checking size of u_int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5083,7 +5107,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5087 "configure"
+#line 5111 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5109,7 +5133,7 @@
 }
 
 EOF
-if { (eval echo configure:5113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_u_int32_t=`cat conftestval`
 else
@@ -5129,7 +5153,7 @@
 
 
 echo $ac_n "checking size of int64_t""... $ac_c" 1>&6
-echo "configure:5133: checking size of int64_t" >&5
+echo "configure:5157: checking size of int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5137,7 +5161,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5141 "configure"
+#line 5165 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5163,7 +5187,7 @@
 }
 
 EOF
-if { (eval echo configure:5167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int64_t=`cat conftestval`
 else
@@ -5183,7 +5207,7 @@
 
 
 echo $ac_n "checking size of uint64_t""... $ac_c" 1>&6
-echo "configure:5187: checking size of uint64_t" >&5
+echo "configure:5211: checking size of uint64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_uint64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5191,7 +5215,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5195 "configure"
+#line 5219 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5217,7 +5241,7 @@
 }
 
 EOF
-if { (eval echo configure:5221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_uint64_t=`cat conftestval`
 else
@@ -5237,7 +5261,7 @@
 
 
 echo $ac_n "checking size of u_int64_t""... $ac_c" 1>&6
-echo "configure:5241: checking size of u_int64_t" >&5
+echo "configure:5265: checking size of u_int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5245,7 +5269,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 5249 "configure"
+#line 5273 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5271,7 +5295,7 @@
 }
 
 EOF
-if { (eval echo configure:5275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_u_int64_t=`cat conftestval`
 else
@@ -5293,12 +5317,12 @@
 
 if test "x$ac_cv_sizeof_short" = "x2"; then
 	echo $ac_n "checking for int16_t""... $ac_c" 1>&6
-echo "configure:5297: checking for int16_t" >&5
+echo "configure:5321: checking for int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5302 "configure"
+#line 5326 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5342,12 +5366,12 @@
 
 elif test "x$ac_cv_sizeof_int" = "x2"; then
 	echo $ac_n "checking for int16_t""... $ac_c" 1>&6
-echo "configure:5346: checking for int16_t" >&5
+echo "configure:5370: checking for int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5351 "configure"
+#line 5375 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5392,12 +5416,12 @@
 fi
 if test "x$ac_cv_sizeof_uint16_t" = "x2"; then
 	echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6
-echo "configure:5396: checking for u_int16_t" >&5
+echo "configure:5420: checking for u_int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5401 "configure"
+#line 5425 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5441,12 +5465,12 @@
 
 elif test "x$ac_cv_sizeof_short" = "x2"; then
 	echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6
-echo "configure:5445: checking for u_int16_t" >&5
+echo "configure:5469: checking for u_int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5450 "configure"
+#line 5474 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5490,12 +5514,12 @@
 
 elif test "x$ac_cv_sizeof_int" = "x2"; then
 	echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6
-echo "configure:5494: checking for u_int16_t" >&5
+echo "configure:5518: checking for u_int16_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5499 "configure"
+#line 5523 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5540,12 +5564,12 @@
 fi
 if test "x$ac_cv_sizeof_int" = "x4"; then
 	echo $ac_n "checking for int32_t""... $ac_c" 1>&6
-echo "configure:5544: checking for int32_t" >&5
+echo "configure:5568: checking for int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5549 "configure"
+#line 5573 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5589,12 +5613,12 @@
 
 elif "x$ac_cv_sizeof_long" = "x4"; then
 	echo $ac_n "checking for int32_t""... $ac_c" 1>&6
-echo "configure:5593: checking for int32_t" >&5
+echo "configure:5617: checking for int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5598 "configure"
+#line 5622 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5639,12 +5663,12 @@
 fi
 if test "x$ac_cv_sizeof_uint32_t" = "x4"; then
 	echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6
-echo "configure:5643: checking for u_int32_t" >&5
+echo "configure:5667: checking for u_int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5648 "configure"
+#line 5672 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5688,12 +5712,12 @@
 
 elif test "x$ac_cv_sizeof_int" = "x4"; then
 	echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6
-echo "configure:5692: checking for u_int32_t" >&5
+echo "configure:5716: checking for u_int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5697 "configure"
+#line 5721 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5737,12 +5761,12 @@
 
 elif test "x$ac_cv_sizeof_long" = "x4"; then
 	echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6
-echo "configure:5741: checking for u_int32_t" >&5
+echo "configure:5765: checking for u_int32_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5746 "configure"
+#line 5770 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5787,12 +5811,12 @@
 fi
 if test "x$ac_cv_sizeof_long" = "x8"; then
 	echo $ac_n "checking for int64_t""... $ac_c" 1>&6
-echo "configure:5791: checking for int64_t" >&5
+echo "configure:5815: checking for int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5796 "configure"
+#line 5820 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5836,12 +5860,12 @@
 
 elif test "x$ac_cv_sizeof_long_long" = "x8"; then
 	echo $ac_n "checking for int64_t""... $ac_c" 1>&6
-echo "configure:5840: checking for int64_t" >&5
+echo "configure:5864: checking for int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5845 "configure"
+#line 5869 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5885,12 +5909,12 @@
 
 elif test "x$ac_cv_sizeof___int64" = "x8"; then
 	echo $ac_n "checking for int64_t""... $ac_c" 1>&6
-echo "configure:5889: checking for int64_t" >&5
+echo "configure:5913: checking for int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5894 "configure"
+#line 5918 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5935,12 +5959,12 @@
 fi
 if test "x$ac_cv_sizeof_uint64_t" = "x8"; then
 	echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6
-echo "configure:5939: checking for u_int64_t" >&5
+echo "configure:5963: checking for u_int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5944 "configure"
+#line 5968 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -5984,12 +6008,12 @@
 
 elif test "x$ac_cv_sizeof_long" = "x8"; then
 	echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6
-echo "configure:5988: checking for u_int64_t" >&5
+echo "configure:6012: checking for u_int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5993 "configure"
+#line 6017 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -6033,12 +6057,12 @@
 
 elif test "x$ac_cv_sizeof_long_long" = "x8"; then
 	echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6
-echo "configure:6037: checking for u_int64_t" >&5
+echo "configure:6061: checking for u_int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6042 "configure"
+#line 6066 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -6082,12 +6106,12 @@
 
 elif test "x$ac_cv_sizeof___int64" = "x8"; then
 	echo $ac_n "checking for int64_t""... $ac_c" 1>&6
-echo "configure:6086: checking for int64_t" >&5
+echo "configure:6110: checking for int64_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6091 "configure"
+#line 6115 "configure"
 #include "confdefs.h"
 
 /* What a mess.. many systems have added the (now standard) bit types
@@ -6132,12 +6156,12 @@
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:6136: checking for pid_t" >&5
+echo "configure:6160: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6141 "configure"
+#line 6165 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6165,12 +6189,12 @@
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:6169: checking for size_t" >&5
+echo "configure:6193: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6174 "configure"
+#line 6198 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6198,12 +6222,12 @@
 fi
 
 echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:6202: checking for ssize_t" >&5
+echo "configure:6226: checking for ssize_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6207 "configure"
+#line 6231 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6231,12 +6255,12 @@
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:6235: checking for off_t" >&5
+echo "configure:6259: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6240 "configure"
+#line 6264 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6264,12 +6288,12 @@
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:6268: checking for mode_t" >&5
+echo "configure:6292: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6273 "configure"
+#line 6297 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6297,12 +6321,12 @@
 fi
 
 echo $ac_n "checking for fd_mask""... $ac_c" 1>&6
-echo "configure:6301: checking for fd_mask" >&5
+echo "configure:6325: checking for fd_mask" >&5
 if eval "test \"`echo '$''{'ac_cv_type_fd_mask'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6306 "configure"
+#line 6330 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6331,7 +6355,7 @@
 
 
 echo $ac_n "checking size of off_t""... $ac_c" 1>&6
-echo "configure:6335: checking size of off_t" >&5
+echo "configure:6359: checking size of off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6339,7 +6363,7 @@
   ac_cv_sizeof_off_t=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 6343 "configure"
+#line 6367 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6365,7 +6389,7 @@
 }
 
 EOF
-if { (eval echo configure:6369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_off_t=`cat conftestval`
 else
@@ -6385,7 +6409,7 @@
 
 
 echo $ac_n "checking size of size_t""... $ac_c" 1>&6
-echo "configure:6389: checking size of size_t" >&5
+echo "configure:6413: checking size of size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6393,7 +6417,7 @@
   ac_cv_sizeof_size_t=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 6397 "configure"
+#line 6421 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6419,7 +6443,7 @@
 }
 
 EOF
-if { (eval echo configure:6423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_size_t=`cat conftestval`
 else
@@ -6442,19 +6466,19 @@
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:6446: checking for working alloca.h" >&5
+echo "configure:6470: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6451 "configure"
+#line 6475 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:6458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -6475,12 +6499,12 @@
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6479: checking for alloca" >&5
+echo "configure:6503: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6484 "configure"
+#line 6508 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -6508,7 +6532,7 @@
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:6512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -6540,12 +6564,12 @@
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6544: checking whether alloca needs Cray hooks" >&5
+echo "configure:6568: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6549 "configure"
+#line 6573 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -6570,12 +6594,12 @@
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6574: checking for $ac_func" >&5
+echo "configure:6598: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6579 "configure"
+#line 6603 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6598,7 +6622,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:6602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6625,7 +6649,7 @@
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6629: checking stack direction for C alloca" >&5
+echo "configure:6653: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6633,7 +6657,7 @@
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 6637 "configure"
+#line 6661 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -6652,7 +6676,7 @@
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:6656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -6676,13 +6700,13 @@
 
 
 echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:6680: checking for socklen_t" >&5
+echo "configure:6704: checking for socklen_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_socklen_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 6686 "configure"
+#line 6710 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6713,13 +6737,13 @@
 fi
 
 echo $ac_n "checking for mtyp_t""... $ac_c" 1>&6
-echo "configure:6717: checking for mtyp_t" >&5
+echo "configure:6741: checking for mtyp_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mtyp_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 6723 "configure"
+#line 6747 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/ipc.h>
@@ -6747,7 +6771,7 @@
  fi
 
 echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:6751: checking for main in -lnsl" >&5
+echo "configure:6775: checking for main in -lnsl" >&5
 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6755,14 +6779,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6759 "configure"
+#line 6783 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:6766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6790,7 +6814,7 @@
 fi
 
 echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:6794: checking for main in -lsocket" >&5
+echo "configure:6818: checking for main in -lsocket" >&5
 ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6798,14 +6822,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6802 "configure"
+#line 6826 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:6809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6834,13 +6858,13 @@
 
 
 echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6
-echo "configure:6838: checking for unix domain sockets" >&5
+echo "configure:6862: checking for unix domain sockets" >&5
 if eval "test \"`echo '$''{'squid_cv_unixsocket'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 6844 "configure"
+#line 6868 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -6855,7 +6879,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:6859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   squid_cv_unixsocket=yes
 else
@@ -6879,7 +6903,7 @@
   echo "skipping libmalloc check (--enable-dlmalloc specified)"
 else
   echo $ac_n "checking for main in -lgnumalloc""... $ac_c" 1>&6
-echo "configure:6883: checking for main in -lgnumalloc" >&5
+echo "configure:6907: checking for main in -lgnumalloc" >&5
 ac_lib_var=`echo gnumalloc'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6887,14 +6911,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lgnumalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6891 "configure"
+#line 6915 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:6898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6937,7 +6961,7 @@
 			*)
   
 				echo $ac_n "checking for main in -lmalloc""... $ac_c" 1>&6
-echo "configure:6941: checking for main in -lmalloc" >&5
+echo "configure:6965: checking for main in -lmalloc" >&5
 ac_lib_var=`echo malloc'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6945,14 +6969,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6949 "configure"
+#line 6973 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:6956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6985,7 +7009,7 @@
 fi
 
 echo $ac_n "checking for main in -lbsd""... $ac_c" 1>&6
-echo "configure:6989: checking for main in -lbsd" >&5
+echo "configure:7013: checking for main in -lbsd" >&5
 ac_lib_var=`echo bsd'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6993,14 +7017,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6997 "configure"
+#line 7021 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7028,7 +7052,7 @@
 fi
 
 echo $ac_n "checking for main in -lregex""... $ac_c" 1>&6
-echo "configure:7032: checking for main in -lregex" >&5
+echo "configure:7056: checking for main in -lregex" >&5
 ac_lib_var=`echo regex'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7036,14 +7060,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lregex  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7040 "configure"
+#line 7064 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7064,7 +7088,7 @@
 fi
 
 echo $ac_n "checking for gethostbyname in -lbind""... $ac_c" 1>&6
-echo "configure:7068: checking for gethostbyname in -lbind" >&5
+echo "configure:7092: checking for gethostbyname in -lbind" >&5
 ac_lib_var=`echo bind'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7072,7 +7096,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7076 "configure"
+#line 7100 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7083,7 +7107,7 @@
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:7087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7117,7 +7141,7 @@
 		;;
 	*)
 		echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6
-echo "configure:7121: checking for inet_aton in -lresolv" >&5
+echo "configure:7145: checking for inet_aton in -lresolv" >&5
 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7125,7 +7149,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7129 "configure"
+#line 7153 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7136,7 +7160,7 @@
 inet_aton()
 ; return 0; }
 EOF
-if { (eval echo configure:7140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7152,7 +7176,7 @@
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for inet_aton in -l44bsd""... $ac_c" 1>&6
-echo "configure:7156: checking for inet_aton in -l44bsd" >&5
+echo "configure:7180: checking for inet_aton in -l44bsd" >&5
 ac_lib_var=`echo 44bsd'_'inet_aton | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7160,7 +7184,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-l44bsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7164 "configure"
+#line 7188 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7171,7 +7195,7 @@
 inet_aton()
 ; return 0; }
 EOF
-if { (eval echo configure:7175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7203,7 +7227,7 @@
 fi
 
 		echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6
-echo "configure:7207: checking for main in -lresolv" >&5
+echo "configure:7231: checking for main in -lresolv" >&5
 ac_lib_var=`echo resolv'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7211,14 +7235,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7215 "configure"
+#line 7239 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7249,7 +7273,7 @@
     esac
 fi
 echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:7253: checking for main in -lm" >&5
+echo "configure:7277: checking for main in -lm" >&5
 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7257,14 +7281,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7261 "configure"
+#line 7285 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7293,7 +7317,7 @@
 
 
 echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:7297: checking for crypt in -lcrypt" >&5
+echo "configure:7321: checking for crypt in -lcrypt" >&5
 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7301,7 +7325,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7305 "configure"
+#line 7329 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7312,7 +7336,7 @@
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:7316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7336,7 +7360,7 @@
 
 if test "$with_dl" = "yes"; then
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:7340: checking for dlopen in -ldl" >&5
+echo "configure:7364: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7344,7 +7368,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7348 "configure"
+#line 7372 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7355,7 +7379,7 @@
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:7359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7403,7 +7427,7 @@
     ;;
     esac
     echo $ac_n "checking for main in -lpthread""... $ac_c" 1>&6
-echo "configure:7407: checking for main in -lpthread" >&5
+echo "configure:7431: checking for main in -lpthread" >&5
 ac_lib_var=`echo pthread'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7411,14 +7435,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7415 "configure"
+#line 7439 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7449,7 +7473,7 @@
 
 if test "$with_aio" = "yes"; then
     echo $ac_n "checking for aio_read in -lrt""... $ac_c" 1>&6
-echo "configure:7453: checking for aio_read in -lrt" >&5
+echo "configure:7477: checking for aio_read in -lrt" >&5
 ac_lib_var=`echo rt'_'aio_read | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7457,7 +7481,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lrt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7461 "configure"
+#line 7485 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7468,7 +7492,7 @@
 aio_read()
 ; return 0; }
 EOF
-if { (eval echo configure:7472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7500,7 +7524,7 @@
 case "$host" in
 	*-pc-sco3.2*)
 		echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
-echo "configure:7504: checking for strftime in -lintl" >&5
+echo "configure:7528: checking for strftime in -lintl" >&5
 ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7508,7 +7532,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7512 "configure"
+#line 7536 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7519,7 +7543,7 @@
 strftime()
 ; return 0; }
 EOF
-if { (eval echo configure:7523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7550,7 +7574,7 @@
 esac
 
 echo $ac_n "checking for main in -llber""... $ac_c" 1>&6
-echo "configure:7554: checking for main in -llber" >&5
+echo "configure:7578: checking for main in -llber" >&5
 ac_lib_var=`echo lber'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7558,14 +7582,14 @@
   ac_save_LIBS="$LIBS"
 LIBS="-llber  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7562 "configure"
+#line 7586 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:7569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7719,6 +7743,7 @@
 	mktime \
 	mstats \
 	poll \
+	prctl \
 	pthread_attr_setscope \
 	pthread_setschedparam \
 	pthread_attr_setschedparam \
@@ -7752,12 +7777,12 @@
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7756: checking for $ac_func" >&5
+echo "configure:7781: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7761 "configure"
+#line 7786 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7780,7 +7805,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:7784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7806,7 +7831,7 @@
 
 
 echo $ac_n "checking if setresuid is implemented""... $ac_c" 1>&6
-echo "configure:7810: checking if setresuid is implemented" >&5
+echo "configure:7835: checking if setresuid is implemented" >&5
 if eval "test \"`echo '$''{'ac_cv_func_setresuid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7814,7 +7839,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 7818 "configure"
+#line 7843 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -7827,7 +7852,7 @@
   }
   
 EOF
-if { (eval echo configure:7831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_setresuid="yes"
 else
@@ -7872,7 +7897,7 @@
 fi
 
 echo $ac_n "checking if va_copy is implemented""... $ac_c" 1>&6
-echo "configure:7876: checking if va_copy is implemented" >&5
+echo "configure:7901: checking if va_copy is implemented" >&5
 if eval "test \"`echo '$''{'ac_cv_func_va_copy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7880,7 +7905,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 7884 "configure"
+#line 7909 "configure"
 #include "confdefs.h"
 
       #include <stdarg.h>
@@ -7898,7 +7923,7 @@
       }
       
 EOF
-if { (eval echo configure:7902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_va_copy="yes"
 else
@@ -7922,7 +7947,7 @@
 fi
 
 echo $ac_n "checking if __va_copy is implemented""... $ac_c" 1>&6
-echo "configure:7926: checking if __va_copy is implemented" >&5
+echo "configure:7951: checking if __va_copy is implemented" >&5
 if eval "test \"`echo '$''{'ac_cv_func___va_copy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7930,7 +7955,7 @@
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 7934 "configure"
+#line 7959 "configure"
 #include "confdefs.h"
 
       #include <stdarg.h>
@@ -7948,7 +7973,7 @@
       }
       
 EOF
-if { (eval echo configure:7952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func___va_copy="yes"
 else
@@ -7973,7 +7998,7 @@
 
 if test "$IPF_TRANSPARENT" ; then
     echo $ac_n "checking if IP-Filter header files are installed""... $ac_c" 1>&6
-echo "configure:7977: checking if IP-Filter header files are installed" >&5
+echo "configure:8002: checking if IP-Filter header files are installed" >&5
     # hold on to your hats...
     if test "$ac_cv_header_ip_compat_h" = "yes" ||
         test "$ac_cv_header_ip_fil_compat_h" = "yes" ||
@@ -8010,11 +8035,20 @@
     echo "WARNING: Cannot find necessary IP-Filter header files"
     echo "         Transparent Proxy support WILL NOT be enabled"
     sleep 10
+elif test "$IPF_TRANSPARENT" = "yes" ; then
+    case "$host" in
+	*-solaris*)
+	    solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'`
+	    CFLAGS="-DSOLARIS2=$solrev $CFLAGS" 
+	    ;;
+	*)
+	    ;;
+     esac
 fi
 
 if test "$PF_TRANSPARENT" ; then
     echo $ac_n "checking if PF header file is installed""... $ac_c" 1>&6
-echo "configure:8018: checking if PF header file is installed" >&5
+echo "configure:8052: checking if PF header file is installed" >&5
     # hold on to your hats...
     if test "$ac_cv_header_net_pfvar_h" = "yes"; then
         PF_TRANSPARENT="yes"
@@ -8039,7 +8073,7 @@
 
 if test "$LINUX_NETFILTER" ; then
     echo $ac_n "checking if Linux 2.4 kernel header files are installed""... $ac_c" 1>&6
-echo "configure:8043: checking if Linux 2.4 kernel header files are installed" >&5
+echo "configure:8077: checking if Linux 2.4 kernel header files are installed" >&5
     # hold on to your hats...
     if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then
         LINUX_NETFILTER="yes"
@@ -8073,13 +8107,13 @@
     esac
 fi
 echo $ac_n "checking if GNUregex needs to be compiled""... $ac_c" 1>&6
-echo "configure:8077: checking if GNUregex needs to be compiled" >&5
+echo "configure:8111: checking if GNUregex needs to be compiled" >&5
 if test -z "$USE_GNUREGEX"; then
 if test "$ac_cv_func_regcomp" = "no" || test "$USE_GNUREGEX" = "yes" ; then
 	USE_GNUREGEX="yes"
 else
 	cat > conftest.$ac_ext <<EOF
-#line 8083 "configure"
+#line 8117 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <regex.h>
@@ -8087,7 +8121,7 @@
 regex_t t; regcomp(&t,"",0);
 ; return 0; }
 EOF
-if { (eval echo configure:8091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   USE_GNUREGEX="no"
 else
@@ -8119,12 +8153,12 @@
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8123: checking for $ac_func" >&5
+echo "configure:8157: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8128 "configure"
+#line 8162 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8147,7 +8181,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:8151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8175,12 +8209,12 @@
 
 
 echo $ac_n "checking Default FD_SETSIZE value""... $ac_c" 1>&6
-echo "configure:8179: checking Default FD_SETSIZE value" >&5
+echo "configure:8213: checking Default FD_SETSIZE value" >&5
 if test "$cross_compiling" = yes; then
   DEFAULT_FD_SETSIZE=256
 else
   cat > conftest.$ac_ext <<EOF
-#line 8184 "configure"
+#line 8218 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDIO_H
@@ -8205,7 +8239,7 @@
 }
 
 EOF
-if { (eval echo configure:8209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   DEFAULT_FD_SETSIZE=`cat conftestval`
 else
@@ -8223,8 +8257,26 @@
 EOF
 
 
+# Check whether --with-maxfd or --without-maxfd was given.
+if test "${with_maxfd+set}" = set; then
+  withval="$with_maxfd"
+   case $withval in
+  [0-9]*)
+    SQUID_MAXFD=$withval
+    echo "Maximum filedescriptors set to $SQUID_MAXFD"
+    ;;
+  *)
+    echo "ERROR: Invalid --with-maxfd argument"
+    exit 1
+    ;;
+  esac
+
+fi
+
+if test -z "$SQUID_MAXFD"; then
+
 echo $ac_n "checking Maximum number of filedescriptors we can open""... $ac_c" 1>&6
-echo "configure:8228: checking Maximum number of filedescriptors we can open" >&5
+echo "configure:8280: checking Maximum number of filedescriptors we can open" >&5
 TLDFLAGS="$LDFLAGS"
 case $host in
 i386-unknown-freebsd*)
@@ -8236,7 +8288,7 @@
   SQUID_MAXFD=256
 else
   cat > conftest.$ac_ext <<EOF
-#line 8240 "configure"
+#line 8292 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -8296,7 +8348,7 @@
 }
 
 EOF
-if { (eval echo configure:8300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SQUID_MAXFD=`cat conftestval`
 else
@@ -8309,6 +8361,7 @@
 fi
 
 echo "$ac_t""$SQUID_MAXFD" 1>&6
+fi # --with-maxfd SQUID_MAXFD
 cat >> confdefs.h <<EOF
 #define SQUID_MAXFD $SQUID_MAXFD
 EOF
@@ -8323,12 +8376,12 @@
 LDFLAGS="$TLDFLAGS"
 
 echo $ac_n "checking Default UDP send buffer size""... $ac_c" 1>&6
-echo "configure:8327: checking Default UDP send buffer size" >&5
+echo "configure:8380: checking Default UDP send buffer size" >&5
 if test "$cross_compiling" = yes; then
   SQUID_UDP_SO_SNDBUF=16384
 else
   cat > conftest.$ac_ext <<EOF
-#line 8332 "configure"
+#line 8385 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8349,7 +8402,7 @@
 }
 
 EOF
-if { (eval echo configure:8353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SQUID_UDP_SO_SNDBUF=`cat conftestval`
 else
@@ -8368,12 +8421,12 @@
 
 
 echo $ac_n "checking Default UDP receive buffer size""... $ac_c" 1>&6
-echo "configure:8372: checking Default UDP receive buffer size" >&5
+echo "configure:8425: checking Default UDP receive buffer size" >&5
 if test "$cross_compiling" = yes; then
   SQUID_UDP_SO_RCVBUF=16384
 else
   cat > conftest.$ac_ext <<EOF
-#line 8377 "configure"
+#line 8430 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8394,7 +8447,7 @@
 }
 
 EOF
-if { (eval echo configure:8398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SQUID_UDP_SO_RCVBUF=`cat conftestval`
 else
@@ -8413,12 +8466,12 @@
 
 
 echo $ac_n "checking Default TCP send buffer size""... $ac_c" 1>&6
-echo "configure:8417: checking Default TCP send buffer size" >&5
+echo "configure:8470: checking Default TCP send buffer size" >&5
 if test "$cross_compiling" = yes; then
   SQUID_TCP_SO_SNDBUF=16384
 else
   cat > conftest.$ac_ext <<EOF
-#line 8422 "configure"
+#line 8475 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8439,7 +8492,7 @@
 }
 
 EOF
-if { (eval echo configure:8443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SQUID_TCP_SO_SNDBUF=`cat conftestval`
 else
@@ -8462,12 +8515,12 @@
 
 
 echo $ac_n "checking Default TCP receive buffer size""... $ac_c" 1>&6
-echo "configure:8466: checking Default TCP receive buffer size" >&5
+echo "configure:8519: checking Default TCP receive buffer size" >&5
 if test "$cross_compiling" = yes; then
   SQUID_TCP_SO_RCVBUF=16384
 else
   cat > conftest.$ac_ext <<EOF
-#line 8471 "configure"
+#line 8524 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8488,7 +8541,7 @@
 }
 
 EOF
-if { (eval echo configure:8492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SQUID_TCP_SO_RCVBUF=`cat conftestval`
 else
@@ -8510,19 +8563,19 @@
 EOF
 
 echo $ac_n "checking if sys_errlist is already defined""... $ac_c" 1>&6
-echo "configure:8514: checking if sys_errlist is already defined" >&5
+echo "configure:8567: checking if sys_errlist is already defined" >&5
 if eval "test \"`echo '$''{'ac_cv_needs_sys_errlist'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8519 "configure"
+#line 8572 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 char *s = sys_errlist;
 ; return 0; }
 EOF
-if { (eval echo configure:8526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_needs_sys_errlist="no"
 else
@@ -8544,16 +8597,16 @@
 fi
 
 echo $ac_n "checking for libresolv _dns_ttl_ hack""... $ac_c" 1>&6
-echo "configure:8548: checking for libresolv _dns_ttl_ hack" >&5
+echo "configure:8601: checking for libresolv _dns_ttl_ hack" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8550 "configure"
+#line 8603 "configure"
 #include "confdefs.h"
 extern int _dns_ttl_;
 int main() {
 return _dns_ttl_;
 ; return 0; }
 EOF
-if { (eval echo configure:8557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 cat >> confdefs.h <<\EOF
@@ -8569,12 +8622,12 @@
 rm -f conftest*
 
 echo $ac_n "checking if inet_ntoa() actually works""... $ac_c" 1>&6
-echo "configure:8573: checking if inet_ntoa() actually works" >&5
+echo "configure:8626: checking if inet_ntoa() actually works" >&5
 if test "$cross_compiling" = yes; then
   INET_NTOA_RESULT="broken"
 else
   cat > conftest.$ac_ext <<EOF
-#line 8578 "configure"
+#line 8631 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8593,7 +8646,7 @@
 }
 
 EOF
-if { (eval echo configure:8597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   INET_NTOA_RESULT=`cat conftestval`
 else
@@ -8619,9 +8672,9 @@
 
 if test "$ac_cv_header_sys_statvfs_h" = "yes" ; then
 echo $ac_n "checking for working statvfs() interface""... $ac_c" 1>&6
-echo "configure:8623: checking for working statvfs() interface" >&5
+echo "configure:8676: checking for working statvfs() interface" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8625 "configure"
+#line 8678 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8638,7 +8691,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:8642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_func_statvfs=yes
 else
@@ -8658,12 +8711,12 @@
 fi
 
 echo $ac_n "checking for _res.nsaddr_list""... $ac_c" 1>&6
-echo "configure:8662: checking for _res.nsaddr_list" >&5
+echo "configure:8715: checking for _res.nsaddr_list" >&5
 if eval "test \"`echo '$''{'ac_cv_have_res_nsaddr_list'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8667 "configure"
+#line 8720 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TYPES_H
@@ -8686,7 +8739,7 @@
 _res.nsaddr_list[0];
 ; return 0; }
 EOF
-if { (eval echo configure:8690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_res_nsaddr_list="yes"
 else
@@ -8708,12 +8761,12 @@
 
 if test $ac_cv_have_res_nsaddr_list = "no" ; then
 echo $ac_n "checking for _res.ns_list""... $ac_c" 1>&6
-echo "configure:8712: checking for _res.ns_list" >&5
+echo "configure:8765: checking for _res.ns_list" >&5
 if eval "test \"`echo '$''{'ac_cv_have_res_ns_list'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8717 "configure"
+#line 8770 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TYPES_H
@@ -8736,7 +8789,7 @@
 _res.ns_list[0].addr;
 ; return 0; }
 EOF
-if { (eval echo configure:8740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8793: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_res_ns_list="yes"
 else
diff -ruN squid-2.5.STABLE10/configure.in squid-2.5.STABLE11/configure.in
--- squid-2.5.STABLE10/configure.in	Mon May 16 16:41:14 2005
+++ squid-2.5.STABLE11/configure.in	Thu Sep 22 02:16:26 2005
@@ -3,15 +3,15 @@
 dnl
 dnl  Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
 dnl
-dnl  $Id: configure.in,v 1.251.2.92 2005/05/16 22:38:57 hno Exp $
+dnl  $Id: configure.in,v 1.251.2.101 2005/09/22 08:15:05 hno Exp $
 dnl
 dnl
 dnl
 AC_INIT(src/main.c)
 AC_CONFIG_AUX_DIR(cfgaux)
-AM_INIT_AUTOMAKE(squid, 2.5.STABLE10)
+AM_INIT_AUTOMAKE(squid, 2.5.STABLE11)
 AM_CONFIG_HEADER(include/autoconf.h)
-AC_REVISION($Revision: 1.251.2.92 $)dnl
+AC_REVISION($Revision: 1.251.2.101 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -21,6 +21,7 @@
 fi
 
 PRESET_CFLAGS="$CFLAGS"
+PRESET_LDFLAGS="$LDFLAGS"
 
 dnl Check for GNU cc
 AC_PROG_CC
@@ -786,16 +787,13 @@
                           XBS5_LP64_OFF64        64 bits (legacy)
                           XBS5_LPBIG_OFFBIG      large pointers and files (legacy)
                           default                The default for your OS],
-[ case "$enableval" in
+[ case "$withval" in
   yes|no)
 	echo "--with-build-environment expects a build environment string as used by getconf"
 	exit 1
 	;;
-  _*)
-	buildmodel="$enableval"
-	;;
   *)
-	buildmodel="_$enableval"
+	buildmodel="$withval"
 	;;
   esac
 ])
@@ -813,11 +811,33 @@
 		CFLAGS="-D_FILE_OFFSET_BITS=64 $CFLAGS"
 	fi
 fi
-if test -n "$buildmodel" && test "$buildmodel" != "_default"; then
+if test -n "$buildmodel" && test "$buildmodel" != "default"; then
 	echo "Using $buildmodel build environment"
+	if test "`getconf _$buildmodel 2>/dev/null || true`" = 1 || test "`getconf $buildmodel 2>/dev/null || true`" ; then
+	    : # All fine
+	else
+	    echo "ERROR: Build environment $buildmodel not known to getconf."
+	    exit 1
+	fi
 	CFLAGS="`getconf ${buildmodel}_CFLAGS` $CFLAGS"
 	LIBS="`getconf ${buildmodel}_LIBS` $LIBS"
 	LDFLAGS="`getconf ${buildmodel}_LDFLAGS` $LDFLAGS"
+dnl
+dnl On Solaris getconf returns for CFLAGS -Xa and -Usun options, but:
+dnl   -Xa is supported only by Sun cc, so we need to remove it when using gcc
+dnl   The 'sun' define is needed by ipfilter includes, so we must remove -Usun
+	case "$host" in
+	    *-solaris*)
+    		if test "$GCC" = "yes"; then
+		    echo "Removing -Xa for gcc on $host"
+		    CFLAGS="`echo $CFLAGS | sed -e 's/-Xa//'`"
+		fi
+   	        echo "Removing -Usun for gcc on $host"
+		CFLAGS="`echo $CFLAGS | sed -e 's/-Usun//'`"
+		;;
+	    *)
+	        ;;
+	esac
 fi
 
 AM_CONDITIONAL(MAKE_LEAKFINDER, false)
@@ -1279,6 +1299,7 @@
 	ip_fil_compat.h \
 	ip_fil.h \
 	ip_nat.h \
+	ipl.h \
 	libc.h \
 	limits.h \
 	linux/netfilter_ipv4.h \
@@ -1296,6 +1317,7 @@
 	netinet/ip_fil_compat.h \
 	netinet/ip_fil.h \
 	netinet/ip_nat.h \
+	netinet/ipl.h \
 	openssl/err.h \
 	openssl/md5.h \
 	openssl/ssl.h \
@@ -1317,6 +1339,7 @@
 	sys/mount.h \
 	sys/msg.h \
 	sys/param.h \
+	sys/prctl.h \
 	sys/resource.h \
 	sys/select.h\
 	sys/socket.h \
@@ -1794,6 +1817,7 @@
 	mktime \
 	mstats \
 	poll \
+	prctl \
 	pthread_attr_setscope \
 	pthread_setschedparam \
 	pthread_attr_setschedparam \
@@ -1930,6 +1954,17 @@
     echo "WARNING: Cannot find necessary IP-Filter header files"
     echo "         Transparent Proxy support WILL NOT be enabled"
     sleep 10
+elif test "$IPF_TRANSPARENT" = "yes" ; then
+dnl On Solaris Ipfilter includes expect that SOLARIS2 is defined with the
+dnl Solaris minor version (8, 9, 10, ...)
+    case "$host" in
+	*-solaris*)
+	    solrev=`uname -r | sh -c 'IFS=. read j n x; echo $n'`
+	    CFLAGS="-DSOLARIS2=$solrev $CFLAGS" 
+	    ;;
+	*)
+	    ;;
+     esac
 fi
 
 dnl PF support requires a header file.
@@ -2038,6 +2073,24 @@
 AC_MSG_RESULT($DEFAULT_FD_SETSIZE)
 AC_DEFINE_UNQUOTED(DEFAULT_FD_SETSIZE, $DEFAULT_FD_SETSIZE)
 
+AC_ARG_WITH(maxfd,
+[  --with-maxfd=N          Override maximum number of filedescriptors. Useful
+                          if you build as another user who is not privileged
+                          to use the number of filedescriptors you want the
+                          resulting binary to support],
+[ case $withval in
+  [[0-9]]*)
+    SQUID_MAXFD=$withval
+    echo "Maximum filedescriptors set to $SQUID_MAXFD"
+    ;;
+  *)
+    echo "ERROR: Invalid --with-maxfd argument"
+    exit 1
+    ;;
+  esac
+])
+if test -z "$SQUID_MAXFD"; then
+
 dnl Not cached since people are likely to tune this
 AC_MSG_CHECKING(Maximum number of filedescriptors we can open)
 dnl damn! FreeBSD's pthreads breaks dup2().
@@ -2109,6 +2162,7 @@
 SQUID_MAXFD=256,
 SQUID_MAXFD=256)
 AC_MSG_RESULT($SQUID_MAXFD)
+fi # --with-maxfd SQUID_MAXFD
 AC_DEFINE_UNQUOTED(SQUID_MAXFD, $SQUID_MAXFD)
 if test "$SQUID_MAXFD" -lt 512 ; then
     echo "WARNING: $SQUID_MAXFD may not be enough filedescriptors if your"
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ACCESS_DENIED squid-2.5.STABLE11/errors/Greek/ERR_ACCESS_DENIED
--- squid-2.5.STABLE10/errors/Greek/ERR_ACCESS_DENIED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_ACCESS_DENIED	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áðáãïñåýåôáé ç Ðñüóâáóç.
+</STRONG>
+<P>
+Ïé ñõèìßóåéò ôïõ ìç÷áíéóìïý ðñüóâáóçò áðïôñÝðïõí ôçí 
+ïëïêëÞñùóç ôçò áéôÞóåùò óáò. ÅðéêïéíùíÞóôå ìå ôïí ðáñï÷Ýá 
+õðçñåóéþí, áí íïìßæåôå üôé áõôü äåí ðñÝðåé íá óõìâáßíåé.
+</UL>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
+
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CACHE_ACCESS_DENIED squid-2.5.STABLE11/errors/Greek/ERR_CACHE_ACCESS_DENIED
--- squid-2.5.STABLE10/errors/Greek/ERR_CACHE_ACCESS_DENIED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_CACHE_ACCESS_DENIED	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áðáãïñåýåôáé ç Ðñüóâáóç óôï ÌåóïëáâçôÞ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Ç Ðñüóâáóç óôï ÌåóïëáâçôÞ Áðáãïñåýåôáé</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áðáãïñåýåôáé ç Ðñüóâáóç óôï ÌåóïëáâçôÞ.
+</STRONG>
+</UL>
+</P>
+
+<P>ËõðÜìáé áëëÜ äåí óáò åðéôñÝðåôáé ç ðñüóâáóç óôç óåëßäá:
+<PRE>    %U</PRE>
+áðü áõôüí ôïí ìåóïëáâçôÞ, ìÝ÷ñé íá ðéóôïðïéÞóåôå ôïí åáõôü óáò.
+</P>
+
+<P>
+Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå öõëëïìåôñçôÞ Netscape ÝêäïóÞò ôïõëÜ÷éóôïí 2.0, ôïí
+Microsoft Internet Explorer 3.0 Þ ïðïéïíäÞðïôå öõëëïìåôñçôÞ óõìâáôü ìå HTTP/1.1.
+ÅðéêïéíùíÞóôå ìå ôïí <A HREF="mailto:%w">äéá÷åéñéóôÞ ôïõ ìåóïëáâçôÞ óáò</a>
+áí áíôéìåôùðßæåôå äõóêïëßá íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò Þ íá
+<A HREF="http://%h/cgi-bin/chpasswd.cgi">áëëÜîôå</a> ôïí êùäéêü óáò.
+</P>
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED squid-2.5.STABLE11/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED
--- squid-2.5.STABLE10/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç ôïõ ÌåóïëáâçôÞ </H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç ôïõ ÌåóïëáâçôÞ.
+</STRONG>
+</UL>
+</P>
+
+<P>ËõðÜìáé áëëÜ äåí óáò åðéôñÝðåôáé Þ ðñüóâáóç óôï:
+<PRE>    %U</PRE>
+ìÝ÷ñé íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò.
+</P>
+
+<P> Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå öõëëïìåôñçôÞ Netscape Ýêäïóçò ôïõëÜ÷éóôïí 2.0, ôïí
+Microsoft Internet Explorer 3.0 Þ ïðïéïíäÞðïôå öõëëïìåôñçôÞ óõìâáôü ìå HTTP/1.1.
+ÅðéêïéíùíÞóôå ìå ôïí <A HREF="mailto:%w">äéá÷åéñéóôÞ ôïõ ìåóïëáâçôÞ óáò</a>
+áí áíôéìåôùðßæåôå äõóêïëßá íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò Þ
+áí <em>åßóôå</em> ï äéá÷åéñéóôÞò, äéáâÜóôå ôçí ôåêìçñßùóç ôïõ Squid
+ó÷åôéêÜ ìå ôç äéá÷åßñéóç ôïõ êáé êïéôÜîôå ôá çìåñïëüãéá ôïõ ðñïãñÜììáôïò
+ãéá ðéï ëåðôïìåñåßò áíáöïñÝò óöÜëìáôïò.</P>
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CANNOT_FORWARD squid-2.5.STABLE11/errors/Greek/ERR_CANNOT_FORWARD
--- squid-2.5.STABLE10/errors/Greek/ERR_CANNOT_FORWARD	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_CANNOT_FORWARD	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áäýíáôç ç ðñïþèçóç ôçò áéôÞóåùò óáò áõôÞ ôç óôéãìÞ.
+</STRONG>
+</UL>
+
+<P>
+Ôï áßôçìá óáò äåí Þôáí äõíáôü íá ðñïùèçèåß óôïí áñ÷éêü åîõðçñåôçôÞ
+áëëÜ êáé ïýôå óå êÜðïéï ãïíéêü ìåóïëáâçôÞ. Ç ðéï ðéèáíÝò áéôßåò åßíáé: 
+<UL>
+<LI>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ äåí åðéôñÝðåé íá ãßíïíôáé áð åõèåßáò 
+    óõíäÝóåéò óôïõò áñ÷éêïýò åîõðçñåôçôÝò, êáé
+<LI>¼ëïé ïé äéáèÝóéìïé ãïíéêïß ìåóïëáâçôÝò, äåí åßíáé äéáèÝóéìïé.
+</UL>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CONNECT_FAIL squid-2.5.STABLE11/errors/Greek/ERR_CONNECT_FAIL
--- squid-2.5.STABLE10/errors/Greek/ERR_CONNECT_FAIL	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_CONNECT_FAIL	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áðïôõ÷ßá óýíäåóçò 
+</STRONG>
+</UL>
+
+<P>
+Ôï óýóôçìá åíçìÝñùóå üôé:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Ï áðïìáêñõóìÝíïò õðïëïãéóôÞò (Þ äßêôõï) ìÜëëïí äåí ëåéôïõñãåß. ÄïêéìÜóôå áñãüôåñá.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_DNS_FAIL squid-2.5.STABLE11/errors/Greek/ERR_DNS_FAIL
--- squid-2.5.STABLE10/errors/Greek/ERR_DNS_FAIL	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_DNS_FAIL	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<BLOCKQUOTE>
+Äåí Þôáí äõíáôüí íá åîáêñéâùèåß ç äéåýèõíóç IP ãéá ôï üíïìá
+<I>%H</I>
+</BLOCKQUOTE>
+
+<P>
+Ï åîõðçñåôçôÞò ïíïìÜôùí åíçìÝñùóå üôé:
+<BLOCKQUOTE>
+%z
+</BLOCKQUOTE>
+
+<P>
+Áõôü óçìáßíåé üôé:
+<PRE>
+ Ï ìåóïëáâçôÞò äåí ìðüñåóå íá åîáêñéâþóåé ôçí äéåýèõíóç ðïõ ðëçêôñïëïãÞóáôå. 
+ ÅëÝãîôå áí ç äéåýèõíóç åßíáé óùóôÞ. 
+</PRE>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FORWARDING_DENIED squid-2.5.STABLE11/errors/Greek/ERR_FORWARDING_DENIED
--- squid-2.5.STABLE10/errors/Greek/ERR_FORWARDING_DENIED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FORWARDING_DENIED	Thu Sep  1 16:37:29 2005
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áðáãïñåýåôáé ç ðñïþèçóç.
+</STRONG>
+</UL>
+
+<P>
+Ï ìåóïëáâçôÞò äåí èá ðñïùèÞóåé ôï áßôçìá óáò ãéáôß ðñïóðáèåß íá 
+åðéâÜëåé ìéá óõããåíéêÞ ó÷Ýóç. ºóùò ï ðåëÜôçò óôï %i åßíáé Ýíáò ìåóïëáâçôÞò
+ï ïðïßïò äåí åßíáé óùóôÜ ñõèìéóìÝíïò.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_DISABLED squid-2.5.STABLE11/errors/Greek/ERR_FTP_DISABLED
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_DISABLED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_DISABLED	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Ôï ðñùôüêïëëï FTP åßíáé áðåíåñãïðïéçìÝíï
+</STRONG>
+</UL>
+
+<P>
+Áõôüò ï ìåóïëáâçôÞò äåí õðïóôçñßæåé FTP.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_FAILURE squid-2.5.STABLE11/errors/Greek/ERR_FTP_FAILURE
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_FAILURE	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_FAILURE	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç
+ÐñïÝêõøå óöÜëìá óôï ðñùôüêïëëï FTP:
+<A HREF="%U">%U</A>
+<P>
+Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_FORBIDDEN squid-2.5.STABLE11/errors/Greek/ERR_FTP_FORBIDDEN
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_FORBIDDEN	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_FORBIDDEN	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç
+ÐñïÝêõøå óöÜëìá åîáêñßâùóçò FTP:
+<A HREF="%U">%U</A>
+<P>
+Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_NOT_FOUND squid-2.5.STABLE11/errors/Greek/ERR_FTP_NOT_FOUND
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_NOT_FOUND	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_NOT_FOUND	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Ç áêüëïõèç äéåýèõíóç äåí âñÝèçêå:
+<A HREF="%U">%U</A>
+<P>
+Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>
+Áõôü ìðïñåß íá óõìâáßíåé áðü ìéá äéåýèõíóç FTP ìå áðüëõôÞ äéáäñïìÞ (ôï ïðïßï
+äåí åßíáé óýìöùíï ìå ôï RFC 1738).  Áí áõôÞ åßíáé ç áéôßá, ôï áñ÷åßï èá ôï
+âñåßôå óôï <A HREF="%B">%B</A>.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_CREATED squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_CREATED
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_CREATED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_CREATED	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>Ç åíôïëÞ FTP PUT Þôáí åðéôõ÷Þò: Ôï áñ÷åßï äçìéïõñãÞèçêå</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Ç ëåéôïõñãßá ïëïêëçñþèçêå ìå åðéôõ÷ßá</H1>
+<H2>Ôï áñ÷åßï äçìéïõñãÞèçêå</H2>
+<HR noshade size="1px">
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_ERROR squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_ERROR
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_ERROR	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_ERROR	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Ç ìåôáöüñôùóç FTP áðÝôõ÷å</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Ç åíôïëÞ FTP PUT/upload áðÝôõ÷å</H2>
+<HR noshade size="1px">
+<P>
+Êáôá ôç äéÜñêåéá ìåôáöüñôùóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP:
+<PRE><STRONG>
+        %f
+</STRONG></PRE>
+êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç
+<PRE><STRONG>
+        %F
+</STRONG></PRE>
+<P>
+Áõôü óçìáßíåé üôé:
+<PRE>
+ÅëÝãîôå ôç äéáäñïìÞ, ôá äéêáéþìáôá, ôïí åëåýèåñï ÷þñï êáé îáíáäïêéìÜóôå.
+</PRE>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_MODIFIED squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_MODIFIED
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_MODIFIED	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_PUT_MODIFIED	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>Ç åíôïëÞ FTP PUT Þôáí åðéôõ÷Þò Ôï áñ÷åßï áíáíåþèçêå</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Ç ëåéôïõñãßá ïëïêëçñþèçêå ìå åðéôõ÷ßá</H1>
+<H2>Ôï áñ÷åßï áíáíåþèçêå</H2>
+<HR noshade size="1px">
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_UNAVAILABLE squid-2.5.STABLE11/errors/Greek/ERR_FTP_UNAVAILABLE
--- squid-2.5.STABLE10/errors/Greek/ERR_FTP_UNAVAILABLE	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_FTP_UNAVAILABLE	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Ï åîõðçñåôçôÞò FTP Þôáí ðïëý áðáó÷ïëçìÝíïò êáôÜ ôçí áíÜêôçóç ôïõ:
+<A HREF="%U">%U</A>
+<P>
+Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_REQ squid-2.5.STABLE11/errors/Greek/ERR_INVALID_REQ
--- squid-2.5.STABLE10/errors/Greek/ERR_INVALID_REQ	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_INVALID_REQ	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôç ðñïóðÜèåéá åðåîåñãáóßáò ôçò áßôçóçò:
+<PRE>
+%R
+</PRE>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+¶êõñç Áßôçóç
+</STRONG>
+</UL>
+
+<P>
+ÊÜðïéï óçìåßï ôçò áßôçóçò HTTP åßíáé Üêõñï.  ÐéèáíÜ ðñïâëÞìáôá:
+<UL>
+<LI>ÅëëéðÞò Þ Üãíùóôç ìÝèïäïò áßôçóçò
+<LI>ÅëëéðÞò Äéåýèõíóç (URL)
+<LI>ÅëëéðÝò áíáãíùñéóôéêü HTTP (HTTP/1.0)
+<LI>Ç áßôçóç åßíáé õðåñìåãÝèçò
+<LI>¸ëåéðåò Ðåñéå÷üìåíï- ÌÞêïò ãéá ôéò áéôÞóåéò POST Þ PUT
+<LI>¶êõñïé ÷áñáêôÞñåò óôï üíïìá õðïëïãéóôÞ, ïé õðïãåãñáììÝíåò äåí åðéôñÝðïíôáé
+</UL>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_RESP squid-2.5.STABLE11/errors/Greek/ERR_INVALID_RESP
--- squid-2.5.STABLE10/errors/Greek/ERR_INVALID_RESP	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_INVALID_RESP	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ERROR</H1>
+<H2>The requested URL could not be retrieved</H2>
+<HR noshade size="1px">
+<P>
+While trying to process the request:
+<PRE>
+%R
+</PRE>
+<P>
+The following error was encountered:
+<UL>
+<LI>
+<STRONG>
+Invalid Response
+</STRONG>
+</UL>
+
+<P>
+The HTTP Response message received from the contacted server
+could not be understood or was otherwise malformed. Please contact
+the site operator. Your cache administrator may be able to provide
+you with more details about the exact nature of the problem if needed.
+
+<P>Your cache administrator is <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_URL squid-2.5.STABLE11/errors/Greek/ERR_INVALID_URL
--- squid-2.5.STABLE10/errors/Greek/ERR_INVALID_URL	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_INVALID_URL	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+ËáíèáóìÝíç Äéåýèõíóç
+</STRONG>
+</UL>
+
+<P>
+ÕðÜñ÷åé ðñüâëçìá ìå ôçí áéôïýìåíç äéåýèõíóç. ÐéèáíÝò áéôßåò:
+Some aspect of the requested URL is incorrect.  Possible problems:
+<UL>
+<LI>ÅëëéðÝò Þ ëáíèáóìÝíï ðñùôüêïëëï ðñüóâáóçò (èá ðñÝðåé íá åßíáé `http://'' Þ ðáñüìïéï)
+<LI>ÅëëéðÝò üíïìá õðïëïãéóôÞ
+<LI>ËáíèáóìÝíïé ÷áñáêôÞñåò äéáöõãÞò óôç äéåýèõíóç
+<LI>ËáíèáóìÝíïé ÷áñáêôÞñåò óôï üíïìá õðïëïãéóôÞ ' ïé õðïãñáììßóåéò äåí åðéôñÝðïíôáé
+</UL>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_LIFETIME_EXP squid-2.5.STABLE11/errors/Greek/ERR_LIFETIME_EXP
--- squid-2.5.STABLE10/errors/Greek/ERR_LIFETIME_EXP	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_LIFETIME_EXP	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+¸ëçîå ï ×ñüíïò ÓýíäåóÞò
+</STRONG>
+</UL>
+
+<P>
+Ôï Squid ôåñìÜôéóå ôçí áßôçóç åðåéäÞ îåðÝñáóå ôïí ìÝãéóôï ÷ñüíï
+óýíäåóçò.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_NO_RELAY squid-2.5.STABLE11/errors/Greek/ERR_NO_RELAY
--- squid-2.5.STABLE10/errors/Greek/ERR_NO_RELAY	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_NO_RELAY	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Äåí õðÜñ÷åé Wais Relay
+</STRONG>
+</UL>
+
+<P>
+Äåí Ý÷åé êáèïñéóôåß õðïëïãéóôÞò WAIS Relay ãéá áõôü ôï ìåóïëáâçôÞ!  Ðáñáðïíåèåßôå óôïí Äéá÷åéñéóôÞ.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ONLY_IF_CACHED_MISS squid-2.5.STABLE11/errors/Greek/ERR_ONLY_IF_CACHED_MISS
--- squid-2.5.STABLE10/errors/Greek/ERR_ONLY_IF_CACHED_MISS	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_ONLY_IF_CACHED_MISS	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Äåí âñÝèçêå Ýãêõñï áíôßãñáöï óôçí ìíÞìç êáé Ý÷åé êáèïñéóôåß ç åðéëïãÞ
+<code>only-if-cached</code>.
+</STRONG>
+</UL>
+
+<P>
+
+ÆçôÞóáôå ìéá óåëßäá ìå åíåñãïðïéçìÝíç ôçí åðéëïãÞ <code>only-if-cached</code>.
+Äåí âñÝèçêå áíôßãñáöï óôç ìíÞìç, <em>Þ</em> Þôáí áðáñáßôçôç ç åðáíáöüñôùóÞ
+ôïõ ðïõ áðáãïñåýåôáé áðü ôçí åðéëïãÞ <code>only-if-cached</code>.
+
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_READ_ERROR squid-2.5.STABLE11/errors/Greek/ERR_READ_ERROR
--- squid-2.5.STABLE10/errors/Greek/ERR_READ_ERROR	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_READ_ERROR	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+ÓöÜëìá ÁíÜãíùóçò
+</STRONG>
+</UL>
+
+<P>
+Ôï óýóôçìá åðÝóôñåøå:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ÐñïÝêõøå óöÜëìá êáôÜ ôçí áíÜãíùóç äåäïìÝíùí áðü ôï äßêôõï.  Ðáñáêáëþ 
+îáíáäïêéìÜóôå ôï áßôçìá óáò.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_READ_TIMEOUT squid-2.5.STABLE11/errors/Greek/ERR_READ_TIMEOUT
--- squid-2.5.STABLE10/errors/Greek/ERR_READ_TIMEOUT	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_READ_TIMEOUT	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<UL>
+<LI>
+<STRONG>
+ÔÝëïò ×ñüíïõ ÁíÜãíùóçò
+</STRONG>
+</UL>
+
+<P>
+Ôï óýóôçìá åðÝóôñåøå:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ÐñïÝêõøå ÷ñïíéêü üñéï êáôÜ ôçí áíÜãíùóç äåäïìÝíùí áðü ôï äßêôõï.  Ôï äßêôõï
+Þ ï åîõðçñåôçôÞò äåí ëåéôïõñãåß Þ õðïëåéôïõñãåß.  Ðáñáêáëþ îáíáäïêéìÜóôå.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_SHUTTING_DOWN squid-2.5.STABLE11/errors/Greek/ERR_SHUTTING_DOWN
--- squid-2.5.STABLE10/errors/Greek/ERR_SHUTTING_DOWN	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_SHUTTING_DOWN	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<P>
+Ôï óýóôçìá åßíáé óå äéáäéêáóßá ôåñìáôéóìïý êáé äåí ìðïñåß íá åîõðçñåôÞóåé
+ôï áßôçìá óáò áõôÞ ôç óôéãìÞ. Ðáñáêáëþ äïêéìÜóôå îáíÜ óå ëßãï.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_SOCKET_FAILURE squid-2.5.STABLE11/errors/Greek/ERR_SOCKET_FAILURE
--- squid-2.5.STABLE10/errors/Greek/ERR_SOCKET_FAILURE	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_SOCKET_FAILURE	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+ÓöÜëìá Óýíäåóçò
+</STRONG>
+</UL>
+
+<P>
+Ôï óýóôçìá åðÝóôñåøå:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Ôï Squid äåí ìðïñåß íá äçìéïõñãÞóåé óýíäåóç TCP, õðïèåôéêÜ ëüãù öüñôïõ.
+Ðáñáêáëþ îáíáäïêéìÜóôå.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_TOO_BIG squid-2.5.STABLE11/errors/Greek/ERR_TOO_BIG
--- squid-2.5.STABLE10/errors/Greek/ERR_TOO_BIG	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_TOO_BIG	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Ôï áßôçìá Þ ç áðÜíôçóç åßíáé õðåñìåãÝèç
+</STRONG>
+<P>
+Áí êÜíåôå ìéá áßôçóç POST Þ PUT, ôüôå ôï óþìá (áõôü ðïõ ðñïóðáèåßôå
+íá áíåâÜóåôå) åßíáé ðïëý ìåãÜëï. Áí êÜíåôå ìéá áßôçóç GET, ôüôå
+ôï óþìá (áõôü ðïõ ðñïóðáèåßôå íá êáôåâÜóåôå) åßíáé ðïëý ìåãÜëï.
+Ôá üñéá áõôÜ êáèïñßæïíôáé áðü ôïí Ðáñï÷Ýá Õðçñåóéþí Äéáäéêôýïõ ðïõ
+ëåéôïõñãåß áõôÞ ôçí õðçñåóßá. Ðáñáêáëþ åðéêïéíùíÞóôå ìáæß ôïõò áí
+íïìßæåôå ïôé áõôü åßíáé ëÜèïò.
+</UL>
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>.
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_UNSUP_REQ squid-2.5.STABLE11/errors/Greek/ERR_UNSUP_REQ
--- squid-2.5.STABLE10/errors/Greek/ERR_UNSUP_REQ	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_UNSUP_REQ	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Ìç õðïóôçñéæüìåíç ìÝèïäïò áßôçóçò êáé ðñùôüêïëëï
+</STRONG>
+</UL>
+
+<P>
+Ôï Squid äåí õðïóôçñßæåé üëåò ôéò ìåèüäïõò áéôÞóåùí ãéá üëá ôá ðñùôüêïëëá
+ðñüóâáóçò. Ãéá ðáñÜäåéãìá, ôï POST ãéá Gopher äåí õðïóôçñßæåôáé.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_URN_RESOLVE squid-2.5.STABLE11/errors/Greek/ERR_URN_RESOLVE
--- squid-2.5.STABLE10/errors/Greek/ERR_URN_RESOLVE	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_URN_RESOLVE	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Äåí âñÝèçêå äéåýèõíóç ãéá ôï æçôïýìåíï üíïìá</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Äåí âñÝèçêå äéåýèõíóç ãéá ôï æçôïýìåíï üíïìá</H2>
+<HR noshade size="1px">
+<P>
+ÊáôÜ ôç äéÜñêåéá åýñåóçò ôïõ ïíüìáôïò (URN):
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+Áäýíáôç ç åýñåóç ôïõ ïíüìáôïò
+</STRONG>
+</UL>
+
+<P>
+Ìåôáîý ìáò, ìçí ðåñéìÝíåôå êáé ðïëëÜ áðü URNs óôï %T :)
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_WRITE_ERROR squid-2.5.STABLE11/errors/Greek/ERR_WRITE_ERROR
--- squid-2.5.STABLE10/errors/Greek/ERR_WRITE_ERROR	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_WRITE_ERROR	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+ÓöÜëìá ÅããñáöÞò
+</STRONG>
+</UL>
+
+<P>
+Ôï óýóôçìá åðÝóôñåøå:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ÐñïÝêõøå óöÜëìá êáôÜ ôçí åããñáöÞ óôï äßêôõï.  Ðáñáêáëþ äïêéìÜóôå îáíÜ
+ôï áßôçìá óáò.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ZERO_SIZE_OBJECT squid-2.5.STABLE11/errors/Greek/ERR_ZERO_SIZE_OBJECT
--- squid-2.5.STABLE10/errors/Greek/ERR_ZERO_SIZE_OBJECT	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/ERR_ZERO_SIZE_OBJECT	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-7">
+<TITLE>ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÓÖÁËÌÁ</H1>
+<H2>Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç</H2>
+<HR noshade size="1px">
+<P>
+Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç:
+<A HREF="%U">%U</A>
+<P>
+ÐñïÝêõøå ôï áêüëïõèï óöÜëìá:
+<UL>
+<LI>
+<STRONG>
+ÁðÜíôçóç Ìçäåíéêïý ÌåãÝèïõò
+</STRONG>
+</UL>
+
+<P>
+Ôï Squid äåí Ýëáâå äåäïìÝíá ãéá áõôü ôï áßôçìá.
+<P>Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Greek/README squid-2.5.STABLE11/errors/Greek/README
--- squid-2.5.STABLE10/errors/Greek/README	Wed Dec 31 17:00:00 1969
+++ squid-2.5.STABLE11/errors/Greek/README	Thu Sep  1 16:37:30 2005
@@ -0,0 +1,2 @@
+Thank you to George Papamichelakis <george@step.gr>
+for creating these error pages in Greek!
diff -ruN squid-2.5.STABLE10/errors/Makefile.am squid-2.5.STABLE11/errors/Makefile.am
--- squid-2.5.STABLE10/errors/Makefile.am	Mon Dec  1 03:12:28 2003
+++ squid-2.5.STABLE11/errors/Makefile.am	Thu Sep  1 16:37:29 2005
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 #
-# $Id: Makefile.am,v 1.5.2.7 2003/12/01 10:12:28 hno Exp $
+# $Id: Makefile.am,v 1.5.2.8 2005/09/01 22:37:29 hno Exp $
 #
 
 errordir = $(datadir)/errors
@@ -22,6 +22,7 @@
 		Finnish \
 		French \
 		German \
+		Greek \
 		Hebrew \
 		Hungarian \
 		Italian \
diff -ruN squid-2.5.STABLE10/errors/Makefile.in squid-2.5.STABLE11/errors/Makefile.in
--- squid-2.5.STABLE10/errors/Makefile.in	Fri Mar 18 17:55:41 2005
+++ squid-2.5.STABLE11/errors/Makefile.in	Thu Sep  1 16:37:29 2005
@@ -14,7 +14,7 @@
 @SET_MAKE@
 
 #
-# $Id: Makefile.in,v 1.15.2.17 2005/03/19 00:55:41 hno Exp $
+# $Id: Makefile.in,v 1.15.2.18 2005/09/01 22:37:29 hno Exp $
 #
 
 SHELL = @SHELL@
@@ -135,6 +135,7 @@
 		Finnish \
 		French \
 		German \
+		Greek \
 		Hebrew \
 		Hungarian \
 		Italian \
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_CACHE_ACCESS_DENIED squid-2.5.STABLE11/errors/Spanish/ERR_CACHE_ACCESS_DENIED
--- squid-2.5.STABLE10/errors/Spanish/ERR_CACHE_ACCESS_DENIED	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_CACHE_ACCESS_DENIED	Mon Jun  6 15:35:43 2005
@@ -1,11 +1,11 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<TITLE>ERROR: Acceso Denegado al Cache</TITLE>
+<TITLE>ERROR: Acceso Denegado al Cach&eacute;</TITLE>
 <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
 </HEAD>
 <BODY>
 <H1>ERROR</H1>
-<H2>Acceso Denegado al Cache</H2>
+<H2>Acceso Denegado al Cach&eacute;</H2>
 <HR noshade size="1px">
 <P>
 Mientras se intentaba traer el URL:
@@ -15,20 +15,20 @@
 <UL>
 <LI>
 <STRONG>
-Acceso denegado al cache.
+Acceso denegado al cach&eacute;.
 </STRONG>
 </UL>
 
 <P>
 Disculpe, Ud. no est&aacute; autorizado a acceder a:
 <PRE>    %U</PRE>
-desde este cache hasta que se haya autenticado.
+desde este cach&eacute; hasta que se haya autenticado.
 
 
 <P>
-Ud. necesita utilizar Netscape version 2.0 o superior, o Microsoft Internet
-Explorer 3.0, o un navegador que cumpla con HTTP/1.1 para que funcione.
-Por favor contacte al <A HREF="mailto:%w">administrador del cache</a> si 
+Ud. necesita utilizar Netscape versi&oacute;n 2.0 o superior, o Microsoft
+Internet Explorer 3.0, o un navegador que cumpla con HTTP/1.1 para que funcione.
+Por favor contacte al <A HREF="mailto:%w">administrador del cach&eacute;</a> si 
 tiene dificultad para autenticarse o <A HREF="http://%h/cgi-bin/chpasswd.cgi">
 cambie</a> su password.
 </P>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED squid-2.5.STABLE11/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED
--- squid-2.5.STABLE10/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED	Mon Jun  6 15:35:43 2005
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<TITLE>ERROR: Acceso Denegado al Cache Manager</TITLE>
+<TITLE>ERROR: Acceso Denegado al Cach&eacute; Manager</TITLE>
 <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
 </HEAD>
 <BODY>
@@ -21,13 +21,13 @@
 
 <P>Disculpe, Ud. no est&aacute; autorizado a acceder a:
 <PRE>    %U</PRE>
-desde este cache hasta que se haya autenticado.
+desde este cach&eacute; hasta que se haya autenticado.
 
 <P>
-Ud. necesita utilizar Netscape version 2.0 o superior, o Microsoft Internet
-Explorer 3.0, o un navegador que cumpla con HTTP/1.1 para que funcione.
-Por favor contacte al <A HREF="mailto:%w">administrador del cache</a> si
+Ud. necesita utilizar Netscape versi&oacute;n 2.0 o superior, o Microsoft
+Internet Explorer 3.0, o un navegador que cumpla con HTTP/1.1 para que funcione.
+Por favor contacte al <A HREF="mailto:%w">administrador del cach&eacute;</a> si
 tiene dificultad para autenticarse, o si Ud. <em>es</em> el administrador,
 lea la documentaci&oacute;n de Squid sobre interfaz del cache manager y 
-chequee en el log de cache mensajes de error m&aacute;s detallados.
+chequee en el log de cach&eacute; mensajes de error m&aacute;s detallados.
 </P>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_CANNOT_FORWARD squid-2.5.STABLE11/errors/Spanish/ERR_CANNOT_FORWARD
--- squid-2.5.STABLE10/errors/Spanish/ERR_CANNOT_FORWARD	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_CANNOT_FORWARD	Mon Jun  6 15:35:43 2005
@@ -19,13 +19,13 @@
 </UL>
 
 <P>
-La petici&oacute;n no ha podido ser enviada al servidor origen o a alguna
-de las cach&eacute;s padres. Las razones m&aacute;s probables de que haya 
+La petici&oacute;n no ha podido ser enviada al servidor origen o a alguno
+de los cach&eacute;s padres. Las razones m&aacute;s probables de que haya 
 ocurrido este error son:
 <UL>
-<LI>El administrador de la cach&eacute; no permite que esta
+<LI>El administrador de lo cach&eacute; no permite que este
     cach&eacute; realice conexiones directas a los servidores
     origen, y
-<LI>Todas las cach&eacute;s configuradas como padres son inalcanzables
+<LI>Todos los cach&eacute;s configurados como padres son inalcanzables
     en este momento.
 </UL>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_DNS_FAIL squid-2.5.STABLE11/errors/Spanish/ERR_DNS_FAIL
--- squid-2.5.STABLE10/errors/Spanish/ERR_DNS_FAIL	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_DNS_FAIL	Mon Jun  6 15:35:43 2005
@@ -12,7 +12,7 @@
 Ha ocurrido el siguiente problema:
 <BLOCKQUOTE>
 Incapaz de determinar la direcci&oacute;n IP a partir
-del nombre de la máquina:
+del nombre de la m&aacute;quina:
 <I>%H</I>
 </BLOCKQUOTE>
 
@@ -25,7 +25,7 @@
 <P>
 Esto significa que:
 <PRE>
- La cach&eacute; no ha sido capaz de resolver el nombre de m&aacute;quina
+ El cach&eacute; no ha sido capaz de resolver el nombre de m&aacute;quina
  presente en la URL.
  Compruebe que la direcci&oacute;n sea correcta.
 </PRE>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FORWARDING_DENIED squid-2.5.STABLE11/errors/Spanish/ERR_FORWARDING_DENIED
--- squid-2.5.STABLE10/errors/Spanish/ERR_FORWARDING_DENIED	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_FORWARDING_DENIED	Mon Jun  6 15:35:43 2005
@@ -19,7 +19,7 @@
 </UL>
 
 <P>
-Esta cach&eacute; no permite reenviar su petici&oacute;n porque trata de
+Este cach&eacute; no permite reenviar su petici&oacute;n porque trata de
 obligar a mantener una relaci&oacute;n de hermandad.
-Quiz&aacute;s el cliente en %i es una cach&eacute; que ha sido mal configurada.
+Quiz&aacute;s el cliente en %i es un cach&eacute; que ha sido mal configurado.
 </P>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FTP_DISABLED squid-2.5.STABLE11/errors/Spanish/ERR_FTP_DISABLED
--- squid-2.5.STABLE10/errors/Spanish/ERR_FTP_DISABLED	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_FTP_DISABLED	Mon Jun  6 15:35:43 2005
@@ -19,5 +19,5 @@
 </UL>
 
 <P>
-Esta cach&eacute; no proporciona servicio cach&eacute; para el protocolo FTP.
+Este cach&eacute; no proporciona servicio cach&eacute; para el protocolo FTP.
 </P>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FTP_NOT_FOUND squid-2.5.STABLE11/errors/Spanish/ERR_FTP_NOT_FOUND
--- squid-2.5.STABLE10/errors/Spanish/ERR_FTP_NOT_FOUND	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_FTP_NOT_FOUND	Mon Jun  6 15:35:43 2005
@@ -17,7 +17,7 @@
 <blockquote><pre><strong>%g</strong></pre></blockquote>
 <P>
 Esto puede ser causado por un URL FTP con un camino absoluto (y por
-lo tanto no cumple con RFC 1738). Si este es la causa, entonces el 
+lo tanto no cumple con RFC 1738). Si esta es la causa, entonces el 
 archivo puede ser obtenido en <A HREF="%B">%B</A>.
 </P>
 
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_REQ squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_REQ
--- squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_REQ	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_REQ	Mon Jun  6 15:35:43 2005
@@ -7,7 +7,7 @@
 <H2>El URL solicitado no se ha podido conseguir</H2>
 <HR noshade size="1px">
 <P>
-Mientras se intentaba procesar la petición:
+Mientras se intentaba procesar la petici&oacute;n:
 <PRE>
 %R
 </PRE>
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_RESP squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_RESP
--- squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_RESP	Mon Jan 17 15:13:04 2005
+++ squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_RESP	Mon Jun  6 15:35:43 2005
@@ -1,29 +1,30 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
+<TITLE>ERROR: El URL solicitado no se ha podido conseguir</TITLE>
 <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
 </HEAD><BODY>
 <H1>ERROR</H1>
-<H2>The requested URL could not be retrieved</H2>
+<H2>El URL solicitado no se ha podido conseguir</H2>
 <HR noshade size="1px">
 <P>
-While trying to process the request:
+Mientras se intentaba procesar la petici&oacute;n:
 <PRE>
 %R
 </PRE>
 <P>
-The following error was encountered:
+Ha ocurrido el siguiente problema:
 <UL>
 <LI>
 <STRONG>
-Invalid Response
+Respuesta no v&aacute;lida.
 </STRONG>
 </UL>
 
 <P>
-The HTTP Response message received from the contacted server
-could not be understood or was otherwise malformed. Please contact
-the site operator. Your cache administrator may be able to provide
-you with more details about the exact nature of the problem if needed.
-
-<P>Your cache administrator is <A HREF="mailto:%w">%w</A>. 
+El mensaje de Respuesta HTTP recibido del servidor contactado 
+no pudo ser entendido o ten&iacute;a alguna malformaci&oacute;n.
+Por favor contacte al operador del sitio web. Quizas su
+administrador del cach&eacute; pueda darle a Ud. m&aacute;s 
+detalles acerca de la naturaleza exacta del problema en caso 
+de ser necesario.
+<P>Su administrador del cach&eacute; es <A HREF="mailto:%w">%w</A>. 
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_URL squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_URL
--- squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_URL	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_INVALID_URL	Mon Jun  6 15:35:43 2005
@@ -14,7 +14,7 @@
 <UL>
 <LI>
 <STRONG>
-URL incorrecta.
+URL incorrecto.
 </STRONG>
 </UL>
 
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_NO_RELAY squid-2.5.STABLE11/errors/Spanish/ERR_NO_RELAY
--- squid-2.5.STABLE10/errors/Spanish/ERR_NO_RELAY	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_NO_RELAY	Mon Jun  6 15:35:43 2005
@@ -19,5 +19,6 @@
 </UL>
 
 <P>
-Esta cach&eacute; no tiene definido ninguna pasarela para el protocolo WAIS !!
-&iexcl;Gr&iacute;teselo al administrador de la cach&eacute; !
+Este cach&eacute; no tiene definido ninguna pasarela para el protocolo WAIS !!
+&iexcl;Gr&iacute;tele al administrador del cach&eacute; !
+<P> Su administrador del cach&eacute; es <A HREF="mailto:%w>%w</A>.
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_ONLY_IF_CACHED_MISS squid-2.5.STABLE11/errors/Spanish/ERR_ONLY_IF_CACHED_MISS
--- squid-2.5.STABLE10/errors/Spanish/ERR_ONLY_IF_CACHED_MISS	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_ONLY_IF_CACHED_MISS	Mon Jun  6 15:35:43 2005
@@ -14,15 +14,15 @@
 <UL>
 <LI>
 <STRONG>
-No se encontro un documento v&aacute;lido en la cach&eacute; y se 
+No se encontr&oacute; un documento v&aacute;lido en el cach&eacute; y se 
 especific&oacute; la directiva <code>only-if-cached</code>.
 </STRONG>
 </UL>
 
 <P>
 
-Ud. ha enviado una solicitud con la directiva de control de la cach&eacute;
-<code>only-if-cached</code>. El documento no fue encontrado en la cach&eacute;,
+Ud. ha enviado una solicitud con la directiva de control del cach&eacute;
+<code>only-if-cached</code>. El documento no fue encontrado en el cach&eacute;,
 <em>o</em> requiere revalidaci&oacute;n prohibida por la directiva
 <code>only-if-cached</code>.
 
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_SHUTTING_DOWN squid-2.5.STABLE11/errors/Spanish/ERR_SHUTTING_DOWN
--- squid-2.5.STABLE10/errors/Spanish/ERR_SHUTTING_DOWN	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_SHUTTING_DOWN	Mon Jun  6 15:35:43 2005
@@ -13,7 +13,7 @@
 Ha ocurrido el siguiente problema:
 <UL>
 
-Esta cach&eacute; esta siendo desactivado y no puede atender su
+Este cach&eacute; esta siendo desactivado y no puede atender su
 solicitud en este momento. Por favor reintente su solicitud
 nuevamente m&aacute;s tarde.
 
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_TOO_BIG squid-2.5.STABLE11/errors/Spanish/ERR_TOO_BIG
--- squid-2.5.STABLE10/errors/Spanish/ERR_TOO_BIG	Mon Jul  7 01:49:55 2003
+++ squid-2.5.STABLE11/errors/Spanish/ERR_TOO_BIG	Mon Jun  6 15:35:43 2005
@@ -24,4 +24,4 @@
 directamente si cree que esto es un error.
 </UL>
 <P>
-Su administrdor del cach&eacute; es <A HREF="mailto:%w">%w</A>.
+Su administrador del cach&eacute; es <A HREF="mailto:%w">%w</A>.
diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_UNSUP_REQ squid-2.5.STABLE11/errors/Spanish/ERR_UNSUP_REQ
--- squid-2.5.STABLE10/errors/Spanish/ERR_UNSUP_REQ	Wed Aug 28 15:08:14 2002
+++ squid-2.5.STABLE11/errors/Spanish/ERR_UNSUP_REQ	Mon Jun  6 15:35:43 2005
@@ -14,7 +14,7 @@
 <UL>
 <LI>
 <STRONG>
-M&eacute;todo de la petici&oacute;n y protocolo no soportados
+M&eacute;todo de la petici&oacute;n y protocolo no soportados.
 </STRONG>
 </UL>
 
diff -ruN squid-2.5.STABLE10/helpers/basic_auth/LDAP/squid_ldap_auth.c squid-2.5.STABLE11/helpers/basic_auth/LDAP/squid_ldap_auth.c
--- squid-2.5.STABLE10/helpers/basic_auth/LDAP/squid_ldap_auth.c	Fri Apr 22 14:29:29 2005
+++ squid-2.5.STABLE11/helpers/basic_auth/LDAP/squid_ldap_auth.c	Sat Sep 10 18:53:23 2005
@@ -259,12 +259,12 @@
     }
     if (use_tls) {
 #ifdef LDAP_OPT_X_TLS
-        if (version == LDAP_VERSION3 && ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS) {
-	    fprintf(stderr, "Could not Activate TLS connection\n");
-	    exit(1);
-	} else {
+        if (version != LDAP_VERSION3) {
 	    fprintf(stderr, "TLS requires LDAP version 3\n");
 	    exit(1);
+	} else if (ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS) {
+	    fprintf(stderr, "Could not Activate TLS connection\n");
+	    exit(1);
 	}
 #else
 	fprintf(stderr, "TLS not supported with your LDAP library\n");
@@ -672,14 +672,16 @@
     }
 
     if (debug)
-	fprintf(stderr, "attempting to bind to user '%s'\n", dn);
+	fprintf(stderr, "attempting to authenticate user '%s'\n", dn);
     if (!bind_ld && !bind_once)
 	bind_ld = persistent_ld;
     if (!bind_ld)
 	bind_ld = open_ldap_connection(ldapServer, port);
-    if (passwdattr && ldap_compare_s(bind_ld, dn, passwdattr, password) != LDAP_COMPARE_TRUE)
-	ret = 1;
-    else if (ldap_simple_bind_s(bind_ld, dn, password) != LDAP_SUCCESS)
+    if (passwdattr) {
+	if (ldap_compare_s(bind_ld, dn, passwdattr, password) != LDAP_COMPARE_TRUE) {
+	    ret = 1;
+	}
+    } else if (ldap_simple_bind_s(bind_ld, dn, password) != LDAP_SUCCESS)
 	ret = 1;
     if (bind_ld != persistent_ld) {
 	ldap_unbind(bind_ld);
diff -ruN squid-2.5.STABLE10/helpers/basic_auth/MSNT/smblib.c squid-2.5.STABLE11/helpers/basic_auth/MSNT/smblib.c
--- squid-2.5.STABLE10/helpers/basic_auth/MSNT/smblib.c	Wed Mar  9 07:28:32 2005
+++ squid-2.5.STABLE11/helpers/basic_auth/MSNT/smblib.c	Thu Jun 30 12:50:55 2005
@@ -127,12 +127,12 @@
      * service we are going to call, sine some servers want it in uppercase */
 
     for (i = 0; i < strlen(server); i++)
-	called[i] = toupper(server[i]);
+	called[i] = xtoupper(server[i]);
 
     called[strlen(server)] = 0;	/* Make it a string */
 
     for (i = 0; i < strlen(con->myname); i++)
-	calling[i] = toupper(con->myname[i]);
+	calling[i] = xtoupper(con->myname[i]);
 
     calling[strlen(con->myname)] = 0;	/* Make it a string */
 
@@ -229,12 +229,12 @@
      * service we are going to call, sine some servers want it in uppercase */
 
     for (i = 0; i < strlen(host); i++)
-	called[i] = toupper(host[i]);
+	called[i] = xtoupper(host[i]);
 
     called[strlen(host)] = 0;	/* Make it a string */
 
     for (i = 0; i < strlen(con->myname); i++)
-	calling[i] = toupper(con->myname[i]);
+	calling[i] = xtoupper(con->myname[i]);
 
     calling[strlen(con->myname)] = 0;	/* Make it a string */
 
diff -ruN squid-2.5.STABLE10/helpers/basic_auth/MSNT/smblib.h squid-2.5.STABLE11/helpers/basic_auth/MSNT/smblib.h
--- squid-2.5.STABLE10/helpers/basic_auth/MSNT/smblib.h	Wed Jun 26 13:11:17 2002
+++ squid-2.5.STABLE11/helpers/basic_auth/MSNT/smblib.h	Thu Jun 30 12:50:55 2005
@@ -23,6 +23,7 @@
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include "util.h"
 #include "std-defines.h"
 #include "smblib-common.h"
 
diff -ruN squid-2.5.STABLE10/helpers/basic_auth/YP/nis_support.c squid-2.5.STABLE11/helpers/basic_auth/YP/nis_support.c
--- squid-2.5.STABLE10/helpers/basic_auth/YP/nis_support.c	Wed Nov 14 15:11:48 2001
+++ squid-2.5.STABLE11/helpers/basic_auth/YP/nis_support.c	Sat Sep 10 04:02:41 2005
@@ -2,9 +2,9 @@
  * Written By Rabellino Sergio (rabellino@di.unito.it) For Solaris 2.x
  */
 
-#include <strings.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <syslog.h>
 #include <sys/types.h>
 #include <rpc/rpc.h>
diff -ruN squid-2.5.STABLE10/helpers/external_acl/ldap_group/squid_ldap_group.c squid-2.5.STABLE11/helpers/external_acl/ldap_group/squid_ldap_group.c
--- squid-2.5.STABLE10/helpers/external_acl/ldap_group/squid_ldap_group.c	Tue Mar 22 15:54:27 2005
+++ squid-2.5.STABLE11/helpers/external_acl/ldap_group/squid_ldap_group.c	Sat Sep 10 18:53:23 2005
@@ -499,14 +499,14 @@
 		}
 		if (use_tls) {
 #ifdef LDAP_OPT_X_TLS
-		    if (version == LDAP_VERSION3 && ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS) {
+		    if (version != LDAP_VERSION3) {
+			fprintf(stderr, "TLS requires LDAP version 3\n");
+			exit(1);
+		    } else if (ldap_start_tls_s(ld, NULL, NULL) != LDAP_SUCCESS) {
 			fprintf(stderr, "Could not Activate TLS connection\n");
 			ldap_unbind(ld);
 			ld = NULL;
 			break;
-		    } else {
-			fprintf(stderr, "TLS requires LDAP version 3\n");
-			exit(1);
 		    }
 #else
 		    fprintf(stderr, "TLS not supported with your LDAP library\n");
diff -ruN squid-2.5.STABLE10/helpers/external_acl/wbinfo_group/wbinfo_group.pl squid-2.5.STABLE11/helpers/external_acl/wbinfo_group/wbinfo_group.pl
--- squid-2.5.STABLE10/helpers/external_acl/wbinfo_group/wbinfo_group.pl	Tue Feb 17 15:37:51 2004
+++ squid-2.5.STABLE11/helpers/external_acl/wbinfo_group/wbinfo_group.pl	Wed Jun 29 14:34:14 2005
@@ -15,6 +15,9 @@
 #   2002-07-05 Jerry Murdock <jmurdock@itraktech.com>
 #		Initial release
 #
+#   2005-06-28 Arno Streuli <astreuli@gmail.com>
+#               Add multi group check
+
 
 # external_acl uses shell style lines in it's protocol
 require 'shellwords.pl';
@@ -47,8 +50,12 @@
 while (<STDIN>) {
         chop;
 	&debug ("Got $_ from squid");
-        ($user, $group) = &shellwords;
-	$ans = &check($user, $group);
+	($user, @groups) = &shellwords;
+	# test for each group squid send in it's request
+	foreach $group (@groups) {
+		$ans = &check($user, $group);
+		last if $ans eq "OK";
+	}
 	&debug ("Sending $ans to squid");
 	print "$ans\n";
 }
diff -ruN squid-2.5.STABLE10/helpers/external_acl/winbind_group/wb_check_group.c squid-2.5.STABLE11/helpers/external_acl/winbind_group/wb_check_group.c
--- squid-2.5.STABLE10/helpers/external_acl/winbind_group/wb_check_group.c	Fri Mar 25 19:50:50 2005
+++ squid-2.5.STABLE11/helpers/external_acl/winbind_group/wb_check_group.c	Thu Jun 30 12:50:55 2005
@@ -127,7 +127,7 @@
 
 static int strCaseCmp (const char *s1, const char *s2)
 {
-    while (*s1 && toupper (*s1) == toupper (*s2)) s1++, s2++;
+    while (*s1 && xtoupper (*s1) == xtoupper (*s2)) s1++, s2++;
     return *s1 - *s2;
 }
 
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/SMB/ntlm_auth.c squid-2.5.STABLE11/helpers/ntlm_auth/SMB/ntlm_auth.c
--- squid-2.5.STABLE10/helpers/ntlm_auth/SMB/ntlm_auth.c	Wed Mar  9 07:30:37 2005
+++ squid-2.5.STABLE11/helpers/ntlm_auth/SMB/ntlm_auth.c	Thu Jun 30 12:50:55 2005
@@ -81,7 +81,7 @@
 {
     char *p = string, c;
     while ((c = *p)) {
-	*p = toupper(c);
+	*p = xtoupper(c);
 	p++;
     }
 }
@@ -92,7 +92,7 @@
 {
     char *p = string, c;
     while ((c = *p)) {
-	*p = tolower(c);
+	*p = xtolower(c);
 	p++;
     }
 }
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/smbencrypt.c squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/smbencrypt.c
--- squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/smbencrypt.c	Wed Mar  9 07:33:01 2005
+++ squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/smbencrypt.c	Thu Jun 30 12:50:55 2005
@@ -200,7 +200,7 @@
 	 * #endif *//* KANJI_WIN95_COMPATIBILITY */
 	{
 	    if (islower((int)(unsigned char)*s))
-		*s = toupper(*s);
+		*s = xtoupper(*s);
 	    s++;
 	}
     }
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/smblib.c squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/smblib.c
--- squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/smblib.c	Wed Mar  9 07:28:32 2005
+++ squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/smblib.c	Thu Jun 30 12:50:55 2005
@@ -170,12 +170,12 @@
      * service we are going to call, sine some servers want it in uppercase */
 
     for (i = 0; i < strlen(server); i++)
-	called[i] = toupper(server[i]);
+	called[i] = xtoupper(server[i]);
 
     called[strlen(server)] = 0;	/* Make it a string */
 
     for (i = 0; i < strlen(con->myname); i++)
-	calling[i] = toupper(con->myname[i]);
+	calling[i] = xtoupper(con->myname[i]);
 
     calling[strlen(con->myname)] = 0;	/* Make it a string */
 
@@ -271,12 +271,12 @@
      * service we are going to call, sine some servers want it in uppercase */
 
     for (i = 0; i < strlen(host); i++)
-	called[i] = toupper(host[i]);
+	called[i] = xtoupper(host[i]);
 
     called[strlen(host)] = 0;	/* Make it a string */
 
     for (i = 0; i < strlen(con->myname); i++)
-	calling[i] = toupper(con->myname[i]);
+	calling[i] = xtoupper(con->myname[i]);
 
     calling[strlen(con->myname)] = 0;	/* Make it a string */
 
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/std-includes.h squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/std-includes.h
--- squid-2.5.STABLE10/helpers/ntlm_auth/SMB/smbval/std-includes.h	Fri Mar  9 17:55:38 2001
+++ squid-2.5.STABLE11/helpers/ntlm_auth/SMB/smbval/std-includes.h	Thu Jun 30 12:50:55 2005
@@ -25,6 +25,7 @@
 
 /* the types are provided by squid's configure preocess */
 #include "squid_types.h"
+#include "util.h"
 #define BOOL int16_t
 #define int16 int16_t
 
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/fakeauth/fakeauth_auth.c squid-2.5.STABLE11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c
--- squid-2.5.STABLE10/helpers/ntlm_auth/fakeauth/fakeauth_auth.c	Wed Mar  9 07:33:01 2005
+++ squid-2.5.STABLE11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c	Thu Jun 30 12:50:55 2005
@@ -57,7 +57,7 @@
     char *p = string;
     char c;
     while ((c = *p)) {
-	*p = tolower(c);
+	*p = xtolower(c);
 	p++;
     }
 }
diff -ruN squid-2.5.STABLE10/helpers/ntlm_auth/winbind/wb_ntlm_auth.c squid-2.5.STABLE11/helpers/ntlm_auth/winbind/wb_ntlm_auth.c
--- squid-2.5.STABLE10/helpers/ntlm_auth/winbind/wb_ntlm_auth.c	Sun Feb 20 12:07:45 2005
+++ squid-2.5.STABLE11/helpers/ntlm_auth/winbind/wb_ntlm_auth.c	Sat Jul  9 02:42:49 2005
@@ -87,7 +87,7 @@
 {
     char *p = string, c;
     while ((c = *p)) {
-	*p = tolower(c);
+	*p = xtolower(c);
 	p++;
     }
 }
@@ -97,7 +97,7 @@
 {
     char *p = string, c;
     while ((c = *p)) {
-	*p = toupper(c);
+	*p = xtoupper(c);
 	p++;
     }
 }
@@ -117,22 +117,20 @@
     if (have_urandom == DONTKNOW) {
 	int result = 0;
 	struct stat st;
+	unsigned int seed;
+	struct timeval t;
+	gettimeofday(&t, NULL);
+	seed = squid_random() * getpid() * t.tv_sec * t.tv_usec;
+	squid_srandom(seed);
 	result = stat(ENTROPY_SOURCE, &st);
 	if (result != 0 || !(S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode))) {
 	    debug("Entropy source " ENTROPY_SOURCE " is unavailable\n");
 	    have_urandom = NO;
-	}
-	if ((urandom_file = fopen(ENTROPY_SOURCE, "r")) == NULL) {
-	    unsigned int seed;
-	    struct timeval t;
+	} else if ((urandom_file = fopen(ENTROPY_SOURCE, "r")) == NULL) {
 	    warn("Can't open entropy source " ENTROPY_SOURCE "\n");
 	    have_urandom = NO;
-	    gettimeofday(&t, NULL);
-	    seed = squid_random() * getpid() * t.tv_sec * t.tv_usec;
-	    squid_srandom(seed);
-	} else {
+	} else
 	    have_urandom = YES;
-	}
     }
 }
 
@@ -349,7 +347,7 @@
     domain = strdup(response.data.domain_name);
     uc(domain);
 
-    warn("target domain is %s\n", domain);
+    debug("target domain is %s\n", domain);
     return domain;
 }
 
diff -ruN squid-2.5.STABLE10/include/Array.h squid-2.5.STABLE11/include/Array.h
--- squid-2.5.STABLE10/include/Array.h	Mon Oct  8 10:18:31 2001
+++ squid-2.5.STABLE11/include/Array.h	Thu Jun  9 01:51:46 2005
@@ -1,5 +1,5 @@
 /*
- * $Id: Array.h,v 1.6 2001/10/08 16:18:31 hno Exp $
+ * $Id: Array.h,v 1.6.2.1 2005/06/09 07:51:46 hno Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -48,6 +48,7 @@
 extern void arrayClean(Array * s);
 extern void arrayDestroy(Array * s);
 extern void arrayAppend(Array * s, void *obj);
+extern void arrayInsert(Array * s, void *obj, int position);
 extern void arrayPreAppend(Array * s, int app_count);
 
 
diff -ruN squid-2.5.STABLE10/include/autoconf.h.in squid-2.5.STABLE11/include/autoconf.h.in
--- squid-2.5.STABLE10/include/autoconf.h.in	Fri Apr 22 19:32:27 2005
+++ squid-2.5.STABLE11/include/autoconf.h.in	Mon Sep 12 18:12:34 2005
@@ -506,6 +506,9 @@
 /* Define if you have the poll function.  */
 #undef HAVE_POLL
 
+/* Define if you have the prctl function.  */
+#undef HAVE_PRCTL
+
 /* Define if you have the pthread_attr_setschedparam function.  */
 #undef HAVE_PTHREAD_ATTR_SETSCHEDPARAM
 
@@ -656,6 +659,9 @@
 /* Define if you have the <ip_nat.h> header file.  */
 #undef HAVE_IP_NAT_H
 
+/* Define if you have the <ipl.h> header file.  */
+#undef HAVE_IPL_H
+
 /* Define if you have the <libc.h> header file.  */
 #undef HAVE_LIBC_H
 
@@ -707,6 +713,9 @@
 /* Define if you have the <netinet/ip_nat.h> header file.  */
 #undef HAVE_NETINET_IP_NAT_H
 
+/* Define if you have the <netinet/ipl.h> header file.  */
+#undef HAVE_NETINET_IPL_H
+
 /* Define if you have the <netinet/tcp.h> header file.  */
 #undef HAVE_NETINET_TCP_H
 
@@ -793,6 +802,9 @@
 
 /* Define if you have the <sys/param.h> header file.  */
 #undef HAVE_SYS_PARAM_H
+
+/* Define if you have the <sys/prctl.h> header file.  */
+#undef HAVE_SYS_PRCTL_H
 
 /* Define if you have the <sys/resource.h> header file.  */
 #undef HAVE_SYS_RESOURCE_H
diff -ruN squid-2.5.STABLE10/include/version.h squid-2.5.STABLE11/include/version.h
--- squid-2.5.STABLE10/include/version.h	Mon May 16 16:41:14 2005
+++ squid-2.5.STABLE11/include/version.h	Thu Sep 22 02:16:26 2005
@@ -9,5 +9,5 @@
  */
 
 #ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1116283270
+#define SQUID_RELEASE_TIME 1127376981
 #endif
diff -ruN squid-2.5.STABLE10/lib/Array.c squid-2.5.STABLE11/lib/Array.c
--- squid-2.5.STABLE10/lib/Array.c	Wed Feb  7 11:56:50 2001
+++ squid-2.5.STABLE11/lib/Array.c	Thu Jun 30 12:50:56 2005
@@ -1,5 +1,5 @@
 /*
- * $Id: Array.c,v 1.7 2001/02/07 18:56:50 hno Exp $
+ * $Id: Array.c,v 1.7.2.2 2005/06/30 18:50:56 serassio Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -65,14 +65,14 @@
 void
 arrayInit(Array * a)
 {
-    assert(a);
+    assert(a != NULL);
     memset(a, 0, sizeof(Array));
 }
 
 void
 arrayClean(Array * a)
 {
-    assert(a);
+    assert(a != NULL);
     /* could also warn if some objects are left */
     xfree(a->items);
     a->items = NULL;
@@ -81,7 +81,7 @@
 void
 arrayDestroy(Array * a)
 {
-    assert(a);
+    assert(a != NULL);
     arrayClean(a);
     xfree(a);
 }
@@ -89,17 +89,30 @@
 void
 arrayAppend(Array * a, void *obj)
 {
-    assert(a);
+    assert(a != NULL);
     if (a->count >= a->capacity)
 	arrayGrow(a, a->count + 1);
     a->items[a->count++] = obj;
 }
 
+void arrayInsert(Array *a, void *obj, int position)
+{
+    assert(a != NULL);
+    if (a->count >= a->capacity)
+	arrayGrow(a, a->count + 1);
+    if (position > a->count)
+	position = a->count;
+    if (position < a->count)
+	memmove(&a->items[position + 1], &a->items[position], (a->count - position) * sizeof(void *));
+    a->items[position] = obj;
+    a->count++;
+}
+
 /* if you are going to append a known and large number of items, call this first */
 void
 arrayPreAppend(Array * a, int app_count)
 {
-    assert(a);
+    assert(a != NULL);
     if (a->count + app_count > a->capacity)
 	arrayGrow(a, a->count + app_count);
 }
diff -ruN squid-2.5.STABLE10/lib/Stack.c squid-2.5.STABLE11/lib/Stack.c
--- squid-2.5.STABLE10/lib/Stack.c	Thu Jan 11 17:37:12 2001
+++ squid-2.5.STABLE11/lib/Stack.c	Thu Jun 30 12:50:56 2005
@@ -1,5 +1,5 @@
 /*
- * $Id: Stack.c,v 1.11 2001/01/12 00:37:12 wessels Exp $
+ * $Id: Stack.c,v 1.11.2.1 2005/06/30 18:50:56 serassio Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -50,13 +50,13 @@
 void *
 stackPop(Stack * s)
 {
-    assert(s);
+    assert(s != NULL);
     return s->count ? s->items[--s->count] : NULL;
 }
 
 void *
 stackTop(Stack * s)
 {
-    assert(s);
+    assert(s != NULL);
     return s->count ? s->items[s->count - 1] : NULL;
 }
diff -ruN squid-2.5.STABLE10/lib/hash.c squid-2.5.STABLE11/lib/hash.c
--- squid-2.5.STABLE10/lib/hash.c	Wed Mar  7 10:57:37 2001
+++ squid-2.5.STABLE11/lib/hash.c	Thu Jun 30 12:50:56 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: hash.c,v 1.12 2001/03/07 17:57:37 wessels Exp $
+ * $Id: hash.c,v 1.12.2.1 2005/06/30 18:50:56 serassio Exp $
  *
  * DEBUG: section 0     Hash Tables
  * AUTHOR: Harvest Derived
@@ -239,7 +239,7 @@
 void
 hash_last(hash_table * hid)
 {
-    assert(hid);
+    assert(hid != NULL);
     hid->next = NULL;
     hid->current_slot = 0;
 }
@@ -307,7 +307,7 @@
 void
 hashFreeMemory(hash_table * hid)
 {
-    assert(hid);
+    assert(hid != NULL);
     if (hid->buckets)
 	xfree(hid->buckets);
     xfree(hid);
diff -ruN squid-2.5.STABLE10/lib/heap.c squid-2.5.STABLE11/lib/heap.c
--- squid-2.5.STABLE10/lib/heap.c	Wed Feb  7 11:56:50 2001
+++ squid-2.5.STABLE11/lib/heap.c	Thu Jun 30 12:50:56 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: heap.c,v 1.8 2001/02/07 18:56:50 hno Exp $
+ * $Id: heap.c,v 1.8.2.1 2005/06/30 18:50:56 serassio Exp $
  *
  * AUTHOR: John Dilley, Hewlett Packard
  *
@@ -122,7 +122,7 @@
 delete_heap(heap * hp)
 {
     int i;
-    assert(hp);
+    assert(hp != NULL);
     for (i = 0; i < hp->last; i++) {
 	xfree(hp->nodes[i]);
     }
diff -ruN squid-2.5.STABLE10/lib/rfc1123.c squid-2.5.STABLE11/lib/rfc1123.c
--- squid-2.5.STABLE10/lib/rfc1123.c	Wed Mar  9 07:51:39 2005
+++ squid-2.5.STABLE11/lib/rfc1123.c	Sun Jul  3 02:18:38 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: rfc1123.c,v 1.29.2.2 2005/03/09 14:51:39 hno Exp $
+ * $Id: rfc1123.c,v 1.29.2.3 2005/07/03 08:18:38 serassio Exp $
  *
  * DEBUG: 
  * AUTHOR: Harvest Derived
@@ -230,7 +230,7 @@
 #elif defined(_SQUID_AIX_)
 #elif defined(_SQUID_CYGWIN_)
 #else
-	extern time_t timezone;
+	extern long timezone;
 #endif
 	/*
 	 * The following assumes a fixed DST offset of 1 hour,
diff -ruN squid-2.5.STABLE10/lib/util.c squid-2.5.STABLE11/lib/util.c
--- squid-2.5.STABLE10/lib/util.c	Sun Aug 11 19:22:37 2002
+++ squid-2.5.STABLE11/lib/util.c	Thu Jun 30 12:50:56 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: util.c,v 1.83.2.2 2002/08/12 01:22:37 hno Exp $
+ * $Id: util.c,v 1.83.2.3 2005/06/30 18:50:56 serassio Exp $
  *
  * DEBUG: 
  * AUTHOR: Harvest Derived
@@ -608,7 +608,7 @@
 xstrndup(const char *s, size_t n)
 {
     size_t sz;
-    assert(s);
+    assert(s != NULL);
     assert(n);
     sz = strlen(s) + 1;
     if (sz > n)
diff -ruN squid-2.5.STABLE10/snmplib/mib.c squid-2.5.STABLE11/snmplib/mib.c
--- squid-2.5.STABLE10/snmplib/mib.c	Wed Mar  9 07:33:02 2005
+++ squid-2.5.STABLE11/snmplib/mib.c	Thu Jun 30 12:50:56 2005
@@ -128,11 +128,11 @@
 
     while (*s1 && *s2) {
 	if (xisupper(*s1))
-	    c1 = tolower(*s1);
+	    c1 = xtolower(*s1);
 	else
 	    c1 = *s1;
 	if (xisupper(*s2))
-	    c2 = tolower(*s2);
+	    c2 = xtolower(*s2);
 	else
 	    c2 = *s2;
 	if (c1 != c2)
diff -ruN squid-2.5.STABLE10/snmplib/parse.c squid-2.5.STABLE11/snmplib/parse.c
--- squid-2.5.STABLE10/snmplib/parse.c	Wed Mar  9 07:33:02 2005
+++ squid-2.5.STABLE11/snmplib/parse.c	Thu Jun 30 12:50:56 2005
@@ -135,7 +135,7 @@
 #define	WRITEONLY   20
 #undef NOACCESS
 #define NOACCESS    21
-#define STATUS	    22
+#define SNMP_STATUS	22
 #define MANDATORY   23
 #define OPTIONAL    24
 #define OBSOLETE    25
@@ -193,7 +193,7 @@
     {"read-only", sizeof("read-only") - 1, READONLY},
     {"ACCESS", sizeof("ACCESS") - 1, ACCESS},
     {"MAX-ACCESS", sizeof("MAX-ACCESS") - 1, ACCESS},
-    {"STATUS", sizeof("STATUS") - 1, STATUS},
+    {"STATUS", sizeof("STATUS") - 1, SNMP_STATUS},
     {"SYNTAX", sizeof("SYNTAX") - 1, SYNTAX},
     {"OBJECT-TYPE", sizeof("OBJECT-TYPE") - 1, OBJTYPE},
     {"{", sizeof("{") - 1, LEFTBRACKET},
@@ -867,7 +867,7 @@
 	return 0;
     }
     type = get_token(fp, token);
-    if (type != STATUS) {
+    if (type != SNMP_STATUS) {
 	print_error("Should be STATUS", token, nexttype);
 	free_node(np);
 	return 0;
diff -ruN squid-2.5.STABLE10/src/HttpHeader.c squid-2.5.STABLE11/src/HttpHeader.c
--- squid-2.5.STABLE10/src/HttpHeader.c	Fri May  6 15:32:09 2005
+++ squid-2.5.STABLE11/src/HttpHeader.c	Thu Jun  9 01:51:46 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeader.c,v 1.74.2.28 2005/05/06 21:32:09 wessels Exp $
+ * $Id: HttpHeader.c,v 1.74.2.30 2005/06/09 07:51:46 hno Exp $
  *
  * DEBUG: section 55    HTTP Header
  * AUTHOR: Alex Rousskov
@@ -475,9 +475,25 @@
 	}
 	if (e->id == HDR_CONTENT_LENGTH && (e2 = httpHeaderFindEntry(hdr, e->id)) != NULL) {
 	    if (strCmp(e->value, strBuf(e2->value)) != 0) {
-		debug(55, 1) ("WARNING: found two conflicting content-length headers in {%s}\n", getStringPrefix(header_start, header_end));
-		httpHeaderEntryDestroy(e);
-		return httpHeaderReset(hdr);
+		squid_off_t l1, l2;
+		debug(55, Config.onoff.relaxed_header_parser <= 0 ? 1 : 2) ("WARNING: found two conflicting content-length headers in {%s}\n", getStringPrefix(header_start, header_end));
+		if (!Config.onoff.relaxed_header_parser) {
+		    httpHeaderEntryDestroy(e);
+		    return httpHeaderReset(hdr);
+		}
+		if (!httpHeaderParseSize(strBuf(e->value), &l1)) {
+		    debug(55, 1) ("WARNING: Unparseable content-length '%s'\n", strBuf(e->value));
+		    httpHeaderEntryDestroy(e);
+		    continue;
+		} else if (!httpHeaderParseSize(strBuf(e2->value), &l2)) {
+		    debug(55, 1) ("WARNING: Unparseable content-length '%s'\n", strBuf(e2->value));
+		    httpHeaderDelById(hdr, e2->id);
+		} else if (l1 > l2) {
+		    httpHeaderDelById(hdr, e2->id);
+		} else {
+		    httpHeaderEntryDestroy(e);
+		    continue;
+		}
 	    } else {
 		debug(55, Config.onoff.relaxed_header_parser <= 0 ? 1 : 2)
 		    ("NOTICE: found double content-length header\n");
@@ -664,6 +680,26 @@
     hdr->len += strLen(e->name) + 2 + strLen(e->value) + 2;
 }
 
+/* inserts an entry at the given position; 
+ * does not call httpHeaderEntryClone() so one should not reuse "*e"
+ */
+void
+httpHeaderInsertEntry(HttpHeader * hdr, HttpHeaderEntry * e, int pos)
+{
+    assert(hdr && e);
+    assert_eid(e->id);
+
+    debug(55, 7) ("%p adding entry: %d at %d\n",
+	hdr, e->id, hdr->entries.count);
+    if (CBIT_TEST(hdr->mask, e->id))
+	Headers[e->id].stat.repCount++;
+    else
+	CBIT_SET(hdr->mask, e->id);
+    arrayInsert(&hdr->entries, e, pos);
+    /* increment header length, allow for ": " and crlf */
+    hdr->len += strLen(e->name) + 2 + strLen(e->value) + 2;
+}
+
 /* return a list of entries with the same id separated by ',' and ws */
 String
 httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id)
@@ -831,6 +867,15 @@
     assert(Headers[id].type == ftDate_1123);	/* must be of an appropriate type */
     assert(htime >= 0);
     httpHeaderAddEntry(hdr, httpHeaderEntryCreate(id, NULL, mkrfc1123(htime)));
+}
+
+void
+httpHeaderInsertTime(HttpHeader * hdr, int pos, http_hdr_type id, time_t htime)
+{
+    assert_eid(id);
+    assert(Headers[id].type == ftDate_1123);	/* must be of an appropriate type */
+    assert(htime >= 0);
+    httpHeaderInsertEntry(hdr, httpHeaderEntryCreate(id, NULL, mkrfc1123(htime)), pos);
 }
 
 void
diff -ruN squid-2.5.STABLE10/src/HttpHeaderTools.c squid-2.5.STABLE11/src/HttpHeaderTools.c
--- squid-2.5.STABLE10/src/HttpHeaderTools.c	Fri Mar 25 19:50:51 2005
+++ squid-2.5.STABLE11/src/HttpHeaderTools.c	Wed May 18 09:28:32 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeaderTools.c,v 1.32.2.4 2005/03/26 02:50:51 hno Exp $
+ * $Id: HttpHeaderTools.c,v 1.32.2.5 2005/05/18 15:28:32 hno Exp $
  *
  * DEBUG: section 66    HTTP Header Tools
  * AUTHOR: Alex Rousskov
@@ -316,7 +316,7 @@
     return 1;
 }
 
-squid_off_t
+int
 httpHeaderParseSize(const char *start, squid_off_t * value)
 {
     squid_off_t v;
diff -ruN squid-2.5.STABLE10/src/HttpRequest.c squid-2.5.STABLE11/src/HttpRequest.c
--- squid-2.5.STABLE10/src/HttpRequest.c	Thu Oct  7 11:01:13 2004
+++ squid-2.5.STABLE11/src/HttpRequest.c	Thu Sep 15 03:53:28 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpRequest.c,v 1.30.2.2 2004/10/07 17:01:13 hno Exp $
+ * $Id: HttpRequest.c,v 1.30.2.3 2005/09/15 09:53:28 hno Exp $
  *
  * DEBUG: section 73    HTTP Request
  * AUTHOR: Duane Wessels
@@ -98,19 +98,8 @@
     return httpHeaderParse(&req->header, blk_start, blk_end);
 }
 
-/* swaps out request using httpRequestPack */
-void
-httpRequestSwapOut(const request_t * req, StoreEntry * e)
-{
-    Packer p;
-    assert(req && e);
-    packerToStoreInit(&p, e);
-    httpRequestPack(req, &p);
-    packerClean(&p);
-}
-
 /* packs request-line and headers, appends <crlf> terminator */
-void
+static void
 httpRequestPack(const request_t * req, Packer * p)
 {
     assert(req && p);
@@ -121,6 +110,37 @@
     httpHeaderPackInto(&req->header, p);
     /* trailer */
     packerAppend(p, "\r\n", 2);
+}
+
+/* packs debug info, canonical request-line and headers, appends <crlf> terminator */
+void
+httpRequestPackDebug(request_t * req, Packer * p)
+{
+    assert(req && p);
+    /* Client info */
+    packerPrintf(p, "Client: %s ", inet_ntoa(req->client_addr));
+    packerPrintf(p, "http_port: %s:%d", inet_ntoa(req->my_addr), req->my_port);
+    if (req->auth_user_request && authenticateUserRequestUsername(req->auth_user_request))
+	packerPrintf(p, "user: %s", authenticateUserRequestUsername(req->auth_user_request));
+    packerPrintf(p, "\n");
+    /* pack request-line */
+    packerPrintf(p, "%s %s HTTP/%d.%d\r\n",
+	RequestMethodStr[req->method], urlCanonical(req), req->http_ver.major, req->http_ver.minor);
+    /* headers */
+    httpHeaderPackInto(&req->header, p);
+    /* trailer */
+    packerAppend(p, "\r\n", 2);
+}
+
+/* swaps out request using httpRequestPack */
+void
+httpRequestSwapOut(const request_t * req, StoreEntry * e)
+{
+    Packer p;
+    assert(req && e);
+    packerToStoreInit(&p, e);
+    httpRequestPack(req, &p);
+    packerClean(&p);
 }
 
 #if UNUSED_CODE
diff -ruN squid-2.5.STABLE10/src/Packer.c squid-2.5.STABLE11/src/Packer.c
--- squid-2.5.STABLE10/src/Packer.c	Fri Mar 25 19:50:51 2005
+++ squid-2.5.STABLE11/src/Packer.c	Thu Sep  1 16:22:23 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Packer.c,v 1.13.2.1 2005/03/26 02:50:51 hno Exp $
+ * $Id: Packer.c,v 1.13.2.2 2005/09/01 22:22:23 hno Exp $
  *
  * DEBUG: section 60    Packer: A uniform interface to store-like modules
  * AUTHOR: Alex Rousskov
@@ -108,7 +108,7 @@
 {
     assert(p && e);
     p->append = (append_f) store_append;
-    p->vprintf = (vprintf_f) store_vprintf;
+    p->packer_vprintf = (vprintf_f) store_vprintf;
     p->real_handle = e;
 }
 
@@ -118,7 +118,7 @@
 {
     assert(p && mb);
     p->append = (append_f) memBuf_append;
-    p->vprintf = (vprintf_f) memBuf_vprintf;
+    p->packer_vprintf = (vprintf_f) memBuf_vprintf;
     p->real_handle = mb;
 }
 
@@ -129,7 +129,7 @@
     assert(p);
     /* it is not really necessary to do this, but, just in case... */
     p->append = NULL;
-    p->vprintf = NULL;
+    p->packer_vprintf = NULL;
     p->real_handle = NULL;
 }
 
@@ -161,7 +161,7 @@
     fmt = va_arg(args, char *);
 #endif
     assert(p);
-    assert(p->real_handle && p->vprintf);
-    p->vprintf(p->real_handle, fmt, args);
+    assert(p->real_handle && p->packer_vprintf);
+    p->packer_vprintf(p->real_handle, fmt, args);
     va_end(args);
 }
diff -ruN squid-2.5.STABLE10/src/StatHist.c squid-2.5.STABLE11/src/StatHist.c
--- squid-2.5.STABLE10/src/StatHist.c	Wed Oct 24 02:19:08 2001
+++ squid-2.5.STABLE11/src/StatHist.c	Thu Sep  1 15:52:23 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: StatHist.c,v 1.26 2001/10/24 08:19:08 hno Exp $
+ * $Id: StatHist.c,v 1.26.2.1 2005/09/01 21:52:23 hno Exp $
  *
  * DEBUG: section 62    Generic Histogram
  * AUTHOR: Duane Wessels
@@ -90,7 +90,7 @@
     /* a max value should go into the last bin */
     assert(statHistBin(H, max) == H->capacity - 1);
     /* it is hard to test val_out, here is a crude test */
-    assert(((int) floor(0.99L + statHistVal(H, 0) - min)) == 0);
+    assert(((int) floor(0.99 + statHistVal(H, 0) - min)) == 0);
 }
 
 void
diff -ruN squid-2.5.STABLE10/src/acl.c squid-2.5.STABLE11/src/acl.c
--- squid-2.5.STABLE10/src/acl.c	Sun May  8 19:48:09 2005
+++ squid-2.5.STABLE11/src/acl.c	Fri Sep 16 15:53:57 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: acl.c,v 1.270.2.38 2005/05/09 01:48:09 hno Exp $
+ * $Id: acl.c,v 1.270.2.39 2005/09/16 21:53:57 hno Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -1619,7 +1619,7 @@
 	    checklist->state[ACL_DST_IP] = ACL_LOOKUP_NEEDED;
 	    return 0;
 	} else {
-	    return aclMatchIp(&ae->data, no_addr);
+	    return 0;
 	}
 	/* NOTREACHED */
     case ACL_DST_DOMAIN:
diff -ruN squid-2.5.STABLE10/src/auth/ntlm/auth_ntlm.c squid-2.5.STABLE11/src/auth/ntlm/auth_ntlm.c
--- squid-2.5.STABLE10/src/auth/ntlm/auth_ntlm.c	Fri Apr 22 14:29:31 2005
+++ squid-2.5.STABLE11/src/auth/ntlm/auth_ntlm.c	Tue Sep 20 06:28:18 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_ntlm.c,v 1.17.2.22 2005/04/22 20:29:31 hno Exp $
+ * $Id: auth_ntlm.c,v 1.17.2.25 2005/09/20 12:28:18 hno Exp $
  *
  * DEBUG: section 29    NTLM Authenticator
  * AUTHOR: Robert Collins
@@ -191,21 +191,6 @@
     } else {
 	debug(28, 0) ("unrecognised ntlm auth scheme parameter '%s'\n", param_str);
     }
-    /*
-     * disable client side request pipelining. There is a race with
-     * NTLM when the client sends a second request on an NTLM
-     * connection before the authenticate challenge is sent. With
-     * this patch, the client may fail to authenticate, but squid's
-     * state will be preserved.  Caveats: this should be a post-parse
-     * test, but that can wait for the modular parser to be integrated.
-     */
-    if (ntlmConfig->authenticate && Config.onoff.pipeline_prefetch != 0)
-	Config.onoff.pipeline_prefetch = 0;
-
-    if (ntlmConfig->use_ntlm_negotiate && ntlmConfig->challengeuses > 0) {
-	debug(28, 1) ("challenge reuses incompatible with use_ntlm_negotiate. Disabling challenge reuse\n");
-	ntlmConfig->challengeuses = 0;
-    }
 }
 
 
@@ -241,6 +226,21 @@
 {
     static int ntlminit = 0;
     if (ntlmConfig->authenticate) {
+	/*
+	 * disable client side request pipelining. There is a race with
+	 * NTLM when the client sends a second request on an NTLM
+	 * connection before the authenticate challenge is sent. With
+	 * this patch, the client may fail to authenticate, but squid's
+	 * state will be preserved.
+	 */
+	if (ntlmConfig->authenticate && Config.onoff.pipeline_prefetch != 0) {
+	    debug(28, 1) ("pipeline prefetching incompatile with NTLM authentication. Disabling pipeline_prefetch\n");
+	    Config.onoff.pipeline_prefetch = 0;
+	}
+	if (ntlmConfig->use_ntlm_negotiate && ntlmConfig->challengeuses > 0) {
+	    debug(28, 1) ("challenge reuses incompatible with use_ntlm_negotiate. Disabling challenge reuse\n");
+	    ntlmConfig->challengeuses = 0;
+	}
 	if (!ntlm_helper_state_pool)
 	    ntlm_helper_state_pool = memPoolCreate("NTLM Helper State data", sizeof(ntlm_helper_state_t));
 	if (!ntlm_user_pool)
@@ -332,6 +332,8 @@
 authenticateNTLMFixErrorHeader(auth_user_request_t * auth_user_request, HttpReply * rep, http_hdr_type type, request_t * request)
 {
     ntlm_request_t *ntlm_request;
+    if (!request->flags.proxy_keepalive)
+	return;
     if (ntlmConfig->authenticate) {
 	/* New request, no user details */
 	if (auth_user_request == NULL) {
@@ -360,6 +362,7 @@
 		/* pass the challenge to the client */
 		debug(29, 9) ("authenticateNTLMFixErrorHeader: Sending type:%d header: 'NTLM %s'\n", type, ntlm_request->authchallenge);
 		httpHeaderPutStrf(&rep->header, type, "NTLM %s", ntlm_request->authchallenge);
+		request->flags.must_keepalive = 1;
 		break;
 	    default:
 		debug(29, 0) ("authenticateNTLMFixErrorHeader: state %d.\n", ntlm_request->auth_state);
@@ -983,12 +986,7 @@
 	/* do a cache lookup here. If it matches it's a successful ntlm 
 	 * challenge - release the helper and use the existing auth_user 
 	 * details. */
-	if (strncmp("NTLM ", proxy_auth, 5) == 0) {
-	    ntlm_request->ntlmauthenticate = xstrdup(proxy_auth);
-	} else {
-	    fatal("Incorrect scheme in auth header\n");
-	    /* TODO: more fault tolerance.. reset the auth scheme here */
-	}
+	ntlm_request->ntlmauthenticate = xstrdup(proxy_auth);
 	/* normal case with challenge reuses disabled */
 	if (ntlmConfig->challengeuses == 0) {
 	    /* verify with the ntlm helper */
diff -ruN squid-2.5.STABLE10/src/authenticate.c squid-2.5.STABLE11/src/authenticate.c
--- squid-2.5.STABLE10/src/authenticate.c	Fri Mar 25 19:50:51 2005
+++ squid-2.5.STABLE11/src/authenticate.c	Fri Sep 16 05:09:35 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: authenticate.c,v 1.36.2.17 2005/03/26 02:50:51 hno Exp $
+ * $Id: authenticate.c,v 1.36.2.19 2005/09/16 11:09:35 hno Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Duane Wessels
@@ -502,6 +502,16 @@
     if (*auth_user_request == NULL) {
 	debug(28, 9) ("authenticateAuthenticate: This is a new checklist test on FD:%d\n",
 	    conn ? conn->fd : -1);
+	if (proxy_auth && !request->auth_user_request && conn && conn->auth_user_request) {
+	    int id = authenticateAuthSchemeId(proxy_auth) + 1;
+	    if (!conn->auth_user_request->auth_user || conn->auth_user_request->auth_user->auth_module != id) {
+		debug(28, 1) ("authenticateAuthenticate: Unexpected change of authentication scheme from '%s' to '%s' (client %s)\n",
+		    authscheme_list[conn->auth_user_request->auth_user->auth_module - 1].typestr, proxy_auth, inet_ntoa(src_addr));
+		authenticateAuthUserRequestUnlock(conn->auth_user_request);
+		conn->auth_user_request = NULL;
+		conn->auth_type = AUTH_UNKNOWN;
+	    }
+	}
 	if ((!request->auth_user_request)
 	    && (!conn || conn->auth_type == AUTH_UNKNOWN)) {
 	    /* beginning of a new request check */
diff -ruN squid-2.5.STABLE10/src/cache_cf.c squid-2.5.STABLE11/src/cache_cf.c
--- squid-2.5.STABLE10/src/cache_cf.c	Fri May  6 16:33:53 2005
+++ squid-2.5.STABLE11/src/cache_cf.c	Thu Sep  1 16:04:51 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.c,v 1.396.2.26 2005/05/06 22:33:53 wessels Exp $
+ * $Id: cache_cf.c,v 1.396.2.29 2005/09/01 22:04:51 hno Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -299,8 +299,8 @@
     }
     fclose(fp);
     defaults_if_none();
+    configDoConfigure();
     if (opt_send_signal == -1) {
-	configDoConfigure();
 	cachemgrRegister("config",
 	    "Current Squid Configuration",
 	    dump_config,
@@ -1300,45 +1300,27 @@
     if ((path_str = strtok(NULL, w_space)) == NULL)
 	self_destruct();
 
-    /*
-     * This bit of code is a little strange.
-     * See, if we find a path and type match for a given line, then
-     * as long as we're reconfiguring, we can just call its reconfigure
-     * function. No harm there.
-     *
-     * Trouble is, if we find a path match, but not a type match, we have
-     * a dilemma - we could gracefully shut down the fs, kill it, and
-     * create a new one of a new type in its place, BUT at this stage the
-     * fs is meant to be the *NEW* one, and so things go very strange. :-)
-     *
-     * So, we'll assume the person isn't going to change the fs type for now,
-     * and XXX later on we will make sure that its picked up.
-     *
-     * (moving around cache_dir lines will be looked at later in a little
-     * more sane detail..)
-     */
+    fs = find_fstype(type_str);
+    if (fs < 0)
+	self_destruct();
 
+    /* reconfigure existing dir */
     for (i = 0; i < swap->n_configured; i++) {
-	if (0 == strcasecmp(path_str, swap->swapDirs[i].path)) {
-	    /* This is a little weird, you'll appreciate it later */
-	    fs = find_fstype(type_str);
-	    if (fs < 0) {
-		fatalf("Unknown cache_dir type '%s'\n", type_str);
-	    }
+	if ((strcasecmp(path_str, swap->swapDirs[i].path) == 0)) {
 	    sd = swap->swapDirs + i;
+	    if (sd->type != storefs_list[fs].typestr) {
+		debug(3, 0) ("ERROR: Can't change type of existing cache_dir %s %s to %s. Restart required\n", sd->type, sd->path, type_str);
+		return;
+	    }
 	    storefs_list[fs].reconfigurefunc(sd, i, path_str);
 	    update_maxobjsize();
 	    return;
 	}
     }
 
+    /* new cache_dir */
     assert(swap->n_configured < 63);	/* 7 bits, signed */
 
-    fs = find_fstype(type_str);
-    if (fs < 0) {
-	/* If we get here, we didn't find a matching cache_dir type */
-	fatalf("Unknown cache_dir type '%s'\n", type_str);
-    }
     allocate_new_swapdir(swap);
     sd = swap->swapDirs + swap->n_configured;
     sd->type = storefs_list[fs].typestr;
@@ -2563,12 +2545,16 @@
     struct stat sb;
     char pathbuf[BUFSIZ];
     assert(path != NULL);
-    if (Config.chroot_dir) {
+    if (Config.chroot_dir && (geteuid() == 0)) {
 	snprintf(pathbuf, BUFSIZ, "%s/%s", Config.chroot_dir, path);
 	path = pathbuf;
     }
-    if (stat(path, &sb) < 0)
-	fatalf("%s %s: %s", name, path, xstrerror());
+    if (stat(path, &sb) < 0) {
+	if (opt_send_signal == -1 || opt_send_signal == SIGHUP)
+	    fatalf("%s %s: %s", name, path, xstrerror());
+	else
+	    fprintf(stderr, "WARNING: %s %s: %s\n", name, path, xstrerror());
+    }
 }
 
 char *
diff -ruN squid-2.5.STABLE10/src/cache_manager.c squid-2.5.STABLE11/src/cache_manager.c
--- squid-2.5.STABLE10/src/cache_manager.c	Fri Feb 23 13:59:50 2001
+++ squid-2.5.STABLE11/src/cache_manager.c	Thu Sep  1 16:42:03 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_manager.c,v 1.26 2001/02/23 20:59:50 hno Exp $
+ * $Id: cache_manager.c,v 1.26.2.2 2005/09/01 22:42:03 hno Exp $
  *
  * DEBUG: section 16    Cache Manager Objects
  * AUTHOR: Duane Wessels
@@ -201,6 +201,7 @@
     if ((mgr = cachemgrParseUrl(storeUrl(entry))) == NULL) {
 	err = errorCon(ERR_INVALID_URL, HTTP_NOT_FOUND);
 	err->url = xstrdup(storeUrl(entry));
+	err->request = requestLink(request);
 	errorAppendEntry(entry, err);
 	entry->expires = squid_curtime;
 	return;
@@ -250,8 +251,7 @@
     /* retrieve object requested */
     a = cachemgrFindAction(mgr->action);
     assert(a != NULL);
-    if (a->flags.atomic)
-	storeBuffer(entry);
+    storeBuffer(entry);
     {
 	http_version_t version;
 	HttpReply *rep = entry->mem_obj->reply;
@@ -269,10 +269,9 @@
 	httpReplySwapOut(rep, entry);
     }
     a->handler(entry);
-    if (a->flags.atomic) {
-	storeBufferFlush(entry);
+    storeBufferFlush(entry);
+    if (a->flags.atomic)
 	storeComplete(entry);
-    }
     cachemgrStateFree(mgr);
 }
 
diff -ruN squid-2.5.STABLE10/src/cf.data.pre squid-2.5.STABLE11/src/cf.data.pre
--- squid-2.5.STABLE10/src/cf.data.pre	Tue May 10 17:08:40 2005
+++ squid-2.5.STABLE11/src/cf.data.pre	Tue Sep 13 07:44:35 2005
@@ -1,6 +1,6 @@
 
 #
-# $Id: cf.data.pre,v 1.245.2.94 2005/05/10 23:08:40 hno Exp $
+# $Id: cf.data.pre,v 1.245.2.99 2005/09/13 13:44:35 serassio Exp $
 #
 #
 # SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -124,7 +124,7 @@
 
 	   cipher=	Colon separated list of supported ciphers
 
-	   options=	Varions SSL engine options. The most important
+	   options=	Various SSL engine options. The most important
 			being:
 			    NO_SSLv2  Disallow the use of SSLv2
 			    NO_SSLv3  Disallow the use of SSLv3
@@ -329,7 +329,7 @@
 		     use 'login=PASS' if users must authenticate against
 		     the upstream proxy. This will pass the users credentials
 		     as they are to the peer proxy. This only works for the
-		     Basic HTTP authentication sheme. Note: To combine this
+		     Basic HTTP authentication scheme. Note: To combine this
 		     with proxy_auth both proxies must share the same user
 		     database as HTTP only allows for one proxy login.
 		     Also be warned this will expose your users proxy
@@ -746,7 +746,7 @@
 	cache among different disk partitions.
 
 	Type specifies the kind of storage system to use. Only "ufs"
-	is built by default. To eanble any of the other storage systems
+	is built by default. To enable any of the other storage systems
 	see the --enable-storeio configure option.
 
 	'Directory' is a top-level directory where cache swap
@@ -1083,7 +1083,7 @@
 DOC_START
 	The FTP protocol is officially defined to use the telnet protocol
 	as transport channel for the control connection. However, many
-	implemenations are broken and does not respect this aspect of
+	implementations are broken and does not respect this aspect of
 	the FTP protocol.
 
 	If you have trouble accessing files with ASCII code 255 in the
@@ -1183,7 +1183,7 @@
 
 	The file contains newline-separated definitions, in the
 	form ip_address_in_dotted_form name [name ...] names are
-	whitespace-separated.  lines beginnng with an hash (#)
+	whitespace-separated.  lines beginning with an hash (#)
 	character are comments.
 
 	The file is checked at startup and upon configuration.  If
@@ -1275,12 +1275,12 @@
 	format: auth_param scheme parameter [setting]
 
 	The order in which authentication schemes are presented to the client is
-	dependant on the order the scheme first appears in config file. IE
+	dependent on the order the scheme first appears in config file. IE
 	has a bug (it's not rfc 2617 compliant) in that it will use the basic
 	scheme if basic is the first entry presented, even if more secure
 	schemes are presented. For now use the order in the recommended
 	settings section below. If other browsers have difficulties (don't
-	recognise the schemes offered even if you are using basic) either
+	recognize the schemes offered even if you are using basic) either
 	put basic first, or disable the other schemes (by commenting out their
 	program entry).
 
@@ -1291,15 +1291,15 @@
 
 	Please note that while this directive defines how Squid processes
 	authentication it does not automatically activate authentication.
-	To use authenticaiton you must in addition make use of acls based
+	To use authentication you must in addition make use of ACLs based
 	on login name in http_access (proxy_auth, proxy_auth_regex or
 	external with %LOGIN used in the format tag). The browser will be
 	challenged for authentication on the first such acl encountered
-	in http_access processing and will also be rechallenged for new
+	in http_access processing and will also be re-challenged for new
 	login credentials if the request is being denied by a proxy_auth
 	type acl.
 
-	WARNING: authenitcation can't be used in a transparently intercepting
+	WARNING: authentication can't be used in a transparently intercepting
 	proxy as the client then thinks it is talking to an origin server and
 	not the proxy. This is a limitation of bending the TCP/IP protocol to
 	transparently intercepting port 80, not a limitation in Squid.
@@ -1312,7 +1312,7 @@
 	"ERR" in an endless loop. "ERR" responses may optionally be followed
 	by a error description available as %m in the returned error page.
 
-	By default, the basic authentication sheme is not used unless a
+	By default, the basic authentication scheme is not used unless a
 	program is specified.
 
 	If you want to use the traditional proxy authentication, jump over to
@@ -1343,7 +1343,7 @@
 	username:password pair is valid for - in other words how often the
 	helper program is called for that user. Set this low to force
 	revalidation with short lived passwords.  Note that setting this high
-	does not impact your susceptability to replay attacks unless you are
+	does not impact your susceptibility to replay attacks unless you are
 	using an one-time password system (such as SecureID). If you are using
 	such a system, you will be vulnerable to replay attacks unless you
 	also use the max_user_ip ACL in an http_access rule.
@@ -1408,7 +1408,7 @@
 	auth_param digest nonce_max_count 50
 
 	"nonce_strictness" on|off
-	Determines if squid requires strict increment-by-1 behaviour for nonce
+	Determines if squid requires strict increment-by-1 behavior for nonce
 	counts, or just incrementing (off - for use when useragents generate
 	nonce counts that occasionally miss 1 (ie, 1,2,4,6)).
 	auth_param digest nonce_strictness off
@@ -1422,16 +1422,16 @@
 
 	"post_workaround" on|off
 	This is a workaround to certain buggy browsers who sends an incorrect
-	request digest in POST requests when reusing the same nonce as aquired
+	request digest in POST requests when reusing the same nonce as acquired
        	earlier in response to a GET request.
 	auth_param digest post_workaround off
 
 	=== NTLM scheme options follow ===
 
 	"program" cmdline
-	Specify the command for the external ntlm authenticator. Such a
+	Specify the command for the external NTLM authenticator. Such a
 	program participates in the NTLMSSP exchanges between Squid and the
-	client and reads commands according to the Squid ntlmssp helper
+	client and reads commands according to the Squid NTLMSSP helper
 	protocol. See helpers/ntlm_auth/ for details. Recommended ntlm
 	authenticator is ntlm_auth from Samba-3.X, but a number of other
 	ntlm authenticators is available.
@@ -1444,7 +1444,7 @@
 	"children" numberofchildren
 	The number of authenticator processes to spawn (no default). If you
 	start too few Squid will have to wait for them to process a backlog
-	of credential verifications, slowing it down. When crendential
+	of credential verifications, slowing it down. When credential
 	verifications are done via a (slow) network you are likely to need
 	lots of authenticator processes.
 	auth_param ntlm children 5
@@ -1509,7 +1509,7 @@
 LOC: Config.authenticateGCInterval
 DOC_START
 	The time period between garbage collection across the username cache.
-	This is a tradeoff between memory utilisation (long intervals - say
+	This is a tradeoff between memory utilization (long intervals - say
 	2 days) and CPU (short intervals - say 1 minute). Only change if you
 	have good reason to.
 DOC_END
@@ -1605,7 +1605,7 @@
 	Squid-2.5.STABLE3 and earlier and such syntax is still accepted to
 	keep compatibility within the Squid-2.5 release. However, the meaning
 	of concurrency= option has changed in Squid-3 and the old syntax of
-	the directive is therefore depreated from Squid-2.5.STABLE4 and later.
+	the directive is therefore deprecated from Squid-2.5.STABLE4 and later.
 	If you want to be able to easily downgrade to earlier Squid-2.5
 	releases you may want to continue using the old name, if not
 	please use the new name.
@@ -2107,19 +2107,19 @@
 	acl aclname req_mime_type mime-type1 ...
 	  # regex match against the mime type of the request generated
 	  # by the client. Can be used to detect file upload or some
-	  # types HTTP tunelling requests.
+	  # types HTTP tunneling requests.
 	  # NOTE: This does NOT match the reply. You cannot use this
 	  # to match the returned file type.
 
 	acl aclname req_header header-name [-i] any\.regex\.here
 	  # regex match against any of the known request headers.  May be
 	  # thought of as a superset of "browser", "referer" and "mime-type"
-	  # acls.
+	  # ACLs.
 
 	acl aclname rep_mime_type mime-type1 ...
-	  # regex match against the mime type of the reply recieved by
+	  # regex match against the mime type of the reply received by
 	  # squid. Can be used to detect file download or some
-	  # types HTTP tunelling requests.
+	  # types HTTP tunneling requests.
 	  # NOTE: This has no effect in http_access rules. It only has
 	  # effect in rules that affect the reply data stream such as
 	  # http_reply_access.
@@ -2354,7 +2354,7 @@
 
 	The TOS/DSCP byte must be exactly that - a octet value  0 - 255, or
 	"default" to use whatever default your host has. Note that in
-	practice often only values 0 - 63 is useable as the two highest bits
+	practice often only values 0 - 63 is usable as the two highest bits
 	have been redefined for use by ECN (RFC3168).
 
 	Processing proceeds in the order specified, and stops at first fully
@@ -2372,7 +2372,7 @@
 
 	tcp_outgoing_address ipaddr [[!]aclname] ...
 
-	Example where requests from 10.0.0.0/24 will be forwareded
+	Example where requests from 10.0.0.0/24 will be forwarded
 	with source address 10.1.0.1, 10.0.2.0/24 forwarded with
 	source address 10.1.0.2 and the rest will be forwarded with
 	source address 10.1.0.3.
@@ -2409,7 +2409,7 @@
 DOC_START
         This option specifies the maximum size of a reply body in bytes.
 	It can be used to prevent users from downloading very large files,
-	such as MP3's and movies. When the reply headers are recieved,
+	such as MP3's and movies. When the reply headers are received,
 	the reply_body_max_size lines are processed, and the first line with
 	a result of "allow" is used as the maximum body size for this reply.
 	This size is checked twice. First when we get the reply headers,
@@ -2440,7 +2440,32 @@
 LOC: Config.adminEmail
 DOC_START
 	Email-address of local cache manager who will receive
-	mail if the cache dies.  The default is "webmaster."
+	mail if the cache dies. The default is "webmaster".
+DOC_END
+
+
+NAME: mail_from
+TYPE: string
+DEFAULT: none
+LOC: Config.EmailFrom
+DOC_START
+	From: email-address for mail sent when the cache dies.
+	The default is to use 'appname@unique_hostname'.
+	Default appname value is "squid", can be changed into 
+	src/globals.h before building squid.
+DOC_END
+
+
+NAME: mail_program
+TYPE: eol
+DEFAULT: mail
+LOC: Config.EmailProgram
+DOC_START
+	Email program used to send mail if the cache dies.
+	The default is "mail". The specified program must complain
+	with the standard Unix mail syntax:
+	mail_program recipient < mailfile
+	Optional command line options can be specified.
 DOC_END
 
 
@@ -2613,14 +2638,14 @@
 DOC_START
 	If you are running Squid as an accelerator and have a single backend
 	server set this to on. This causes Squid to forward the request
-	to this server, regardles of what any redirectors or Host headers
+	to this server, regardless of what any redirectors or Host headers
 	say.
 
 	Leave this at off if you have multiple backend servers, and use a
 	redirector (or host table or private DNS) to map the requests to the
 	appropriate backend servers. Note that the mapping needs to be a
 	1-1 mapping between requested and backend (from redirector) domain
-	names or caching will fail, as cacing is performed using the
+	names or caching will fail, as caching is performed using the
 	URL returned from the redirector.
 
 	See also redirect_rewrites_host_header.
@@ -2648,7 +2673,7 @@
 DOC_START
 	HTTP/1.1 requests include a Host: header which is basically the
 	hostname from the URL.  The Host: header is used for domain based
-	virutal hosts. If your accelerator needs to provide domain based
+	virtual hosts. If your accelerator needs to provide domain based
 	virtual hosts on the same IP address you will need to turn this
 	on.
 
@@ -3172,7 +3197,7 @@
 	Other headers are reclassified as 'Other'. You can also
 	refer to all the headers with 'All'.
 
-	For example, to achieve the same behaviour as the old
+	For example, to achieve the same behavior as the old
 	'http_anonymizer standard' option, you should use:
 
 		header_access From deny all
@@ -3241,6 +3266,20 @@
 	@DEFAULT_ICON_DIR@
 DOC_END
 
+NAME: global_internal_static
+TYPE: onoff
+LOC: Config.onoff.global_internal_static
+DEFAULT: on
+DOC_START
+	This directive controls is Squid should intercept all requests for
+	/squid-internal-static/ no matter which host the URL is requesting
+	(default on setting), or if nothing special should be done for
+	such URLs (off setting). The purpose of this directive is to make
+	icons etc work better in complex cache hierarchies where it may
+	not always be possible for all corners in the cache mesh to reach
+	the server generating a directory listing.
+DOC_END
+
 NAME: short_icon_urls
 TYPE: onoff
 LOC: Config.icons.use_short_names
@@ -3276,7 +3315,7 @@
 	maximum is 255 tries.  A warning message will be generated
 	if it is set to a value greater than ten.
 
-	Note: This is in addition to the request reforwarding which
+	Note: This is in addition to the request re-forwarding which
 	takes place if Squid fails to get a satisfying response.
 DOC_END
 
@@ -3933,7 +3972,7 @@
 	to different IP addresses.
 
 	By default Squid rotates IP's per request. By disabling
-	this directive only connection failure trigers rotation.
+	this directive only connection failure triggers rotation.
 DOC_END
 
 NAME: pipeline_prefetch
@@ -3943,7 +3982,7 @@
 DOC_START
 	To boost the performance of pipelined requests to closer
 	match that of a non-proxied environment Squid can try to fetch
-	up to two requests in parallell from a pipeline.
+	up to two requests in parallel from a pipeline.
 
 	Defaults to off for bandwidth management and access logging
 	reasons.
diff -ruN squid-2.5.STABLE10/src/cf_gen.c squid-2.5.STABLE11/src/cf_gen.c
--- squid-2.5.STABLE10/src/cf_gen.c	Thu Aug 22 06:28:15 2002
+++ squid-2.5.STABLE11/src/cf_gen.c	Thu Jun 30 12:50:56 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cf_gen.c,v 1.43.2.2 2002/08/22 12:28:15 hno Exp $
+ * $Id: cf_gen.c,v 1.43.2.3 2005/06/30 18:50:56 serassio Exp $
  *
  * DEBUG: none          Generate squid.conf.default and cf_parser.h
  * AUTHOR: Max Okumoto
@@ -403,7 +403,7 @@
 	"\tconfig_lineno = 0;\n"
 	);
     for (entry = head; entry != NULL; entry = entry->next) {
-	assert(entry->name);
+	assert(entry->name != NULL);
 	assert(entry != entry->next);
 
 	if (!strcmp(entry->name, "comment"))
@@ -418,7 +418,7 @@
 	    rc |= 1;
 	    continue;
 	}
-	assert(entry->default_value);
+	assert(entry->default_value != NULL);
 	if (entry->ifdef)
 	    fprintf(fp, "#if %s\n", entry->ifdef);
 	if (strcmp(entry->default_value, "none") == 0) {
@@ -447,8 +447,8 @@
 	"{\n"
 	);
     for (entry = head; entry != NULL; entry = entry->next) {
-	assert(entry->name);
-	assert(entry->loc);
+	assert(entry->name != NULL);
+	assert(entry->loc != NULL);
 	if (entry->default_if_none == NULL)
 	    continue;
 	if (entry->ifdef)
@@ -498,7 +498,7 @@
 	alias = entry->alias;
       next_alias:
 	fprintf(fp, "\telse if (!strcmp(token, \"%s\"))\n", name);
-	assert(entry->loc);
+	assert(entry->loc != NULL);
 	if (strcmp(entry->loc, "none") == 0) {
 	    fprintf(fp,
 		"\t\tparse_%s();\n",
@@ -538,7 +538,7 @@
 	"{\n"
 	);
     for (entry = head; entry != NULL; entry = entry->next) {
-	assert(entry->loc);
+	assert(entry->loc != NULL);
 	if (strcmp(entry->loc, "none") == 0)
 	    continue;
 	if (strcmp(entry->name, "comment") == 0)
@@ -565,7 +565,7 @@
 	"{\n"
 	);
     for (entry = head; entry != NULL; entry = entry->next) {
-	assert(entry->loc);
+	assert(entry->loc != NULL);
 	if (strcmp(entry->loc, "none") == 0)
 	    continue;
 	if (strcmp(entry->name, "comment") == 0)
@@ -588,7 +588,7 @@
     if (!name)
 	return 1;
     for (i = 0; strcmp(defines[i].name, name) != 0; i++) {
-	assert(defines[i].name);
+	assert(defines[i].name != NULL);
     }
     return defines[i].defined;
 }
@@ -597,9 +597,9 @@
 available_if(char *name)
 {
     int i = 0;
-    assert(name);
+    assert(name != NULL);
     for (i = 0; strcmp(defines[i].name, name) != 0; i++) {
-	assert(defines[i].name);
+	assert(defines[i].name != NULL);
     }
     return defines[i].enable;
 }
diff -ruN squid-2.5.STABLE10/src/client_db.c squid-2.5.STABLE11/src/client_db.c
--- squid-2.5.STABLE10/src/client_db.c	Fri Mar 25 19:50:52 2005
+++ squid-2.5.STABLE11/src/client_db.c	Thu Sep  1 16:54:41 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_db.c,v 1.53.2.5 2005/03/26 02:50:52 hno Exp $
+ * $Id: client_db.c,v 1.53.2.6 2005/09/01 22:54:41 hno Exp $
  *
  * DEBUG: section 0     Client Database
  * AUTHOR: Duane Wessels
@@ -328,7 +328,7 @@
 snmp_meshCtblFn(variable_list * Var, snint * ErrP)
 {
     variable_list *Answer = NULL;
-    static char key[15];
+    static char key[16];
     ClientInfo *c = NULL;
     int aggr = 0;
     log_type l;
diff -ruN squid-2.5.STABLE10/src/client_side.c squid-2.5.STABLE11/src/client_side.c
--- squid-2.5.STABLE10/src/client_side.c	Wed Apr 20 15:46:06 2005
+++ squid-2.5.STABLE11/src/client_side.c	Thu Sep 15 03:53:28 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.c,v 1.561.2.76 2005/04/20 21:46:06 hno Exp $
+ * $Id: client_side.c,v 1.561.2.86 2005/09/15 09:53:28 hno Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -41,6 +41,25 @@
 #endif
 #include <netinet/tcp.h>
 #include <net/if.h>
+/* SG - 14 Aug 2005
+ * Workaround needed to allow the build of both ipfilter and ARP acl
+ * support on Solaris x86.
+ * 
+ * Some defines, like
+ * #define free +
+ * are used in squid.h to block misuse of standard malloc routines
+ * where the Squid versions should be used. This pollutes the C/C++
+ * token namespace crashing any structures or classes having members
+ * of the same names.
+ */
+#ifdef _SQUID_SOLARIS_
+#undef free
+#endif
+#ifdef HAVE_IPL_H
+#include <ipl.h>
+#elif HAVE_NETINET_IPL_H
+#include <netinet/ipl.h>
+#endif
 #if HAVE_IP_FIL_COMPAT_H
 #include <ip_fil_compat.h>
 #elif HAVE_NETINET_IP_FIL_COMPAT_H
@@ -357,6 +376,7 @@
 	new_request->client_addr = old_request->client_addr;
 	new_request->my_addr = old_request->my_addr;
 	new_request->my_port = old_request->my_port;
+	new_request->flags = old_request->flags;
 	new_request->flags.redirected = 1;
 	if (old_request->auth_user_request) {
 	    new_request->auth_user_request = old_request->auth_user_request;
@@ -369,7 +389,6 @@
 	    old_request->body_reader_data = NULL;
 	}
 	new_request->content_length = old_request->content_length;
-	new_request->flags.proxy_keepalive = old_request->flags.proxy_keepalive;
 	requestUnlink(old_request);
 	http->request = requestLink(new_request);
     }
@@ -1022,7 +1041,7 @@
 	 */
 	if (strListIsSubstr(&s, ThisCache2, ',')) {
 	    debugObj(33, 1, "WARNING: Forwarding loop detected for:\n",
-		request, (ObjPackMethod) & httpRequestPack);
+		request, (ObjPackMethod) & httpRequestPackDebug);
 	    request->flags.loopdetect = 1;
 	}
 #if FORW_VIA_DB
@@ -1077,9 +1096,7 @@
 	request->http_ver.major, request->http_ver.minor);
     debug(33, 3) ("clientSetKeepaliveFlag: method = %s\n",
 	RequestMethodStr[request->method]);
-    if (!Config.onoff.client_pconns)
-	request->flags.proxy_keepalive = 0;
-    else {
+    {
 	http_version_t http_ver;
 	httpBuildVersion(&http_ver, 1, 0);	/* we are HTTP/1.0, no matter what the client requests... */
 	if (httpMsgIsPersistent(http_ver, req_hdr))
@@ -1404,7 +1421,10 @@
 	    (void) 0;
 	else if (http->entry->timestamp < 0)
 	    (void) 0;
-	else if (http->entry->timestamp < squid_curtime)
+	if (EBIT_TEST(http->entry->flags, ENTRY_SPECIAL)) {
+	    httpHeaderDelById(hdr, HDR_DATE);
+	    httpHeaderInsertTime(hdr, 0, HDR_DATE, squid_curtime);
+	} else if (http->entry->timestamp < squid_curtime)
 	    httpHeaderPutInt(hdr, HDR_AGE,
 		squid_curtime - http->entry->timestamp);
     }
@@ -1441,10 +1461,12 @@
 	debug(33, 3) ("clientBuildReplyHeader: can't keep-alive, unknown body size\n");
 	request->flags.proxy_keepalive = 0;
     }
-    if (fdUsageHigh()) {
+    if (fdUsageHigh() && !request->flags.must_keepalive) {
 	debug(33, 3) ("clientBuildReplyHeader: Not many unused FDs, can't keep-alive\n");
 	request->flags.proxy_keepalive = 0;
     }
+    if (!Config.onoff.client_pconns && !request->flags.must_keepalive)
+	request->flags.proxy_keepalive = 0;
     /* Signal keep-alive if needed */
     httpHeaderPutStr(hdr,
 	http->flags.accel ? HDR_CONNECTION : HDR_PROXY_CONNECTION,
@@ -2164,6 +2186,9 @@
 	 * this request is in progress, maybe doing an ACL or a redirect,
 	 * execution will resume after the operation completes.
 	 */
+	/* if it was a pipelined CONNECT kick it alive here */
+	if (http->request->method == METHOD_CONNECT)
+	    clientAccessCheck(http);
     } else {
 	debug(33, 2) ("clientKeepaliveNextRequest: FD %d Sending next\n",
 	    conn->fd);
@@ -2587,8 +2612,12 @@
 #if IPF_TRANSPARENT
     struct natlookup natLookup;
     static int natfd = -1;
-    static int siocgnatl_cmd = SIOCGNATL & 0xff;
     int x;
+#if defined(IPFILTER_VERSION) && (IPFILTER_VERSION >= 4000027)
+    struct ipfobj obj;
+#else
+    static int siocgnatl_cmd = SIOCGNATL & 0xff;
+#endif
 #endif
 #if PF_TRANSPARENT
     struct pfioc_natlook nl;
@@ -2719,11 +2748,10 @@
 	*t = '\0';
 #endif
 
-    /* handle internal objects */
-    if (internalCheck(url)) {
+    /* handle direct internal objects */
+    if (!Config2.Accel.on && internalCheck(url)) {
 	/* prepend our name & port */
 	http->uri = xstrdup(internalLocalUri(NULL, url));
-	http->flags.internal = 1;
 	http->flags.accel = 1;
     }
     /* see if we running in Config2.Accel.on, if so got to convert it to URL */
@@ -2731,6 +2759,14 @@
 	int vport;
 	if (vhost_mode) {
 #if IPF_TRANSPARENT
+	    static time_t last_reported = 0;
+#if defined(IPFILTER_VERSION) && (IPFILTER_VERSION >= 4000027)
+	    obj.ipfo_rev = IPFILTER_VERSION;
+	    obj.ipfo_size = sizeof(natLookup);
+	    obj.ipfo_ptr = &natLookup;
+	    obj.ipfo_type = IPFOBJ_NATLOOKUP;
+	    obj.ipfo_offset = 0;
+#endif
 	    natLookup.nl_inport = http->conn->me.sin_port;
 	    natLookup.nl_outport = http->conn->peer.sin_port;
 	    natLookup.nl_inip = http->conn->me.sin_addr;
@@ -2739,8 +2775,8 @@
 	    if (natfd < 0) {
 		int save_errno;
 		enter_suid();
-#ifdef IPL_NAME
-		natfd = open(IPL_NAME, O_RDONLY, 0);
+#ifdef IPNAT_NAME
+		natfd = open(IPNAT_NAME, O_RDONLY, 0);
 #else
 		natfd = open(IPL_NAT, O_RDONLY, 0);
 #endif
@@ -2749,13 +2785,14 @@
 		errno = save_errno;
 	    }
 	    if (natfd < 0) {
-		debug(50, 1) ("parseHttpRequest: NAT open failed: %s\n",
-		    xstrerror());
-		dlinkDelete(&http->active, &ClientActiveRequests);
-		xfree(http->uri);
-		cbdataFree(http);
-		xfree(inbuf);
+		if (squid_curtime - last_reported > 60) {
+		    debug(50, 1) ("parseHttpRequest: NAT open failed: %s\n", xstrerror());
+		    last_reported = squid_curtime;
+		}
 	    } else {
+#if defined(IPFILTER_VERSION) && (IPFILTER_VERSION >= 4000027)
+		x = ioctl(natfd, SIOCGNATL, &obj);
+#else
 		/*
 		 * IP-Filter changed the type for SIOCGNATL between
 		 * 3.3 and 3.4.  It also changed the cmd value for
@@ -2769,50 +2806,62 @@
 		} else {
 		    x = ioctl(natfd, SIOCGNATL, &natLookup);
 		}
+#endif
 		if (x < 0) {
 		    if (errno != ESRCH) {
-			debug(50, 1) ("parseHttpRequest: NAT lookup failed: ioctl(SIOCGNATL)\n");
+			if (squid_curtime - last_reported > 60) {
+			    debug(50, 1) ("parseHttpRequest: NAT lookup failed: ioctl(SIOCGNATL): %s\n", xstrerror());
+			    last_reported = squid_curtime;
+			}
 			close(natfd);
 			natfd = -1;
-			dlinkDelete(&http->active, &ClientActiveRequests);
-			xfree(http->uri);
-			cbdataFree(http);
-			xfree(inbuf);
 		    }
 		} else {
 		    conn->me.sin_port = natLookup.nl_realport;
-		    http->conn->me.sin_addr = natLookup.nl_realip;
+		    conn->me.sin_addr = natLookup.nl_realip;
 		}
 	    }
 #elif PF_TRANSPARENT
+	    static time_t last_reported = 0;
 	    if (pffd < 0)
 		pffd = open("/dev/pf", O_RDWR);
 	    if (pffd < 0) {
-		debug(50, 1) ("parseHttpRequest: PF open failed: %s\n",
-		    xstrerror());
-		return parseHttpRequestAbort(conn, "error:pf-open-failed");
-	    }
-	    memset(&nl, 0, sizeof(struct pfioc_natlook));
-	    nl.saddr.v4.s_addr = http->conn->peer.sin_addr.s_addr;
-	    nl.sport = http->conn->peer.sin_port;
-	    nl.daddr.v4.s_addr = http->conn->me.sin_addr.s_addr;
-	    nl.dport = http->conn->me.sin_port;
-	    nl.af = AF_INET;
-	    nl.proto = IPPROTO_TCP;
-	    nl.direction = PF_OUT;
-	    if (ioctl(pffd, DIOCNATLOOK, &nl)) {
-		if (errno != ENOENT) {
-		    debug(50, 1) ("parseHttpRequest: PF lookup failed: ioctl(DIOCNATLOOK)\n");
-		    close(pffd);
-		    pffd = -1;
+		if (squid_curtime - last_reported > 60) {
+		    debug(50, 1) ("parseHttpRequest: PF open failed: %s\n", xstrerror());
+		    last_reported = squid_curtime;
 		}
 	    } else {
-		conn->me.sin_port = nl.rdport;
-		http->conn->me.sin_addr = nl.rdaddr.v4;
+		memset(&nl, 0, sizeof(struct pfioc_natlook));
+		nl.saddr.v4.s_addr = http->conn->peer.sin_addr.s_addr;
+		nl.sport = http->conn->peer.sin_port;
+		nl.daddr.v4.s_addr = http->conn->me.sin_addr.s_addr;
+		nl.dport = http->conn->me.sin_port;
+		nl.af = AF_INET;
+		nl.proto = IPPROTO_TCP;
+		nl.direction = PF_OUT;
+		if (ioctl(pffd, DIOCNATLOOK, &nl)) {
+		    if (errno != ENOENT) {
+			if (squid_curtime - last_reported > 60) {
+			    debug(50, 1) ("parseHttpRequest: PF lookup failed: ioctl(DIOCNATLOOK): %s\n", xstrerror());
+			    last_reported = squid_curtime;
+			}
+			close(pffd);
+			pffd = -1;
+		    }
+		} else {
+		    conn->me.sin_port = nl.rdport;
+		    conn->me.sin_addr = nl.rdaddr.v4;
+		}
 	    }
 #elif LINUX_NETFILTER
+	    static time_t last_reported = 0;
 	    /* If the call fails the address structure will be unchanged */
-	    getsockopt(conn->fd, SOL_IP, SO_ORIGINAL_DST, &conn->me, &sock_sz);
+	    if (getsockopt(conn->fd, SOL_IP, SO_ORIGINAL_DST, &conn->me, &sock_sz) != 0) {
+		if (squid_curtime - last_reported > 60) {
+		    debug(50, 1) ("parseHttpRequest: NF getsockopt(SO_ORIGINAL_DST) failed: %s\n", xstrerror());
+		    last_reported = squid_curtime;
+		}
+	    }
 #endif
 	}
 	if (vport_mode)
@@ -3099,7 +3148,7 @@
 		    if (internalHostnameIs(request->host) &&
 			request->port == ntohs(Config.Sockaddr.http->s.sin_port)) {
 			http->flags.internal = 1;
-		    } else if (internalStaticCheck(strBuf(request->urlpath))) {
+		    } else if (Config.onoff.global_internal_static && internalStaticCheck(strBuf(request->urlpath))) {
 			xstrncpy(request->host, internalHostname(), SQUIDHOSTNAMELEN);
 			request->port = ntohs(Config.Sockaddr.http->s.sin_port);
 			http->flags.internal = 1;
@@ -3167,7 +3216,13 @@
 	    if (request->method == METHOD_CONNECT) {
 		/* Stop reading requests... */
 		commSetSelect(fd, COMM_SELECT_READ, NULL, NULL, 0);
-		clientAccessCheck(http);
+		if (conn->chr == http)
+		    clientAccessCheck(http);
+		else {
+		    debug(33, 1) ("WARNING: pipelined CONNECT request seen from %s\n", inet_ntoa(http->conn->peer.sin_addr));
+		    debugObj(33, 1, "Previous request:\n", conn->chr->request, (ObjPackMethod) & httpRequestPackDebug);
+		    debugObj(33, 1, "This request:\n", request, (ObjPackMethod) & httpRequestPackDebug);
+		}
 		break;
 	    } else {
 		clientAccessCheck(http);
diff -ruN squid-2.5.STABLE10/src/comm.c squid-2.5.STABLE11/src/comm.c
--- squid-2.5.STABLE10/src/comm.c	Sat Feb 12 22:53:56 2005
+++ squid-2.5.STABLE11/src/comm.c	Sat Sep 10 04:17:55 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm.c,v 1.324.2.5 2005/02/13 05:53:56 hno Exp $
+ * $Id: comm.c,v 1.324.2.6 2005/09/10 10:17:55 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  * AUTHOR: Harvest Derived
@@ -794,7 +794,7 @@
     int nonblocking = TRUE;
     if (fd_table[fd].type != FD_PIPE) {
 	if (ioctl(fd, FIONBIO, &nonblocking) < 0) {
-	    debug(50, 0) ("commSetNonBlocking: FD %d: %s %D\n", fd, xstrerror(), fd_table[fd].type);
+	    debug(50, 0) ("commSetNonBlocking: FD %d: %s %u\n", fd, xstrerror(), fd_table[fd].type);
 	    return COMM_ERROR;
 	}
     } else {
diff -ruN squid-2.5.STABLE10/src/delay_pools.c squid-2.5.STABLE11/src/delay_pools.c
--- squid-2.5.STABLE10/src/delay_pools.c	Wed Jun 18 17:53:35 2003
+++ squid-2.5.STABLE11/src/delay_pools.c	Sat Sep 10 19:49:53 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: delay_pools.c,v 1.19.2.8 2003/06/18 23:53:35 hno Exp $
+ * $Id: delay_pools.c,v 1.19.2.9 2005/09/11 01:49:53 hno Exp $
  *
  * DEBUG: section 77    Delay Pools
  * AUTHOR: David Luyer <david@luyer.net>
@@ -652,8 +652,6 @@
 	sc = (store_client *) node->data;
 	if (sc->callback_data == NULL)	/* open slot */
 	    continue;
-	if (sc->type != STORE_MEM_CLIENT)
-	    continue;
 	i = delayBytesWanted(sc->delay_id, i, max);
 	found = 1;
     }
@@ -661,7 +659,7 @@
 }
 
 delay_id
-delayMostBytesAllowed(const MemObject * mem)
+delayMostBytesAllowed(const MemObject * mem, size_t * read_sz)
 {
     int j;
     int jmax = -1;
@@ -672,14 +670,14 @@
 	sc = (store_client *) node->data;
 	if (sc->callback_data == NULL)	/* open slot */
 	    continue;
-	if (sc->type != STORE_MEM_CLIENT)
-	    continue;
-	j = delayBytesWanted(sc->delay_id, 0, SQUID_TCP_SO_RCVBUF);
+	j = delayBytesWanted(sc->delay_id, 0, INT_MAX);
 	if (j > jmax) {
 	    jmax = j;
 	    d = sc->delay_id;
 	}
     }
+    if (jmax >= 0 && jmax < (int) *read_sz)
+	*read_sz = (size_t) jmax;
     return d;
 }
 
diff -ruN squid-2.5.STABLE10/src/dns_internal.c squid-2.5.STABLE11/src/dns_internal.c
--- squid-2.5.STABLE10/src/dns_internal.c	Wed May 11 13:18:47 2005
+++ squid-2.5.STABLE11/src/dns_internal.c	Tue Sep 20 05:52:24 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dns_internal.c,v 1.45.2.9 2005/05/11 19:18:47 hno Exp $
+ * $Id: dns_internal.c,v 1.45.2.10 2005/09/20 11:52:24 serassio Exp $
  *
  * DEBUG: section 78    DNS lookups; interacts with lib/rfc1035.c
  * AUTHOR: Duane Wessels
@@ -235,6 +235,7 @@
     case _WIN_OS_WIN2K:
     case _WIN_OS_WINXP:
     case _WIN_OS_WINNET:
+    case _WIN_OS_WINLON:
 	/* get nameservers from the Windows 2000 registry */
 	/* search all interfaces for DNS server addresses */
 	if (RegOpenKey(HKEY_LOCAL_MACHINE,
diff -ruN squid-2.5.STABLE10/src/enums.h squid-2.5.STABLE11/src/enums.h
--- squid-2.5.STABLE10/src/enums.h	Fri Mar 25 19:50:52 2005
+++ squid-2.5.STABLE11/src/enums.h	Tue Sep 20 05:52:25 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: enums.h,v 1.203.2.15 2005/03/26 02:50:52 hno Exp $
+ * $Id: enums.h,v 1.203.2.17 2005/09/20 11:52:25 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -180,7 +180,8 @@
 
 /* recognized or "known" header fields; @?@ add more! */
 typedef enum {
-    HDR_ACCEPT,
+    HDR_UNKNOWN = -1,
+    HDR_ACCEPT = 0,
     HDR_ACCEPT_CHARSET,
     HDR_ACCEPT_ENCODING,
     HDR_ACCEPT_LANGUAGE,
@@ -734,7 +735,8 @@
     _WIN_OS_WINNT,
     _WIN_OS_WIN2K,
     _WIN_OS_WINXP,
-    _WIN_OS_WINNET
+    _WIN_OS_WINNET,
+    _WIN_OS_WINLON
 };
 
 #endif
diff -ruN squid-2.5.STABLE10/src/forward.c squid-2.5.STABLE11/src/forward.c
--- squid-2.5.STABLE10/src/forward.c	Fri Mar 25 19:50:53 2005
+++ squid-2.5.STABLE11/src/forward.c	Thu Sep  1 16:14:45 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.c,v 1.82.2.15 2005/03/26 02:50:53 hno Exp $
+ * $Id: forward.c,v 1.82.2.16 2005/09/01 22:14:45 hno Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -236,7 +236,6 @@
 	    request->host);
 	err = errorCon(ERR_DNS_FAIL, HTTP_SERVICE_UNAVAILABLE);
 	err->dnsserver_msg = xstrdup(dns_error_message);
-	err->request = requestLink(request);
 	fwdFail(fwdState, err);
 	comm_close(server_fd);
     } else if (status != COMM_OK) {
@@ -250,7 +249,6 @@
 	    err->host = xstrdup(request->host);
 	    err->port = request->port;
 	}
-	err->request = requestLink(request);
 	fwdFail(fwdState, err);
 	if (fs->peer)
 	    peerConnectFailed(fs->peer);
@@ -282,7 +280,6 @@
     assert(fd == fwdState->server_fd);
     if (entry->mem_obj->inmem_hi == 0) {
 	err = errorCon(ERR_CONNECT_FAIL, HTTP_GATEWAY_TIMEOUT);
-	err->request = requestLink(fwdState->request);
 	err->xerrno = ETIMEDOUT;
 	fwdFail(fwdState, err);
 	/*
@@ -420,7 +417,6 @@
 	debug(50, 4) ("fwdConnectStart: %s\n", xstrerror());
 	err = errorCon(ERR_SOCKET_FAILURE, HTTP_INTERNAL_SERVER_ERROR);
 	err->xerrno = errno;
-	err->request = requestLink(fwdState->request);
 	fwdFail(fwdState, err);
 	fwdStateFree(fwdState);
 	return;
@@ -466,7 +462,6 @@
     ErrorState *err;
     debug(17, 3) ("fwdStartFail: %s\n", storeUrl(fwdState->entry));
     err = errorCon(ERR_CANNOT_FORWARD, HTTP_SERVICE_UNAVAILABLE);
-    err->request = requestLink(fwdState->request);
     err->xerrno = errno;
     fwdFail(fwdState, err);
     fwdStateFree(fwdState);
@@ -525,7 +520,6 @@
 	    debug(17, 1) ("fwdDispatch: Cannot retrieve '%s'\n",
 		storeUrl(entry));
 	    err = errorCon(ERR_UNSUP_REQ, HTTP_BAD_REQUEST);
-	    err->request = requestLink(request);
 	    fwdFail(fwdState, err);
 	    /*
 	     * Force a persistent connection to be closed because
@@ -710,7 +704,6 @@
 void
 fwdFail(FwdState * fwdState, ErrorState * errorState)
 {
-    assert(EBIT_TEST(fwdState->entry->flags, ENTRY_FWD_HDR_WAIT));
     debug(17, 3) ("fwdFail: %s \"%s\"\n\t%s\n",
 	err_type_str[errorState->type],
 	httpStatusString(errorState->http_status),
@@ -718,6 +711,8 @@
     if (fwdState->err)
 	errorStateFree(fwdState->err);
     fwdState->err = errorState;
+    if (!errorState->request)
+	errorState->request = requestLink(fwdState->request);
 }
 
 /*
diff -ruN squid-2.5.STABLE10/src/ftp.c squid-2.5.STABLE11/src/ftp.c
--- squid-2.5.STABLE10/src/ftp.c	Fri Mar 25 19:50:53 2005
+++ squid-2.5.STABLE11/src/ftp.c	Sat Sep 10 19:49:53 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.c,v 1.316.2.25 2005/03/26 02:50:53 hno Exp $
+ * $Id: ftp.c,v 1.316.2.32 2005/09/11 01:49:53 hno Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -69,6 +69,7 @@
     unsigned int http_header_sent:1;
     unsigned int tried_nlst:1;
     unsigned int use_base:1;
+    unsigned int dir_slash:1;
     unsigned int root_dir:1;
     unsigned int no_dotdot:1;
     unsigned int html_header_sent:1;
@@ -87,6 +88,7 @@
     int password_url;
     char *reply_hdr;
     int reply_hdr_state;
+    String clean_url;
     String title_url;
     String base_href;
     int conn_att;
@@ -96,6 +98,7 @@
     squid_off_t size;
     wordlist *pathcomps;
     char *filepath;
+    char *dirpath;
     squid_off_t restart_offset;
     squid_off_t restarted_offset;
     int rest_att;
@@ -365,15 +368,18 @@
     wordlist *w;
     char *dirup;
     int i, j, k;
-    char *title;
-    storeBuffer(e);
+    const char *title = strBuf(ftpState->title_url);
     storeAppendPrintf(e, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n");
     storeAppendPrintf(e, "<!-- HTML listing generated by Squid %s -->\n",
 	version_string);
     storeAppendPrintf(e, "<!-- %s -->\n", mkrfc1123(squid_curtime));
     storeAppendPrintf(e, "<HTML><HEAD><TITLE>\n");
-    storeAppendPrintf(e, "FTP Directory: %s\n",
-	html_quote(strBuf(ftpState->title_url)));
+    {
+	char *t = xstrdup(title);
+	rfc1738_unescape(t);
+	storeAppendPrintf(e, "FTP Directory: %s\n", html_quote(t));
+	xfree(t);
+    }
     storeAppendPrintf(e, "</TITLE>\n");
     storeAppendPrintf(e, "<STYLE type=\"text/css\"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE>\n");
     if (ftpState->flags.use_base)
@@ -392,27 +398,29 @@
     storeAppendPrintf(e, "FTP Directory: ");
     /* "ftp://" == 6 characters */
     assert(strLen(ftpState->title_url) >= 6);
-    title = html_quote(strBuf(ftpState->title_url));
+    k = 6 + strcspn(&title[6], "/");
     for (i = 6, j = 0; title[i]; j = i) {
 	storeAppendPrintf(e, "<A HREF=\"");
 	i += strcspn(&title[i], "/");
+	if (i > j) {
+	    char *url = xstrdup(title);
+	    url[i] = '\0';
+	    storeAppendPrintf(e, "%s", html_quote(url + k));
+	    storeAppendPrintf(e, "/");
+	    storeAppendPrintf(e, "\">");
+	    rfc1738_unescape(url + j);
+	    storeAppendPrintf(e, "%s", html_quote(url + j));
+	    safe_free(url);
+	    storeAppendPrintf(e, "</A>");
+	}
+	storeAppendPrintf(e, "/");
 	if (title[i] == '/')
 	    i++;
-	for (k = 0; k < i; k++)
-	    storeAppendPrintf(e, "%c", title[k]);
-	storeAppendPrintf(e, "\">");
-	for (k = j; k < i - 1; k++)
-	    storeAppendPrintf(e, "%c", title[k]);
-	if (strBuf(ftpState->title_url)[k] != '/')
-	    storeAppendPrintf(e, "%c", title[k++]);
-	storeAppendPrintf(e, "</A>");
-	if (k < i)
-	    storeAppendPrintf(e, "%c", title[k++]);
 	if (i == j) {
 	    /* Error guard, or "assert" */
 	    storeAppendPrintf(e, "ERROR: Failed to parse URL: %s\n",
-		html_quote(strBuf(ftpState->title_url)));
-	    debug(9, 0) ("Failed to parse URL: %s\n", strBuf(ftpState->title_url));
+		html_quote(title));
+	    debug(9, 0) ("Failed to parse URL: %s\n", title);
 	    break;
 	}
     }
@@ -420,7 +428,6 @@
     storeAppendPrintf(e, "<PRE>\n");
     dirup = ftpHtmlifyListEntry("<internal-dirup>", ftpState);
     storeAppend(e, dirup, strlen(dirup));
-    storeBufferFlush(e);
     ftpState->flags.html_header_sent = 1;
 }
 
@@ -428,12 +435,12 @@
 ftpListingFinish(FtpStateData * ftpState)
 {
     StoreEntry *e = ftpState->entry;
-    storeBuffer(e);
     storeAppendPrintf(e, "</PRE>\n");
     if (ftpState->flags.listformat_unknown && !ftpState->flags.tried_nlst) {
-	storeAppendPrintf(e, "<A HREF=\"./;type=d\">[As plain directory]</A>\n");
+	storeAppendPrintf(e, "<A HREF=\"%s/;type=d\">[As plain directory]</A>\n",
+	    ftpState->flags.dir_slash ? rfc1738_escape_part(ftpState->filepath) : ".");
     } else if (ftpState->typecode == 'D') {
-	const char *path = ftpState->filepath ? ftpState->filepath : ".";
+	const char *path = ftpState->flags.dir_slash ? ftpState->filepath : ".";
 	storeAppendPrintf(e, "<A HREF=\"%s/\">[As extended directory]</A>\n", html_quote(path));
     }
     storeAppendPrintf(e, "<HR noshade size=\"1px\">\n");
@@ -443,7 +450,6 @@
 	getMyHostname(),
 	full_appname_string);
     storeAppendPrintf(e, "</ADDRESS></BODY></HTML>\n");
-    storeBufferFlush(e);
 }
 
 static const char *Month[] =
@@ -675,6 +681,7 @@
     LOCAL_ARRAY(char, download, 2048 + 40);
     LOCAL_ARRAY(char, link, 2048 + 40);
     LOCAL_ARRAY(char, html, 8192);
+    LOCAL_ARRAY(char, prefix, 2048);
     size_t width = Config.Ftp.list_width;
     ftpListParts *parts;
     *icon = *href = *text = *size = *chdir = *view = *download = *link = *html = '\0';
@@ -682,6 +689,10 @@
 	snprintf(html, 8192, "%s\n", line);
 	return html;
     }
+    if (ftpState->flags.dir_slash)
+	snprintf(prefix, sizeof(prefix), "%s/", rfc1738_escape_part(ftpState->dirpath));
+    else
+	prefix[0] = '\0';
     /* Handle builtin <dirup> */
     if (strcmp(line, "<internal-dirup>") == 0) {
 	/* <A HREF="{href}">{icon}</A> <A HREF="{href}">{text}</A> {link} */
@@ -690,7 +701,10 @@
 	    "[DIRUP]");
 	if (!ftpState->flags.no_dotdot && !ftpState->flags.root_dir) {
 	    /* Normal directory */
-	    strcpy(href, "../");
+	    if (!ftpState->flags.dir_slash)
+		strcpy(href, "../");
+	    else
+		strcpy(href, "./");
 	    strcpy(text, "Parent Directory");
 	} else if (!ftpState->flags.no_dotdot && ftpState->flags.root_dir) {
 	    /* "Top level" directory */
@@ -704,7 +718,7 @@
 	    strcpy(href, "%2e%2e/");
 	    strcpy(text, "Parent Directory");
 	    snprintf(link, 2048, "(<A HREF=\"%s\">%s</A>)",
-		"../",
+		!ftpState->flags.dir_slash ? "../" : "./",
 		"Back");
 	} else {		/* NO_DOTDOT && ROOT_DIR */
 	    /* "UNIX Root" directory */
@@ -752,8 +766,8 @@
 	/* sometimes there is an 'l' flag, but no "->" link */
 	if (parts->link) {
 	    char *link2 = xstrdup(html_quote(rfc1738_escape(parts->link)));
-	    snprintf(link, 2048, " -> <A HREF=\"%s\">%s</A>",
-		link2,
+	    snprintf(link, 2048, " -> <A HREF=\"%s%s\">%s</A>",
+		*link2 != '/' ? prefix : "", link2,
 		html_quote(parts->link));
 	    safe_free(link2);
 	}
@@ -793,27 +807,27 @@
     }
     if (parts->type != 'd') {
 	if (mimeGetViewOption(parts->name)) {
-	    snprintf(view, 2048, " <A HREF=\"%s;type=a\"><IMG border=\"0\" SRC=\"%s\" "
+	    snprintf(view, 2048, " <A HREF=\"%s%s;type=a\"><IMG border=\"0\" SRC=\"%s\" "
 		"ALT=\"[VIEW]\"></A>",
-		href, mimeGetIconURL("internal-view"));
+		prefix, href, mimeGetIconURL("internal-view"));
 	}
 	if (mimeGetDownloadOption(parts->name)) {
-	    snprintf(download, 2048, " <A HREF=\"%s;type=i\"><IMG border=\"0\" SRC=\"%s\" "
+	    snprintf(download, 2048, " <A HREF=\"%s%s;type=i\"><IMG border=\"0\" SRC=\"%s\" "
 		"ALT=\"[DOWNLOAD]\"></A>",
-		href, mimeGetIconURL("internal-download"));
+		prefix, href, mimeGetIconURL("internal-download"));
 	}
     }
     /* <A HREF="{href}">{icon}</A> <A HREF="{href}">{text}</A> . . . {date}{size}{chdir}{view}{download}{link}\n  */
     if (parts->type != '\0') {
-	snprintf(html, 8192, "<A HREF=\"%s\">%s</A> <A HREF=\"%s\">%s</A>%s "
+	snprintf(html, 8192, "<A HREF=\"%s%s\">%s</A> <A HREF=\"%s%s\">%s</A>%s "
 	    "%s%8s%s%s%s%s\n",
-	    href, icon, href, html_quote(text), dots_fill(strlen(text)),
+	    prefix, href, icon, prefix, href, html_quote(text), dots_fill(strlen(text)),
 	    parts->date, size, chdir, view, download, link);
     } else {
 	/* Plain listing. {icon} {text} ... {chdir}{view}{download} */
-	snprintf(html, 8192, "<A HREF=\"%s\">%s</A> <A HREF=\"%s\">%s</A>%s "
+	snprintf(html, 8192, "<A HREF=\"%s%s\">%s</A> <A HREF=\"%s%s\">%s</A>%s "
 	    "%s%s%s%s\n",
-	    href, icon, href, html_quote(text), dots_fill(strlen(text)),
+	    prefix, href, icon, prefix, href, html_quote(text), dots_fill(strlen(text)),
 	    chdir, view, download, link);
     }
     ftpListPartsFree(&parts);
@@ -851,7 +865,7 @@
     debug(9, 3) ("ftpParseListing: %d bytes to play with\n", (int) len);
     line = memAllocate(MEM_4K_BUF);
     end++;
-    storeBuffer(e);
+    storeBuffer(e);		/* released when done processing current data payload */
     s = sbuf;
     s += strspn(s, crlf);
     for (; s < end; s += strcspn(s, crlf), s += strspn(s, crlf)) {
@@ -869,7 +883,6 @@
 	assert(t != NULL);
 	storeAppend(e, t, strlen(t));
     }
-    storeBufferFlush(e);
     assert(usable <= len);
     if (usable < len) {
 	/* must copy partial line to beginning of buf */
@@ -911,8 +924,7 @@
     StoreEntry *entry = ftpState->entry;
     size_t read_sz;
 #if DELAY_POOLS
-    MemObject *mem = entry->mem_obj;
-    delay_id delay_id = delayMostBytesAllowed(mem);
+    delay_id delay_id;
 #endif
     assert(fd == ftpState->data.fd);
     if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
@@ -922,7 +934,7 @@
     errno = 0;
     read_sz = ftpState->data.size - ftpState->data.offset;
 #if DELAY_POOLS
-    read_sz = delayBytesWanted(delay_id, 1, read_sz);
+    delay_id = delayMostBytesAllowed(entry->mem_obj, &read_sz);
 #endif
     memset(ftpState->data.buf + ftpState->data.offset, '\0', read_sz);
     statCounter.syscalls.sock.reads++;
@@ -974,6 +986,7 @@
 	    storeAppend(entry, ftpState->data.buf, len);
 	    ftpState->data.offset = 0;
 	}
+	storeBufferFlush(entry);
 	commSetSelect(fd,
 	    COMM_SELECT_READ,
 	    ftpDataRead,
@@ -1059,12 +1072,6 @@
 	strCat(ftpState->title_url, xitoa(request->port));
     }
     strCat(ftpState->title_url, strBuf(request->urlpath));
-    {
-	char *t = xstrdup(strBuf(ftpState->title_url));
-	rfc1738_unescape(t);
-	stringReset(&ftpState->title_url, t);
-	xfree(t);
-    }
 
     stringReset(&ftpState->base_href, "ftp://");
     if (strcmp(ftpState->user, "anonymous")) {
@@ -1557,7 +1564,10 @@
     debug(9, 4) ("ftpTraverseDirectory %s\n",
 	ftpState->filepath ? ftpState->filepath : "<NULL>");
 
-    safe_free(ftpState->filepath);
+    safe_free(ftpState->dirpath);
+    ftpState->dirpath = ftpState->filepath;
+    ftpState->filepath = NULL;
+
     /* Done? */
     if (ftpState->pathcomps == NULL) {
 	debug(9, 3) ("the final component was a directory\n");
@@ -1662,7 +1672,7 @@
 	debug(9, 3) ("Directory path did not end in /\n");
 	strCat(ftpState->title_url, "/");
 	ftpState->flags.isdir = 1;
-	ftpState->flags.use_base = 1;
+	ftpState->flags.dir_slash = 1;
     }
     ftpSendPasv(ftpState);
 }
@@ -2264,7 +2274,7 @@
 {
     int code = ftpState->ctrl.replycode;
     debug(9, 3) ("This is ftpReadTransferDone\n");
-    if (code == 226) {
+    if (code == 226 || code == 250) {
 	/* Connection closed; retrieval done. */
 	if (ftpState->flags.html_header_sent)
 	    ftpListingFinish(ftpState);
@@ -2330,7 +2340,7 @@
 {
     int code = ftpState->ctrl.replycode;
     debug(9, 3) ("This is ftpWriteTransferDone\n");
-    if (code != 226) {
+    if (!(code == 226 || code == 250)) {
 	debug(9, 1) ("ftpReadTransferDone: Got code %d after sending data\n",
 	    code);
 	ftpFailed(ftpState, ERR_FTP_PUT_ERROR);
@@ -2476,7 +2486,6 @@
     if (err == NULL)
 	err = errorCon(ERR_FTP_FAILURE, HTTP_BAD_GATEWAY);
     err->xerrno = errno;
-    err->request = requestLink(ftpState->request);
     err->ftp.server_msg = ftpState->ctrl.message;
     ftpState->ctrl.message = NULL;
     if (ftpState->old_request)
@@ -2507,7 +2516,7 @@
 	storeUrl(ftpState->entry), code);
     if (cbdataValid(ftpState))
 	debug(9, 5) ("ftpSendReply: ftpState (%p) is valid!\n", ftpState);
-    if (code == 226) {
+    if (code == 226 || code == 250) {
 	err_code = (ftpState->mdtm > 0) ? ERR_FTP_PUT_MODIFIED : ERR_FTP_PUT_CREATED;
 	http_code = (ftpState->mdtm > 0) ? HTTP_ACCEPTED : HTTP_CREATED;
     } else if (code == 227) {
@@ -2530,7 +2539,6 @@
     else
 	err->ftp.reply = xstrdup("");
     errorAppendEntry(ftpState->entry, err);
-    storeBufferFlush(ftpState->entry);
     ftpSendQuit(ftpState);
 }
 
@@ -2551,6 +2559,7 @@
     ftpState->flags.http_header_sent = 1;
     assert(e->mem_obj->inmem_hi == 0);
     EBIT_CLR(e->flags, ENTRY_FWD_HDR_WAIT);
+    storeBuffer(e);		/* released when done processing current data payload */
     filename = (t = strRChr(urlpath, '/')) ? t + 1 : strBuf(urlpath);
     if (ftpState->flags.isdir) {
 	mime_type = "text/html";
@@ -2569,7 +2578,6 @@
 	    break;
 	}
     }
-    storeBuffer(e);
     httpReplyReset(reply);
     /* set standard stuff */
     if (ftpState->restarted_offset) {
@@ -2591,7 +2599,6 @@
     if (mime_enc)
 	httpHeaderPutStr(&reply->header, HDR_CONTENT_ENCODING, mime_enc);
     httpReplySwapOut(reply, e);
-    storeBufferFlush(e);
     reply->hdr_sz = e->mem_obj->inmem_hi;
     storeTimestampsSet(e);
     if (ftpState->flags.authenticated) {
diff -ruN squid-2.5.STABLE10/src/globals.h squid-2.5.STABLE11/src/globals.h
--- squid-2.5.STABLE10/src/globals.h	Wed Apr 20 15:52:26 2005
+++ squid-2.5.STABLE11/src/globals.h	Mon Jun 13 16:26:21 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: globals.h,v 1.108.2.6 2005/04/20 21:52:26 hno Exp $
+ * $Id: globals.h,v 1.108.2.7 2005/06/13 22:26:21 hno Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -166,5 +166,6 @@
 extern void *sbrk_start;	/* 0 */
 #endif
 extern int opt_send_signal;	/* -1 */
+extern int opt_no_daemon;	/* 0 */
 
 #endif /* SQUID_GLOBALS_H */
diff -ruN squid-2.5.STABLE10/src/gopher.c squid-2.5.STABLE11/src/gopher.c
--- squid-2.5.STABLE10/src/gopher.c	Tue Jan 11 23:04:01 2005
+++ squid-2.5.STABLE11/src/gopher.c	Sat Sep 10 19:49:53 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: gopher.c,v 1.162.2.8 2005/01/12 06:04:01 wessels Exp $
+ * $Id: gopher.c,v 1.162.2.11 2005/09/11 01:49:53 hno Exp $
  *
  * DEBUG: section 10    Gopher
  * AUTHOR: Harvest Derived
@@ -603,12 +603,8 @@
     GopherStateData *gopherState = data;
     StoreEntry *entry = gopherState->entry;
     debug(10, 4) ("gopherTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
-    if (entry->store_status == STORE_PENDING) {
-	if (entry->mem_obj->inmem_hi == 0) {
-	    fwdFail(gopherState->fwdState,
-		errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
-	}
-    }
+    fwdFail(gopherState->fwdState,
+	errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
     comm_close(fd);
 }
 
@@ -625,7 +621,7 @@
     int bin;
     size_t read_sz;
 #if DELAY_POOLS
-    delay_id delay_id = delayMostBytesAllowed(entry->mem_obj);
+    delay_id delay_id;
 #endif
     if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
 	comm_close(fd);
@@ -635,7 +631,7 @@
     buf = memAllocate(MEM_4K_BUF);
     read_sz = 4096 - 1;		/* leave room for termination */
 #if DELAY_POOLS
-    read_sz = delayBytesWanted(delay_id, 1, read_sz);
+    delay_id = delayMostBytesAllowed(entry->mem_obj, &read_sz);
 #endif
     /* leave one space for \0 in gopherToHTML */
     statCounter.syscalls.sock.reads++;
@@ -660,22 +656,15 @@
 	debug(50, 1) ("gopherReadReply: error reading: %s\n", xstrerror());
 	if (ignoreErrno(errno)) {
 	    commSetSelect(fd, COMM_SELECT_READ, gopherReadReply, data, 0);
-	} else if (entry->mem_obj->inmem_hi == 0) {
+	} else {
 	    ErrorState *err;
 	    err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
 	    err->xerrno = errno;
-	    err->url = xstrdup(storeUrl(entry));
-	    errorAppendEntry(entry, err);
-	    comm_close(fd);
-	} else {
+	    fwdFail(gopherState->fwdState, err);
 	    comm_close(fd);
 	}
     } else if (len == 0 && entry->mem_obj->inmem_hi == 0) {
-	ErrorState *err;
-	err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE);
-	err->xerrno = errno;
-	err->url = xstrdup(gopherState->request);
-	errorAppendEntry(entry, err);
+	fwdFail(gopherState->fwdState, errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE));
 	comm_close(fd);
     } else if (len == 0) {
 	/* Connection closed; retrieval done. */
@@ -717,12 +706,12 @@
     }
     if (errflag) {
 	ErrorState *err;
-	err = errorCon(ERR_CONNECT_FAIL, HTTP_SERVICE_UNAVAILABLE);
+	err = errorCon(ERR_WRITE_ERROR, HTTP_BAD_GATEWAY);
 	err->xerrno = errno;
 	err->host = xstrdup(gopherState->req->host);
 	err->port = gopherState->req->port;
 	err->url = xstrdup(storeUrl(entry));
-	errorAppendEntry(entry, err);
+	fwdFail(gopherState->fwdState, err);
 	comm_close(fd);
 	if (buf)
 	    memFree(buf, MEM_4K_BUF);	/* Allocated by gopherSendRequest. */
@@ -732,29 +721,28 @@
      * OK. We successfully reach remote site.  Start MIME typing
      * stuff.  Do it anyway even though request is not HTML type.
      */
+    storeBuffer(entry);
     gopherMimeCreate(gopherState);
     switch (gopherState->type_id) {
     case GOPHER_DIRECTORY:
 	/* we got to convert it first */
-	storeBuffer(entry);
 	gopherState->conversion = HTML_DIR;
 	gopherState->HTML_header_added = 0;
 	break;
     case GOPHER_INDEX:
 	/* we got to convert it first */
-	storeBuffer(entry);
 	gopherState->conversion = HTML_INDEX_RESULT;
 	gopherState->HTML_header_added = 0;
 	break;
     case GOPHER_CSO:
 	/* we got to convert it first */
-	storeBuffer(entry);
 	gopherState->conversion = HTML_CSO_RESULT;
 	gopherState->cso_recno = 0;
 	gopherState->HTML_header_added = 0;
 	break;
     default:
 	gopherState->conversion = NORMAL;
+	storeBufferFlush(entry);
     }
     /* Schedule read reply. */
     commSetSelect(fd, COMM_SELECT_READ, gopherReadReply, gopherState, 0);
@@ -815,16 +803,6 @@
     /* Parse url. */
     gopher_request_parse(fwdState->request,
 	&gopherState->type_id, gopherState->request);
-#if OLD_PARSE_ERROR_CODE
-    if (...) {
-	ErrorState *err;
-	err = errorCon(ERR_INVALID_URL, HTTP_BAD_REQUEST);
-	err->url = xstrdup(storeUrl(entry));
-	errorAppendEntry(entry, err);
-	gopherStateFree(-1, gopherState);
-	return;
-    }
-#endif
     comm_add_close_handler(fd, gopherStateFree, gopherState);
     if (((gopherState->type_id == GOPHER_INDEX) || (gopherState->type_id == GOPHER_CSO))
 	&& (strchr(gopherState->request, '?') == NULL)) {
diff -ruN squid-2.5.STABLE10/src/http.c squid-2.5.STABLE11/src/http.c
--- squid-2.5.STABLE10/src/http.c	Fri Mar 25 19:50:53 2005
+++ squid-2.5.STABLE11/src/http.c	Sat Sep 10 19:49:54 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.c,v 1.384.2.30 2005/03/26 02:50:53 hno Exp $
+ * $Id: http.c,v 1.384.2.32 2005/09/11 01:49:54 hno Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -99,10 +99,8 @@
     StoreEntry *entry = httpState->entry;
     debug(11, 4) ("httpTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (entry->store_status == STORE_PENDING) {
-	if (entry->mem_obj->inmem_hi == 0) {
-	    fwdFail(httpState->fwd,
-		errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
-	}
+	fwdFail(httpState->fwd,
+	    errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
     }
     comm_close(fd);
 }
@@ -565,26 +563,23 @@
     int len;
     int bin;
     int clen;
-    size_t read_sz;
+    size_t read_sz = SQUID_TCP_SO_RCVBUF;
 #if DELAY_POOLS
     delay_id delay_id;
-
-    /* special "if" only for http (for nodelay proxy conns) */
-    if (delayIsNoDelay(fd))
-	delay_id = 0;
-    else
-	delay_id = delayMostBytesAllowed(entry->mem_obj);
 #endif
+
     if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
 	comm_close(fd);
 	return;
     }
-    /* check if we want to defer reading */
-    errno = 0;
-    read_sz = SQUID_TCP_SO_RCVBUF;
 #if DELAY_POOLS
-    read_sz = delayBytesWanted(delay_id, 1, read_sz);
+    /* special "if" only for http (for nodelay proxy conns) */
+    if (delayIsNoDelay(fd))
+	delay_id = 0;
+    else
+	delay_id = delayMostBytesAllowed(entry->mem_obj, &read_sz);
 #endif
+    errno = 0;
     statCounter.syscalls.sock.reads++;
     len = FD_READ_METHOD(fd, buf, read_sz);
     debug(11, 5) ("httpReadReply: FD %d: len %d.\n", fd, len);
@@ -616,22 +611,15 @@
 	    fd, xstrerror());
 	if (ignoreErrno(errno)) {
 	    commSetSelect(fd, COMM_SELECT_READ, httpReadReply, httpState, 0);
-	} else if (entry->mem_obj->inmem_hi == 0) {
+	} else {
 	    ErrorState *err;
 	    err = errorCon(ERR_READ_ERROR, HTTP_BAD_GATEWAY);
-	    err->request = requestLink((request_t *) request);
 	    err->xerrno = errno;
 	    fwdFail(httpState->fwd, err);
 	    comm_close(fd);
-	} else {
-	    comm_close(fd);
 	}
     } else if (len == 0 && entry->mem_obj->inmem_hi == 0) {
-	ErrorState *err;
-	err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_BAD_GATEWAY);
-	err->xerrno = errno;
-	err->request = requestLink((request_t *) request);
-	fwdFail(httpState->fwd, err);
+	fwdFail(httpState->fwd, errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_BAD_GATEWAY));
 	httpState->eof = 1;
 	comm_close(fd);
     } else if (len == 0) {
@@ -646,18 +634,12 @@
 	     */
 	    httpProcessReplyHeader(httpState, buf, len);
 	if (entry->mem_obj->reply->sline.status == HTTP_HEADER_TOO_LARGE) {
-	    ErrorState *err;
 	    storeEntryReset(entry);
-	    err = errorCon(ERR_TOO_BIG, HTTP_BAD_GATEWAY);
-	    err->request = requestLink((request_t *) request);
-	    fwdFail(httpState->fwd, err);
+	    fwdFail(httpState->fwd, errorCon(ERR_TOO_BIG, HTTP_BAD_GATEWAY));
 	    httpState->fwd->flags.dont_retry = 1;
 	} else if (entry->mem_obj->reply->sline.status == HTTP_INVALID_HEADER && !(entry->mem_obj->reply->sline.version.major == 0 && entry->mem_obj->reply->sline.version.minor == 9)) {
-	    ErrorState *err;
 	    storeEntryReset(entry);
-	    err = errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY);
-	    err->request = requestLink((request_t *) request);
-	    fwdFail(httpState->fwd, err);
+	    fwdFail(httpState->fwd, errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY));
 	    httpState->fwd->flags.dont_retry = 1;
 	} else {
 	    fwdComplete(httpState->fwd);
@@ -670,22 +652,16 @@
 	    if (httpState->reply_hdr_state == 2) {
 		http_status s = entry->mem_obj->reply->sline.status;
 		if (s == HTTP_HEADER_TOO_LARGE) {
-		    ErrorState *err;
 		    debug(11, 1) ("WARNING: %s:%d: HTTP header too large\n", __FILE__, __LINE__);
 		    storeEntryReset(entry);
-		    err = errorCon(ERR_TOO_BIG, HTTP_BAD_GATEWAY);
-		    err->request = requestLink((request_t *) request);
-		    fwdFail(httpState->fwd, err);
+		    fwdFail(httpState->fwd, errorCon(ERR_TOO_BIG, HTTP_BAD_GATEWAY));
 		    httpState->fwd->flags.dont_retry = 1;
 		    comm_close(fd);
 		    return;
 		}
 		if (s == HTTP_INVALID_HEADER && !(entry->mem_obj->reply->sline.version.major == 0 && entry->mem_obj->reply->sline.version.minor == 9)) {
-		    ErrorState *err;
 		    storeEntryReset(entry);
-		    err = errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY);
-		    err->request = requestLink((request_t *) request);
-		    fwdFail(httpState->fwd, err);
+		    fwdFail(httpState->fwd, errorCon(ERR_INVALID_RESP, HTTP_BAD_GATEWAY));
 		    httpState->fwd->flags.dont_retry = 1;
 		    comm_close(fd);
 		    return;
@@ -804,7 +780,6 @@
 {
     HttpStateData *httpState = data;
     StoreEntry *entry = httpState->entry;
-    ErrorState *err;
     debug(11, 5) ("httpSendComplete: FD %d: size %d: errflag %d.\n",
 	fd, (int) size, errflag);
 #if URL_CHECKSUM_DEBUG
@@ -818,12 +793,10 @@
     if (errflag == COMM_ERR_CLOSING)
 	return;
     if (errflag) {
-	if (entry->mem_obj->inmem_hi == 0) {
-	    err = errorCon(ERR_WRITE_ERROR, HTTP_BAD_GATEWAY);
-	    err->xerrno = errno;
-	    err->request = requestLink(httpState->orig_request);
-	    errorAppendEntry(entry, err);
-	}
+	ErrorState *err;
+	err = errorCon(ERR_WRITE_ERROR, HTTP_BAD_GATEWAY);
+	err->xerrno = errno;
+	fwdFail(httpState->fwd, err);
 	comm_close(fd);
 	return;
     } else {
@@ -1264,7 +1237,6 @@
 {
     HttpStateData *httpState = data;
     StoreEntry *entry = httpState->entry;
-    ErrorState *err;
     debug(11, 5) ("httpSendRequestEntry: FD %d: size %d: errflag %d.\n",
 	fd, (int) size, errflag);
     if (size > 0) {
@@ -1275,12 +1247,10 @@
     if (errflag == COMM_ERR_CLOSING)
 	return;
     if (errflag) {
-	if (entry->mem_obj->inmem_hi == 0) {
-	    err = errorCon(ERR_WRITE_ERROR, HTTP_BAD_GATEWAY);
-	    err->xerrno = errno;
-	    err->request = requestLink(httpState->orig_request);
-	    errorAppendEntry(entry, err);
-	}
+	ErrorState *err;
+	err = errorCon(ERR_WRITE_ERROR, HTTP_BAD_GATEWAY);
+	err->xerrno = errno;
+	fwdFail(httpState->fwd, err);
 	comm_close(fd);
 	return;
     }
diff -ruN squid-2.5.STABLE10/src/internal.c squid-2.5.STABLE11/src/internal.c
--- squid-2.5.STABLE10/src/internal.c	Thu Jan 11 17:37:18 2001
+++ squid-2.5.STABLE11/src/internal.c	Thu Sep 15 03:53:28 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: internal.c,v 1.23 2001/01/12 00:37:18 wessels Exp $
+ * $Id: internal.c,v 1.23.2.1 2005/09/15 09:53:28 hno Exp $
  *
  * DEBUG: section 76    Internal Squid Object handling
  * AUTHOR: Duane, Alex, Henrik
@@ -69,7 +69,7 @@
 	storeComplete(entry);
     } else {
 	debugObj(76, 1, "internalStart: unknown request:\n",
-	    request, (ObjPackMethod) & httpRequestPack);
+	    request, (ObjPackMethod) & httpRequestPackDebug);
 	err = errorCon(ERR_INVALID_REQ, HTTP_NOT_FOUND);
 	err->request = requestLink(request);
 	errorAppendEntry(entry, err);
diff -ruN squid-2.5.STABLE10/src/main.c squid-2.5.STABLE11/src/main.c
--- squid-2.5.STABLE10/src/main.c	Wed Apr 20 15:52:26 2005
+++ squid-2.5.STABLE11/src/main.c	Mon Jun 27 15:24:28 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.c,v 1.345.2.25 2005/04/20 21:52:26 hno Exp $
+ * $Id: main.c,v 1.345.2.27 2005/06/27 21:24:28 hno Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -38,7 +38,6 @@
 /* for error reporting from xmalloc and friends */
 extern void (*failure_notify) (const char *);
 
-static int opt_no_daemon = 0;
 static int opt_parse_cfg_only = 0;
 static char *opt_syslog_facility = NULL;
 static int httpPortNumOverride = 1;
@@ -684,8 +683,12 @@
     /* send signal to running copy and exit */
     if (opt_send_signal != -1) {
 	/* chroot if configured to run inside chroot */
-	if (Config.chroot_dir && chroot(Config.chroot_dir)) {
-	    fatal("failed to chroot");
+	if (Config.chroot_dir) {
+	    if (chroot(Config.chroot_dir))
+		fatal("failed to chroot");
+	    no_suid();
+	} else {
+	    leave_suid();
 	}
 	sendSignal();
 	/* NOTREACHED */
diff -ruN squid-2.5.STABLE10/src/net_db.c squid-2.5.STABLE11/src/net_db.c
--- squid-2.5.STABLE10/src/net_db.c	Fri Mar 25 19:50:53 2005
+++ squid-2.5.STABLE11/src/net_db.c	Fri Sep 16 15:13:18 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: net_db.c,v 1.158.2.9 2005/03/26 02:50:53 hno Exp $
+ * $Id: net_db.c,v 1.158.2.11 2005/09/16 21:13:18 hno Exp $
  *
  * DEBUG: section 38    Network Measurement Database
  * AUTHOR: Duane Wessels
@@ -556,7 +556,7 @@
     if (0 == ex->used) {
 	/* skip reply headers */
 	if ((hdr_sz = headersEnd(p, size))) {
-	    debug(38, 5) ("netdbExchangeHandleReply: hdr_sz = %d\n", hdr_sz);
+	    debug(38, 5) ("netdbExchangeHandleReply: hdr_sz = %ld\n", (long int) hdr_sz);
 	    rep = ex->e->mem_obj->reply;
 	    if (0 == rep->sline.status)
 		httpReplyParse(rep, buf, hdr_sz);
@@ -571,14 +571,20 @@
 	    size -= hdr_sz;
 	    p += hdr_sz;
 	} else {
-	    size = 0;
+	    if (size >= ex->buf_sz) {
+		debug(38, 3) ("netdbExchangeHandleReply: Too big HTTP header, aborting\n");
+		netdbExchangeDone(ex);
+		return;
+	    } else {
+		size = 0;
+	    }
 	}
     }
-    debug(38, 5) ("netdbExchangeHandleReply: start parsing loop, size = %d\n",
-	size);
+    debug(38, 5) ("netdbExchangeHandleReply: start parsing loop, size = %ld\n",
+	(long int) size);
     while (size >= rec_sz) {
-	debug(38, 5) ("netdbExchangeHandleReply: in parsing loop, size = %d\n",
-	    size);
+	debug(38, 5) ("netdbExchangeHandleReply: in parsing loop, size = %ld\n",
+	    (long int) size);
 	addr.s_addr = any_addr.s_addr;
 	hops = rtt = 0.0;
 	for (o = 0; o < rec_sz;) {
diff -ruN squid-2.5.STABLE10/src/protos.h squid-2.5.STABLE11/src/protos.h
--- squid-2.5.STABLE10/src/protos.h	Tue Apr 19 16:19:27 2005
+++ squid-2.5.STABLE11/src/protos.h	Thu Sep 15 03:53:28 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.420.2.34 2005/04/19 22:19:27 hno Exp $
+ * $Id: protos.h,v 1.420.2.38 2005/09/15 09:53:28 hno Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -397,7 +397,7 @@
 extern int strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos);
 extern const char *getStringPrefix(const char *str, const char *end);
 extern int httpHeaderParseInt(const char *start, int *val);
-extern squid_off_t httpHeaderParseSize(const char *start, squid_off_t * sz);
+extern int httpHeaderParseSize(const char *start, squid_off_t * sz);
 extern int httpHeaderReset(HttpHeader * hdr);
 #if STDC_HEADERS
 extern void
@@ -424,6 +424,7 @@
 extern void httpHeaderPutInt(HttpHeader * hdr, http_hdr_type type, int number);
 extern void httpHeaderPutSize(HttpHeader * hdr, http_hdr_type type, squid_off_t number);
 extern void httpHeaderPutTime(HttpHeader * hdr, http_hdr_type type, time_t htime);
+extern void httpHeaderInsertTime(HttpHeader * hdr, int pos, http_hdr_type type, time_t htime);
 extern void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str);
 extern void httpHeaderPutAuth(HttpHeader * hdr, const char *auth_scheme, const char *realm);
 extern void httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc);
@@ -453,6 +454,7 @@
 extern HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos);
 extern HttpHeaderEntry *httpHeaderFindEntry(const HttpHeader * hdr, http_hdr_type id);
 extern void httpHeaderAddEntry(HttpHeader * hdr, HttpHeaderEntry * e);
+extern void httpHeaderInsertEntry(HttpHeader * hdr, HttpHeaderEntry * e, int pos);
 extern HttpHeaderEntry *httpHeaderEntryClone(const HttpHeaderEntry * e);
 extern void httpHeaderEntryPackInto(const HttpHeaderEntry * e, Packer * p);
 /* store report about current header usage and other stats */
@@ -505,7 +507,7 @@
 extern void requestUnlink(request_t *);
 extern int httpRequestParseHeader(request_t * req, const char *parse_start);
 extern void httpRequestSwapOut(const request_t * req, StoreEntry * e);
-extern void httpRequestPack(const request_t * req, Packer * p);
+extern void httpRequestPackDebug(request_t * req, Packer * p);
 extern int httpRequestPrefixLen(const request_t * req);
 extern int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
 extern int httpRequestHdrAllowedByName(http_hdr_type id);
@@ -1244,7 +1246,7 @@
 extern int delayBytesWanted(delay_id d, int min, int max);
 extern void delayBytesIn(delay_id, int qty);
 extern int delayMostBytesWanted(const MemObject * mem, int max);
-extern delay_id delayMostBytesAllowed(const MemObject * mem);
+extern delay_id delayMostBytesAllowed(const MemObject * mem, size_t * bytes);
 extern void delaySetStoreClient(store_client * sc, delay_id delay_id);
 extern void delayRegisterDelayIdPtr(delay_id * loc);
 extern void delayUnregisterDelayIdPtr(delay_id * loc);
diff -ruN squid-2.5.STABLE10/src/snmp_core.c squid-2.5.STABLE11/src/snmp_core.c
--- squid-2.5.STABLE10/src/snmp_core.c	Wed May  4 12:03:47 2005
+++ squid-2.5.STABLE11/src/snmp_core.c	Sun Jun 19 15:01:21 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_core.c,v 1.51.2.5 2005/05/04 18:03:47 hno Exp $
+ * $Id: snmp_core.c,v 1.51.2.6 2005/06/19 21:01:21 hno Exp $
  *
  * DEBUG: section 49    SNMP support
  * AUTHOR: Glenn Chisholm
@@ -660,7 +660,11 @@
     if (Current[count] == mibTreeEntry->name[count]) {
 	count++;
 	while ((mibTreeEntry) && (count < CurrentLen) && (!mibTreeEntry->parsefunction)) {
-	    mibTreeEntry = snmpTreeEntry(Current[count], count, mibTreeEntry);
+	    mib_tree_entry *nextmibTreeEntry = snmpTreeEntry(Current[count], count, mibTreeEntry);
+	    if (!nextmibTreeEntry)
+		break;
+	    else
+		mibTreeEntry = nextmibTreeEntry;
 	    count++;
 	}
 	debug(49, 5) ("snmpTreeNext: Recursed down to requested object\n");
diff -ruN squid-2.5.STABLE10/src/ssl.c squid-2.5.STABLE11/src/ssl.c
--- squid-2.5.STABLE10/src/ssl.c	Sun Apr 17 18:54:30 2005
+++ squid-2.5.STABLE11/src/ssl.c	Thu Sep  1 14:24:27 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ssl.c,v 1.118.2.11 2005/04/18 00:54:30 hno Exp $
+ * $Id: ssl.c,v 1.118.2.12 2005/09/01 20:24:27 hno Exp $
  *
  * DEBUG: section 26    Secure Sockets Layer Proxy
  * AUTHOR: Duane Wessels
@@ -106,6 +106,8 @@
     sslState->client.fd = -1;
     if (sslState->server.fd == -1)
 	sslStateFree(sslState);
+    else if (!sslState->connected)
+	comm_close(sslState->server.fd);
 }
 
 static void
diff -ruN squid-2.5.STABLE10/src/store.c squid-2.5.STABLE11/src/store.c
--- squid-2.5.STABLE10/src/store.c	Fri Mar 25 19:50:53 2005
+++ squid-2.5.STABLE11/src/store.c	Thu Sep  1 16:42:03 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.c,v 1.544.2.8 2005/03/26 02:50:53 hno Exp $
+ * $Id: store.c,v 1.544.2.9 2005/09/01 22:42:03 hno Exp $
  *
  * DEBUG: section 20    Storage Manager
  * AUTHOR: Harvest Derived
@@ -1232,9 +1232,11 @@
 void
 storeBufferFlush(StoreEntry * e)
 {
-    EBIT_CLR(e->flags, DELAY_SENDING);
-    InvokeHandlers(e);
-    storeSwapOut(e);
+    if (EBIT_TEST(e->flags, DELAY_SENDING)) {
+	EBIT_CLR(e->flags, DELAY_SENDING);
+	InvokeHandlers(e);
+	storeSwapOut(e);
+    }
 }
 
 squid_off_t
diff -ruN squid-2.5.STABLE10/src/store_io.c squid-2.5.STABLE11/src/store_io.c
--- squid-2.5.STABLE10/src/store_io.c	Fri Mar 25 19:50:54 2005
+++ squid-2.5.STABLE11/src/store_io.c	Sat Sep 10 19:11:57 2005
@@ -20,7 +20,7 @@
 storeIOState *
 storeCreate(StoreEntry * e, STIOCB * file_callback, STIOCB * close_callback, void *callback_data)
 {
-    size_t objsize;
+    squid_off_t objsize;
     sdirno dirn;
     SwapDir *SD;
     storeIOState *sio;
@@ -41,7 +41,7 @@
 	store_io_stats.create.select_fail++;
 	return NULL;
     }
-    debug(20, 2) ("storeCreate: Selected dir '%d' for obj size '%ld'\n", dirn, (long int) objsize);
+    debug(20, 2) ("storeCreate: Selected dir '%d' for obj size '%" PRINTF_OFF_T "'\n", dirn, objsize);
     SD = &Config.cacheSwap.swapDirs[dirn];
 
     /* Now that we have a fs to use, call its storeCreate function */
diff -ruN squid-2.5.STABLE10/src/structs.h squid-2.5.STABLE11/src/structs.h
--- squid-2.5.STABLE10/src/structs.h	Wed May  4 12:03:47 2005
+++ squid-2.5.STABLE11/src/structs.h	Sat Sep  3 03:14:43 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.408.2.43 2005/05/04 18:03:47 hno Exp $
+ * $Id: structs.h,v 1.408.2.48 2005/09/03 09:14:43 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -480,6 +480,8 @@
 	int rotateNumber;
     } Log;
     char *adminEmail;
+    char *EmailFrom;
+    char *EmailProgram;
     char *effectiveUser;
     char *effectiveGroup;
     struct {
@@ -609,6 +611,7 @@
 	int relaxed_header_parser;
 	int accel_uses_host_header;
 	int accel_no_pmtu_disc;
+	int global_internal_static;
     } onoff;
     acl *aclList;
     struct {
@@ -837,7 +840,7 @@
 struct _Packer {
     /* protected, use interface functions instead */
     append_f append;
-    vprintf_f vprintf;
+    vprintf_f packer_vprintf;
     void *real_handle;		/* first parameter to real append and vprintf */
 };
 
@@ -1619,6 +1622,7 @@
     unsigned int internal:1;
     unsigned int body_sent:1;
     unsigned int reset_tcp:1;
+    unsigned int must_keepalive:1;
 };
 
 struct _link_list {
diff -ruN squid-2.5.STABLE10/src/tools.c squid-2.5.STABLE11/src/tools.c
--- squid-2.5.STABLE10/src/tools.c	Fri Apr 22 14:45:12 2005
+++ squid-2.5.STABLE11/src/tools.c	Fri Sep 16 15:13:18 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.c,v 1.213.2.15 2005/04/22 20:45:12 hno Exp $
+ * $Id: tools.c,v 1.213.2.20 2005/09/16 21:13:18 hno Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -35,6 +35,10 @@
 
 #include "squid.h"
 
+#if HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#endif
+
 #define DEAD_MSG "\
 The Squid Cache (version %s) died.\n\
 \n\
@@ -106,11 +110,14 @@
     if ((fp = fopen(filename, "w")) == NULL)
 	return;
 #endif
-    fprintf(fp, "From: %s\n", appname);
+    if (Config.EmailFrom)
+	fprintf(fp, "From: %s\n", Config.EmailFrom);
+    else
+	fprintf(fp, "From: %s@%s\n", appname, uniqueHostname());
     fprintf(fp, "To: %s\n", Config.adminEmail);
     fprintf(fp, "Subject: %s\n", dead_msg());
     fclose(fp);
-    snprintf(command, 256, "mail %s < %s", Config.adminEmail, filename);
+    snprintf(command, 256, "%s %s < %s", Config.EmailProgram, Config.adminEmail, filename);
     system(command);		/* XXX should avoid system(3) */
     unlink(filename);
 }
@@ -491,7 +498,10 @@
 	if (strchr(host, '.'))
 	    return host;
     }
-    fatal("Could not determine fully qualified hostname.  Please set 'visible_hostname'\n");
+    if (opt_send_signal == -1)
+	fatal("Could not determine fully qualified hostname.  Please set 'visible_hostname'\n");
+    else
+	return ("localhost");
     return NULL;		/* keep compiler happy */
 }
 
@@ -551,6 +561,11 @@
     if (setuid(Config2.effectiveUserID) < 0)
 	debug(50, 0) ("ALERT: setuid: %s\n", xstrerror());
 #endif
+#if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
+    /* Set Linux DUMPABLE flag */
+    if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1) != 0)
+	debug(50, 2) ("prctl: %s\n", xstrerror());
+#endif
 }
 
 /* Enter a privilegied section */
@@ -563,6 +578,11 @@
 #else
     setuid(0);
 #endif
+#if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
+    /* Set Linux DUMPABLE flag */
+    if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1) != 0)
+	debug(50, 2) ("prctl: %s\n", xstrerror());
+#endif
 }
 
 /* Give up the posibility to gain privilegies.
@@ -582,6 +602,11 @@
     setuid(0);
     if (setuid(uid) < 0)
 	debug(50, 1) ("no_suid: setuid: %s\n", xstrerror());
+#endif
+#if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
+    /* Set Linux DUMPABLE flag */
+    if (Config.coredump_dir && prctl(PR_SET_DUMPABLE, 1) != 0)
+	debug(50, 2) ("prctl: %s\n", xstrerror());
 #endif
 }
 
diff -ruN squid-2.5.STABLE10/src/urn.c squid-2.5.STABLE11/src/urn.c
--- squid-2.5.STABLE10/src/urn.c	Sun Sep  1 06:38:04 2002
+++ squid-2.5.STABLE11/src/urn.c	Thu Sep  1 16:14:45 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: urn.c,v 1.68.2.3 2002/09/01 12:38:04 hno Exp $
+ * $Id: urn.c,v 1.68.2.4 2005/09/01 22:14:45 hno Exp $
  *
  * DEBUG: section 52    URN Parsing
  * AUTHOR: Kostas Anagnostakis
@@ -132,6 +132,7 @@
 	debug(52, 3) ("urnStart: Bad uri-res URL %s\n", urlres);
 	err = errorCon(ERR_URN_RESOLVE, HTTP_NOT_FOUND);
 	err->url = xstrdup(urlres);
+	err->request = requestLink(r);
 	errorAppendEntry(e, err);
 	return;
     }
diff -ruN squid-2.5.STABLE10/src/wais.c squid-2.5.STABLE11/src/wais.c
--- squid-2.5.STABLE10/src/wais.c	Wed Oct 24 02:19:09 2001
+++ squid-2.5.STABLE11/src/wais.c	Sat Sep 10 19:49:54 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: wais.c,v 1.138 2001/10/24 08:19:09 hno Exp $
+ * $Id: wais.c,v 1.138.2.2 2005/09/11 01:49:54 hno Exp $
  *
  * DEBUG: section 24    WAIS Relay
  * AUTHOR: Harvest Derived
@@ -70,10 +70,8 @@
     StoreEntry *entry = waisState->entry;
     debug(24, 4) ("waisTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (entry->store_status == STORE_PENDING) {
-	if (entry->mem_obj->inmem_hi == 0) {
-	    fwdFail(waisState->fwd,
-		errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
-	}
+	fwdFail(waisState->fwd,
+	    errorCon(ERR_READ_TIMEOUT, HTTP_GATEWAY_TIMEOUT));
     }
     comm_close(fd);
 }
@@ -91,7 +89,7 @@
     int bin;
     size_t read_sz;
 #if DELAY_POOLS
-    delay_id delay_id = delayMostBytesAllowed(entry->mem_obj);
+    delay_id delay_id;
 #endif
     if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
 	comm_close(fd);
@@ -100,7 +98,7 @@
     errno = 0;
     read_sz = 4096;
 #if DELAY_POOLS
-    read_sz = delayBytesWanted(delay_id, 1, read_sz);
+    delay_id = delayMostBytesAllowed(entry->mem_obj, &read_sz);
 #endif
     statCounter.syscalls.sock.reads++;
     len = FD_READ_METHOD(fd, buf, read_sz);
@@ -130,20 +128,13 @@
 		waisReadReply, waisState, 0);
 	} else {
 	    ErrorState *err;
-	    EBIT_CLR(entry->flags, ENTRY_CACHABLE);
-	    storeReleaseRequest(entry);
 	    err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
 	    err->xerrno = errno;
-	    err->request = requestLink(waisState->request);
-	    errorAppendEntry(entry, err);
+	    fwdFail(waisState->fwd, err);
 	    comm_close(fd);
 	}
     } else if (len == 0 && entry->mem_obj->inmem_hi == 0) {
-	ErrorState *err;
-	err = errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE);
-	err->xerrno = errno;
-	err->request = requestLink(waisState->request);
-	errorAppendEntry(entry, err);
+	fwdFail(waisState->fwd, errorCon(ERR_ZERO_SIZE_OBJECT, HTTP_SERVICE_UNAVAILABLE));
 	comm_close(fd);
     } else if (len == 0) {
 	/* Connection closed; retrieval done. */
@@ -179,8 +170,7 @@
 	ErrorState *err;
 	err = errorCon(ERR_WRITE_ERROR, HTTP_SERVICE_UNAVAILABLE);
 	err->xerrno = errno;
-	err->request = requestLink(waisState->request);
-	errorAppendEntry(entry, err);
+	fwdFail(waisState->fwd, err);
 	comm_close(fd);
     } else {
 	/* Schedule read reply. */
diff -ruN squid-2.5.STABLE10/src/whois.c squid-2.5.STABLE11/src/whois.c
--- squid-2.5.STABLE10/src/whois.c	Fri Apr 13 18:03:24 2001
+++ squid-2.5.STABLE11/src/whois.c	Thu Sep  1 16:42:03 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: whois.c,v 1.16 2001/04/14 00:03:24 hno Exp $
+ * $Id: whois.c,v 1.16.2.2 2005/09/01 22:42:03 hno Exp $
  *
  * DEBUG: section 75    WHOIS protocol
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -97,25 +97,30 @@
     debug(75, 3) ("whoisReadReply: FD %d read %d bytes\n", fd, len);
     debug(75, 5) ("{%s}\n", buf);
     if (len > 0) {
-	if (0 == mem->inmem_hi)
-	    mem->reply->sline.status = HTTP_OK;
+	if (0 == mem->inmem_hi) {
+	    http_reply *reply = mem->reply;
+	    http_version_t version;
+	    storeBuffer(entry);
+	    httpBuildVersion(&version, 1, 0);
+	    httpReplySetHeaders(reply, version, HTTP_OK, "Gatewaying", "text/plain", -1, -1, -2);
+	    httpReplySwapOut(reply, entry);
+	}
 	fd_bytes(fd, len, FD_READ);
 	kb_incr(&statCounter.server.all.kbytes_in, len);
 	kb_incr(&statCounter.server.http.kbytes_in, len);
 	storeAppend(entry, buf, len);
+	storeBufferFlush(entry);
 	commSetSelect(fd, COMM_SELECT_READ, whoisReadReply, p, Config.Timeout.read);
     } else if (len < 0) {
 	debug(50, 2) ("whoisReadReply: FD %d: read failure: %s.\n",
 	    fd, xstrerror());
 	if (ignoreErrno(errno)) {
 	    commSetSelect(fd, COMM_SELECT_READ, whoisReadReply, p, Config.Timeout.read);
-	} else if (mem->inmem_hi == 0) {
+	} else {
 	    ErrorState *err;
 	    err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
 	    err->xerrno = errno;
 	    fwdFail(p->fwd, err);
-	    comm_close(fd);
-	} else {
 	    comm_close(fd);
 	}
     } else {
diff -ruN squid-2.5.STABLE10/src/win32.c squid-2.5.STABLE11/src/win32.c
--- squid-2.5.STABLE10/src/win32.c	Tue Jun 25 05:44:36 2002
+++ squid-2.5.STABLE11/src/win32.c	Tue Sep 20 05:52:25 2005
@@ -1,6 +1,6 @@
 
 /*
- * $Id: win32.c,v 1.4.2.1 2002/06/25 11:44:36 hno Exp $
+ * $Id: win32.c,v 1.4.2.2 2005/09/20 11:52:25 serassio Exp $
  *
  * * * * * * * * Legal stuff * * * * * * *
  *
@@ -58,8 +58,12 @@
 	    return _WIN_OS_WINXP;
 	}
 	if ((osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion == 2)) {
-	    WIN32_OS_string = xstrdup("Windows .NET");
+	    WIN32_OS_string = xstrdup("Windows Server 2003");
 	    return _WIN_OS_WINNET;
+	}
+	if ((osvi.dwMajorVersion == 6) && (osvi.dwMinorVersion == 0)) {
+	    WIN32_OS_string = xstrdup("Windows code name \"Longhorn\"");
+	    return _WIN_OS_WINLON;
 	}
 	break;
     case VER_PLATFORM_WIN32_WINDOWS:
