diff -ruN squid-2.5.STABLE10/ChangeLog squid-2.5.STABLE11-RC2/ChangeLog --- squid-2.5.STABLE10/ChangeLog Mon May 16 16:38:57 2005 +++ squid-2.5.STABLE11-RC2/ChangeLog Fri Sep 16 16:10:14 2005 @@ -1,3 +1,66 @@ +Changes to squid-2.5.STABLE11 (not yet released) + + - [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) + 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-RC2/RELEASENOTES.html --- squid-2.5.STABLE10/RELEASENOTES.html Mon May 16 16:41:25 2005 +++ squid-2.5.STABLE11-RC2/RELEASENOTES.html Fri Sep 16 16:11:48 2005 @@ -2,12 +2,12 @@ - Squid 2.5 release notes + Squid 2.5.STABLE11 release notes -

Squid 2.5 release notes

+

Squid 2.5.STABLE11 release notes

-

Squid Developers

$Id: release-2.5.html,v 1.1.2.54 2005/05/11 15:00:58 hno Exp $ +

Squid Developers

$Id: release-2.5.html,v 1.1.2.58 2005/09/16 22:10:14 hno Exp $
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 @@
acl req_hdr/resp_hdr

New acl types in 2.5.STABLE7 to match arbitrary HTTP headers, useful to block certain malware/spyware etc.

relaxed_http_parser

New directive in 2.5.STABLE8 to control how strict the HTTP parser should be.

retry_on_error

New directive in 2.5.STABLE9 to aggressive retry requests on errors (was the default in earlier versions)

+
acl dst

No longer matches invalid hosts. Was previously using the IP address "255.255.255.255" on invalid hosts.

@@ -179,8 +180,6 @@
Bug #513

squid -F is starting server sockets to early

Bug -#518

wb_auth fails on TRU64 and probably other 64 bit platforms

-
Bug #500

delay_pools stops working on -k reconfigure

Bug #457

does not handle swap.state corruption properly

@@ -413,6 +412,25 @@ other related minor bugfixes.
  • a number of other minor and cosmetic bugfixes. See the list of squid-2.5.STABLE9 patches and the +ChangeLog file for details.
  • + +

    + +

    13. Key changes squid-2.5.STABLE10 to 2.5.STABLE11:

    + +

    +

    diff -ruN squid-2.5.STABLE10/configure squid-2.5.STABLE11-RC2/configure --- squid-2.5.STABLE10/configure Mon May 16 16:41:14 2005 +++ squid-2.5.STABLE11-RC2/configure Fri Sep 16 16:11:37 2005 @@ -1022,7 +1022,7 @@ # Define the identity of the package. PACKAGE=squid -VERSION=2.5.STABLE10 +VERSION=2.5.STABLE11-RC2 cat >> confdefs.h <&6 echo "configure:1079: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. @@ -1103,11 +1103,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:1112: 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 +1138,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:1142: 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 +1189,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:1193: 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 +1221,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:1225: 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 +1232,12 @@ cat > conftest.$ac_ext << EOF -#line 1235 "configure" +#line 1236 "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:1241: \"$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 +1263,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:1267: 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:1272: 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 +1277,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:1281: \"$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 +1296,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:1300: 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 +1335,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:1339: checking for style of include used by $am_make" >&5 am__include='#' am__quote= _am_result=none @@ -1368,7 +1369,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:1373: 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 +1437,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:1441: 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:1444: 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 +1452,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:1456: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && + test -f conftest.o && { (eval echo configure:1457: \"$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:1462: \"$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:1464: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && + test -f conftest.o && { (eval echo configure:1465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; then # cc works too. : @@ -1506,7 +1507,7 @@ fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1510: checking host system type" >&5 +echo "configure:1511: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1535,7 +1536,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:1540: 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 +1571,12 @@ echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1574: checking for Cygwin environment" >&5 +echo "configure:1575: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -1603,19 +1604,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:1608: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -1634,7 +1635,7 @@ echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1638: checking for executable suffix" >&5 +echo "configure:1639: 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 +1645,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:1649: \"$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 +1666,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:1670: 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:1676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -2637,16 +2638,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 +2664,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 +3044,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:3048: 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 +3059,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < 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:3069: \"$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 +3076,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < 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:3086: \"$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 +3093,13 @@ rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < 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:3103: \"$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 +3127,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:3131: 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 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:3141: \"$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 +3271,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:3275: 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 +3286,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < 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:3296: \"$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 +3303,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < 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:3313: \"$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 +3320,13 @@ rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < 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:3330: \"$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 +3362,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:3366: 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 +3417,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:3421: 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 +3445,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:3449: 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 +3468,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:3472: 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 +3504,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:3508: 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 +3540,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:3544: 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 +3576,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:3580: 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 +3612,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:3616: 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 +3648,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:3652: 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 +3684,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:3688: 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 +3720,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:3724: 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 +3756,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:3760: 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 +3816,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:3820: 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 < #include <$ac_hdr> @@ -3813,7 +3829,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:3833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -3838,7 +3854,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:3858: 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 +3862,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3877: \"$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 +3895,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:3899: 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 +3903,7 @@ ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3918: \"$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 +3937,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:3941: 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 < #include @@ -3934,7 +3950,7 @@ #include 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:3954: \"$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 +3967,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 @@ -3969,7 +3985,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 @@ -3990,7 +4006,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4001,7 +4017,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:4021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -4043,6 +4059,7 @@ ip_fil_compat.h \ ip_fil.h \ ip_nat.h \ + ipl.h \ libc.h \ limits.h \ linux/netfilter_ipv4.h \ @@ -4060,6 +4077,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 +4099,7 @@ sys/mount.h \ sys/msg.h \ sys/param.h \ + sys/prctl.h \ sys/resource.h \ sys/select.h\ sys/socket.h \ @@ -4109,17 +4128,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:4132: 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 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:4142: \"$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 +4166,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4151: checking for working const" >&5 +echo "configure:4170: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4222,14 +4241,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:4245: 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 < #include @@ -4240,11 +4259,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:4244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4263: \"$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 < #include @@ -4255,7 +4274,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:4259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4275,7 +4294,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4311: \"$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 +4332,20 @@ echo $ac_n "checking if ANSI prototypes work""... $ac_c" 1>&6 -echo "configure:4317: checking if ANSI prototypes work" >&5 +echo "configure:4336: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ansi_prototypes="yes" else @@ -4348,13 +4367,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:4371: 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 < #include @@ -4363,7 +4382,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:4386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_tm_gmoff="yes" else @@ -4385,13 +4404,13 @@ fi echo $ac_n "checking for struct mallinfo""... $ac_c" 1>&6 -echo "configure:4389: checking for struct mallinfo" >&5 +echo "configure:4408: 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 < #if HAVE_MALLOC_H @@ -4409,7 +4428,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:4432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_mallinfo="yes" else @@ -4431,13 +4450,13 @@ fi echo $ac_n "checking for extended mallinfo""... $ac_c" 1>&6 -echo "configure:4435: checking for extended mallinfo" >&5 +echo "configure:4454: 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 < #include @@ -4446,7 +4465,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:4469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ext_mallinfo="yes" else @@ -4468,13 +4487,13 @@ fi echo $ac_n "checking for struct rusage""... $ac_c" 1>&6 -echo "configure:4472: checking for struct rusage" >&5 +echo "configure:4491: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_rusage="yes" else @@ -4509,13 +4528,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:4532: 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 < #include @@ -4534,7 +4553,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:4557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ip_hl="yes" else @@ -4556,7 +4575,7 @@ fi echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4560: checking size of void *" >&5 +echo "configure:4579: 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 +4583,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4575,7 +4594,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:4598: \"$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 +4614,7 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4599: checking size of short" >&5 +echo "configure:4618: 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 +4622,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4614,7 +4633,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:4637: \"$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 +4653,7 @@ echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4638: checking size of int" >&5 +echo "configure:4657: 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 +4661,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4653,7 +4672,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:4676: \"$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 +4692,7 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4677: checking size of long" >&5 +echo "configure:4696: 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 +4700,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4692,7 +4711,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:4715: \"$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 +4731,7 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4716: checking size of long long" >&5 +echo "configure:4735: 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 +4739,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4731,7 +4750,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:4754: \"$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 +4770,7 @@ echo $ac_n "checking size of __int64""... $ac_c" 1>&6 -echo "configure:4755: checking size of __int64" >&5 +echo "configure:4774: 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 +4778,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4785,7 +4804,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:4808: \"$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 +4824,7 @@ echo $ac_n "checking size of int16_t""... $ac_c" 1>&6 -echo "configure:4809: checking size of int16_t" >&5 +echo "configure:4828: 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 +4832,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4839,7 +4858,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:4862: \"$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 +4878,7 @@ echo $ac_n "checking size of uint16_t""... $ac_c" 1>&6 -echo "configure:4863: checking size of uint16_t" >&5 +echo "configure:4882: 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 +4886,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4893,7 +4912,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:4916: \"$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 +4932,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:4936: 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 +4940,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4947,7 +4966,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:4970: \"$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 +4986,7 @@ echo $ac_n "checking size of int32_t""... $ac_c" 1>&6 -echo "configure:4971: checking size of int32_t" >&5 +echo "configure:4990: 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 +4994,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5001,7 +5020,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:5024: \"$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 +5040,7 @@ echo $ac_n "checking size of uint32_t""... $ac_c" 1>&6 -echo "configure:5025: checking size of uint32_t" >&5 +echo "configure:5044: 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 +5048,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5055,7 +5074,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:5078: \"$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 +5094,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:5098: 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 +5102,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5109,7 +5128,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:5132: \"$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 +5148,7 @@ echo $ac_n "checking size of int64_t""... $ac_c" 1>&6 -echo "configure:5133: checking size of int64_t" >&5 +echo "configure:5152: 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 +5156,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5163,7 +5182,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:5186: \"$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 +5202,7 @@ echo $ac_n "checking size of uint64_t""... $ac_c" 1>&6 -echo "configure:5187: checking size of uint64_t" >&5 +echo "configure:5206: 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 +5210,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5217,7 +5236,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:5240: \"$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 +5256,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:5260: 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 +5264,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5271,7 +5290,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:5294: \"$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 +5312,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:5316: 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 <&6 -echo "configure:5346: checking for int16_t" >&5 +echo "configure:5365: 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 <&6 -echo "configure:5396: checking for u_int16_t" >&5 +echo "configure:5415: 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 <&6 -echo "configure:5445: checking for u_int16_t" >&5 +echo "configure:5464: 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 <&6 -echo "configure:5494: checking for u_int16_t" >&5 +echo "configure:5513: 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 <&6 -echo "configure:5544: checking for int32_t" >&5 +echo "configure:5563: 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 <&6 -echo "configure:5593: checking for int32_t" >&5 +echo "configure:5612: 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 <&6 -echo "configure:5643: checking for u_int32_t" >&5 +echo "configure:5662: 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 <&6 -echo "configure:5692: checking for u_int32_t" >&5 +echo "configure:5711: 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 <&6 -echo "configure:5741: checking for u_int32_t" >&5 +echo "configure:5760: 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 <&6 -echo "configure:5791: checking for int64_t" >&5 +echo "configure:5810: 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 <&6 -echo "configure:5840: checking for int64_t" >&5 +echo "configure:5859: 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 <&6 -echo "configure:5889: checking for int64_t" >&5 +echo "configure:5908: 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 <&6 -echo "configure:5939: checking for u_int64_t" >&5 +echo "configure:5958: 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 <&6 -echo "configure:5988: checking for u_int64_t" >&5 +echo "configure:6007: 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 <&6 -echo "configure:6037: checking for u_int64_t" >&5 +echo "configure:6056: 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 <&6 -echo "configure:6086: checking for int64_t" >&5 +echo "configure:6105: 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 <&6 -echo "configure:6136: checking for pid_t" >&5 +echo "configure:6155: 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 < #if STDC_HEADERS @@ -6165,12 +6184,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:6169: checking for size_t" >&5 +echo "configure:6188: 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 < #if STDC_HEADERS @@ -6198,12 +6217,12 @@ fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:6202: checking for ssize_t" >&5 +echo "configure:6221: 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 < #if STDC_HEADERS @@ -6231,12 +6250,12 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:6235: checking for off_t" >&5 +echo "configure:6254: 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 < #if STDC_HEADERS @@ -6264,12 +6283,12 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:6268: checking for mode_t" >&5 +echo "configure:6287: 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 < #if STDC_HEADERS @@ -6297,12 +6316,12 @@ fi echo $ac_n "checking for fd_mask""... $ac_c" 1>&6 -echo "configure:6301: checking for fd_mask" >&5 +echo "configure:6320: 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 < #if STDC_HEADERS @@ -6331,7 +6350,7 @@ echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:6335: checking size of off_t" >&5 +echo "configure:6354: 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 +6358,7 @@ ac_cv_sizeof_off_t=4 else cat > conftest.$ac_ext < @@ -6365,7 +6384,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:6388: \"$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 +6404,7 @@ echo $ac_n "checking size of size_t""... $ac_c" 1>&6 -echo "configure:6389: checking size of size_t" >&5 +echo "configure:6408: 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 +6412,7 @@ ac_cv_sizeof_size_t=4 else cat > conftest.$ac_ext < @@ -6419,7 +6438,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:6442: \"$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 +6461,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:6465: 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 < 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:6477: \"$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 +6494,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:6479: checking for alloca" >&5 +echo "configure:6498: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6531: \"$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 +6559,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:6563: 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 <&6 -echo "configure:6574: checking for $ac_func" >&5 +echo "configure:6593: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6621: \"$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 +6644,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:6648: 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 +6652,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6675: \"$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 +6695,13 @@ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:6680: checking for socklen_t" >&5 +echo "configure:6699: 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 < #include @@ -6713,13 +6732,13 @@ fi echo $ac_n "checking for mtyp_t""... $ac_c" 1>&6 -echo "configure:6717: checking for mtyp_t" >&5 +echo "configure:6736: 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 < #include @@ -6747,7 +6766,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:6770: 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 +6774,14 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6785: \"$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 +6809,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:6813: 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 +6817,14 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6828: \"$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 +6853,13 @@ echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6 -echo "configure:6838: checking for unix domain sockets" >&5 +echo "configure:6857: 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 < @@ -6855,7 +6874,7 @@ ; return 0; } EOF -if { (eval echo configure:6859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* squid_cv_unixsocket=yes else @@ -6879,7 +6898,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:6902: 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 +6906,14 @@ ac_save_LIBS="$LIBS" LIBS="-lgnumalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6917: \"$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 +6956,7 @@ *) echo $ac_n "checking for main in -lmalloc""... $ac_c" 1>&6 -echo "configure:6941: checking for main in -lmalloc" >&5 +echo "configure:6960: 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 +6964,14 @@ ac_save_LIBS="$LIBS" LIBS="-lmalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6975: \"$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 +7004,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:7008: 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 +7012,14 @@ ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7023: \"$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 +7047,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:7051: 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 +7055,14 @@ ac_save_LIBS="$LIBS" LIBS="-lregex $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7066: \"$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 +7083,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:7087: 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 +7091,7 @@ ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7106: \"$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 +7136,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:7140: 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 +7144,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7159: \"$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 +7171,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:7175: 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 +7179,7 @@ ac_save_LIBS="$LIBS" LIBS="-l44bsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7194: \"$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 +7222,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:7226: 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 +7230,14 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7241: \"$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 +7268,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:7272: 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 +7276,14 @@ ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7287: \"$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 +7312,7 @@ echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7297: checking for crypt in -lcrypt" >&5 +echo "configure:7316: 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 +7320,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7335: \"$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 +7355,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:7359: 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 +7363,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7378: \"$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 +7422,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:7426: 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 +7430,14 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7441: \"$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 +7468,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:7472: 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 +7476,7 @@ ac_save_LIBS="$LIBS" LIBS="-lrt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7491: \"$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 +7519,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:7523: 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 +7527,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7542: \"$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 +7569,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:7573: 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 +7577,14 @@ ac_save_LIBS="$LIBS" LIBS="-llber $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7588: \"$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 +7738,7 @@ mktime \ mstats \ poll \ + prctl \ pthread_attr_setscope \ pthread_setschedparam \ pthread_attr_setschedparam \ @@ -7752,12 +7772,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7756: checking for $ac_func" >&5 +echo "configure:7776: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7804: \"$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 +7826,7 @@ echo $ac_n "checking if setresuid is implemented""... $ac_c" 1>&6 -echo "configure:7810: checking if setresuid is implemented" >&5 +echo "configure:7830: 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 +7834,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -7827,7 +7847,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:7851: \"$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 +7892,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:7896: 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 +7900,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -7898,7 +7918,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:7922: \"$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 +7942,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:7946: 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 +7950,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -7948,7 +7968,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:7972: \"$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 +7993,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:7997: 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 +8030,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:8047: 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 +8068,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:8072: 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 +8102,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:8106: 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 < #include @@ -8087,7 +8116,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:8120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* USE_GNUREGEX="no" else @@ -8119,12 +8148,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8123: checking for $ac_func" >&5 +echo "configure:8152: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8180: \"$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 +8204,12 @@ echo $ac_n "checking Default FD_SETSIZE value""... $ac_c" 1>&6 -echo "configure:8179: checking Default FD_SETSIZE value" >&5 +echo "configure:8208: checking Default FD_SETSIZE value" >&5 if test "$cross_compiling" = yes; then DEFAULT_FD_SETSIZE=256 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8238: \"$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 @@ -8224,7 +8253,7 @@ 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:8257: checking Maximum number of filedescriptors we can open" >&5 TLDFLAGS="$LDFLAGS" case $host in i386-unknown-freebsd*) @@ -8236,7 +8265,7 @@ SQUID_MAXFD=256 else cat > conftest.$ac_ext < @@ -8296,7 +8325,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:8329: \"$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 @@ -8323,12 +8352,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:8356: checking Default UDP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -8349,7 +8378,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:8382: \"$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 +8397,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:8401: checking Default UDP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -8394,7 +8423,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:8427: \"$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 +8442,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:8446: checking Default TCP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -8439,7 +8468,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:8472: \"$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 +8491,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:8495: checking Default TCP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -8488,7 +8517,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:8521: \"$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 +8539,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:8543: 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 < 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:8555: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_needs_sys_errlist="no" else @@ -8544,16 +8573,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:8577: checking for libresolv _dns_ttl_ hack" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8586: \"$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 +8598,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:8602: checking if inet_ntoa() actually works" >&5 if test "$cross_compiling" = yes; then INET_NTOA_RESULT="broken" else cat > conftest.$ac_ext < @@ -8593,7 +8622,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:8626: \"$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 +8648,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:8652: checking for working statvfs() interface" >&5 cat > conftest.$ac_ext < @@ -8638,7 +8667,7 @@ ; return 0; } EOF -if { (eval echo configure:8642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_func_statvfs=yes else @@ -8658,12 +8687,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:8691: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8719: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_nsaddr_list="yes" else @@ -8708,12 +8737,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:8741: 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 <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8769: \"$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-RC2/configure.in --- squid-2.5.STABLE10/configure.in Mon May 16 16:41:14 2005 +++ squid-2.5.STABLE11-RC2/configure.in Fri Sep 16 16:11:37 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.99 2005/09/16 22:00:42 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-RC2) AM_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.251.2.92 $)dnl +AC_REVISION($Revision: 1.251.2.99 $)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. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ACCESS_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_ACCESS_DENIED Thu Sep 1 16:37:29 2005 @@ -0,0 +1,25 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áðáãïñåýåôáé ç Ðñüóâáóç. + +

      +Ïé ñõèìßóåéò ôïõ ìç÷áíéóìïý ðñüóâáóçò áðïôñÝðïõí ôçí +ïëïêëÞñùóç ôçò áéôÞóåùò óáò. ÅðéêïéíùíÞóôå ìå ôïí ðáñï÷Ýá +õðçñåóéþí, áí íïìßæåôå üôé áõôü äåí ðñÝðåé íá óõìâáßíåé. +

    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. + diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CACHE_ACCESS_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_CACHE_ACCESS_DENIED Thu Sep 1 16:37:29 2005 @@ -0,0 +1,34 @@ + + +ÓÖÁËÌÁ: Áðáãïñåýåôáé ç Ðñüóâáóç óôï ÌåóïëáâçôÞ + + + +

    ÓÖÁËÌÁ

    +

    Ç Ðñüóâáóç óôï ÌåóïëáâçôÞ Áðáãïñåýåôáé

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áðáãïñåýåôáé ç Ðñüóâáóç óôï ÌåóïëáâçôÞ. + +
    +

    + +

    ËõðÜìáé áëëÜ äåí óáò åðéôñÝðåôáé ç ðñüóâáóç óôç óåëßäá: +

        %U
    +áðü áõôüí ôïí ìåóïëáâçôÞ, ìÝ÷ñé íá ðéóôïðïéÞóåôå ôïí åáõôü óáò. +

    + +

    +Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå öõëëïìåôñçôÞ Netscape ÝêäïóÞò ôïõëÜ÷éóôïí 2.0, ôïí +Microsoft Internet Explorer 3.0 Þ ïðïéïíäÞðïôå öõëëïìåôñçôÞ óõìâáôü ìå HTTP/1.1. +ÅðéêïéíùíÞóôå ìå ôïí äéá÷åéñéóôÞ ôïõ ìåóïëáâçôÞ óáò +áí áíôéìåôùðßæåôå äõóêïëßá íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò Þ íá +áëëÜîôå ôïí êùäéêü óáò. +

    diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_CACHE_MGR_ACCESS_DENIED Thu Sep 1 16:37:29 2005 @@ -0,0 +1,34 @@ + + +ÓÖÁËÌÁ: Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç + + + +

    ÓÖÁËÌÁ

    +

    Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç ôïõ ÌåóïëáâçôÞ

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áðáãïñåýåôáé ç Ðñüóâáóç óôç Äéá÷åßñéóç ôïõ ÌåóïëáâçôÞ. + +
    +

    + +

    ËõðÜìáé áëëÜ äåí óáò åðéôñÝðåôáé Þ ðñüóâáóç óôï: +

        %U
    +ìÝ÷ñé íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò. +

    + +

    Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå öõëëïìåôñçôÞ Netscape Ýêäïóçò ôïõëÜ÷éóôïí 2.0, ôïí +Microsoft Internet Explorer 3.0 Þ ïðïéïíäÞðïôå öõëëïìåôñçôÞ óõìâáôü ìå HTTP/1.1. +ÅðéêïéíùíÞóôå ìå ôïí äéá÷åéñéóôÞ ôïõ ìåóïëáâçôÞ óáò +áí áíôéìåôùðßæåôå äõóêïëßá íá ðéóôïðïéÞóåôå ôïí ëïãáñéáóìü óáò Þ +áí åßóôå ï äéá÷åéñéóôÞò, äéáâÜóôå ôçí ôåêìçñßùóç ôïõ Squid +ó÷åôéêÜ ìå ôç äéá÷åßñéóç ôïõ êáé êïéôÜîôå ôá çìåñïëüãéá ôïõ ðñïãñÜììáôïò +ãéá ðéï ëåðôïìåñåßò áíáöïñÝò óöÜëìáôïò.

    diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CANNOT_FORWARD squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_CANNOT_FORWARD Thu Sep 1 16:37:29 2005 @@ -0,0 +1,29 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áäýíáôç ç ðñïþèçóç ôçò áéôÞóåùò óáò áõôÞ ôç óôéãìÞ. + +
    + +

    +Ôï áßôçìá óáò äåí Þôáí äõíáôü íá ðñïùèçèåß óôïí áñ÷éêü åîõðçñåôçôÞ +áëëÜ êáé ïýôå óå êÜðïéï ãïíéêü ìåóïëáâçôÞ. Ç ðéï ðéèáíÝò áéôßåò åßíáé: +

      +
    • Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ äåí åðéôñÝðåé íá ãßíïíôáé áð åõèåßáò + óõíäÝóåéò óôïõò áñ÷éêïýò åîõðçñåôçôÝò, êáé +
    • ¼ëïé ïé äéáèÝóéìïé ãïíéêïß ìåóïëáâçôÝò, äåí åßíáé äéáèÝóéìïé. +
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_CONNECT_FAIL squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_CONNECT_FAIL Thu Sep 1 16:37:29 2005 @@ -0,0 +1,27 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áðïôõ÷ßá óýíäåóçò + +
    + +

    +Ôï óýóôçìá åíçìÝñùóå üôé: +

        %E
    + +

    +Ï áðïìáêñõóìÝíïò õðïëïãéóôÞò (Þ äßêôõï) ìÜëëïí äåí ëåéôïõñãåß. ÄïêéìÜóôå áñãüôåñá. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_DNS_FAIL squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_DNS_FAIL Thu Sep 1 16:37:29 2005 @@ -0,0 +1,30 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

    +Äåí Þôáí äõíáôüí íá åîáêñéâùèåß ç äéåýèõíóç IP ãéá ôï üíïìá +%H +
    + +

    +Ï åîõðçñåôçôÞò ïíïìÜôùí åíçìÝñùóå üôé: +

    +%z +
    + +

    +Áõôü óçìáßíåé üôé: +

    + Ï ìåóïëáâçôÞò äåí ìðüñåóå íá åîáêñéâþóåé ôçí äéåýèõíóç ðïõ ðëçêôñïëïãÞóáôå. 
    + ÅëÝãîôå áí ç äéåýèõíóç åßíáé óùóôÞ. 
    +
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FORWARDING_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FORWARDING_DENIED Thu Sep 1 16:37:29 2005 @@ -0,0 +1,25 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áðáãïñåýåôáé ç ðñïþèçóç. + +
    + +

    +Ï ìåóïëáâçôÞò äåí èá ðñïùèÞóåé ôï áßôçìá óáò ãéáôß ðñïóðáèåß íá +åðéâÜëåé ìéá óõããåíéêÞ ó÷Ýóç. ºóùò ï ðåëÜôçò óôï %i åßíáé Ýíáò ìåóïëáâçôÞò +ï ïðïßïò äåí åßíáé óùóôÜ ñõèìéóìÝíïò. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_DISABLED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_DISABLED Thu Sep 1 16:37:30 2005 @@ -0,0 +1,23 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Ôï ðñùôüêïëëï FTP åßíáé áðåíåñãïðïéçìÝíï + +
    + +

    +Áõôüò ï ìåóïëáâçôÞò äåí õðïóôçñßæåé FTP. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_FAILURE squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_FAILURE Thu Sep 1 16:37:30 2005 @@ -0,0 +1,19 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç +ÐñïÝêõøå óöÜëìá óôï ðñùôüêïëëï FTP: +%U +

    +Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP: +

    %f
    +êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç +
    %F
    +
    %g
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_FORBIDDEN squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_FORBIDDEN Thu Sep 1 16:37:30 2005 @@ -0,0 +1,19 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç +ÐñïÝêõøå óöÜëìá åîáêñßâùóçò FTP: +%U +

    +Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP: +

    %f
    +êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç +
    %F
    +
    %g
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_NOT_FOUND squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_NOT_FOUND Thu Sep 1 16:37:30 2005 @@ -0,0 +1,22 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Ç áêüëïõèç äéåýèõíóç äåí âñÝèçêå: +%U +

    +Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP: +

    %f
    +êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç +
    %F
    +
    %g
    +

    +Áõôü ìðïñåß íá óõìâáßíåé áðü ìéá äéåýèõíóç FTP ìå áðüëõôÞ äéáäñïìÞ (ôï ïðïßï +äåí åßíáé óýìöùíï ìå ôï RFC 1738). Áí áõôÞ åßíáé ç áéôßá, ôï áñ÷åßï èá ôï +âñåßôå óôï %B. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_CREATED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_PUT_CREATED Thu Sep 1 16:37:30 2005 @@ -0,0 +1,8 @@ + + +Ç åíôïëÞ FTP PUT Þôáí åðéôõ÷Þò: Ôï áñ÷åßï äçìéïõñãÞèçêå + + +

    Ç ëåéôïõñãßá ïëïêëçñþèçêå ìå åðéôõ÷ßá

    +

    Ôï áñ÷åßï äçìéïõñãÞèçêå

    +
    diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_ERROR squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_PUT_ERROR Thu Sep 1 16:37:30 2005 @@ -0,0 +1,26 @@ + + +ÓÖÁËÌÁ: Ç ìåôáöüñôùóç FTP áðÝôõ÷å + + +

    ÓÖÁËÌÁ

    +

    Ç åíôïëÞ FTP PUT/upload áðÝôõ÷å

    +
    +

    +Êáôá ôç äéÜñêåéá ìåôáöüñôùóçò óôç äéåýèõíóç: +%U +

    +Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP: +

    
    +        %f
    +
    +êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç +
    
    +        %F
    +
    +

    +Áõôü óçìáßíåé üôé: +

    +ÅëÝãîôå ôç äéáäñïìÞ, ôá äéêáéþìáôá, ôïí åëåýèåñï ÷þñï êáé îáíáäïêéìÜóôå.
    +
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_PUT_MODIFIED squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_PUT_MODIFIED Thu Sep 1 16:37:30 2005 @@ -0,0 +1,8 @@ + + +Ç åíôïëÞ FTP PUT Þôáí åðéôõ÷Þò Ôï áñ÷åßï áíáíåþèçêå + + +

    Ç ëåéôïõñãßá ïëïêëçñþèçêå ìå åðéôõ÷ßá

    +

    Ôï áñ÷åßï áíáíåþèçêå

    +
    diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_FTP_UNAVAILABLE squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_FTP_UNAVAILABLE Thu Sep 1 16:37:30 2005 @@ -0,0 +1,18 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Ï åîõðçñåôçôÞò FTP Þôáí ðïëý áðáó÷ïëçìÝíïò êáôÜ ôçí áíÜêôçóç ôïõ: +%U +

    +Ôï Squid Ýóôåéëå ôç áêüëïõèç åíôïëÞ FTP: +

    %f
    +êáé Ýëáâå ôçí áêüëïõèç áðÜíôçóç +
    %F
    +
    %g
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_REQ squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_INVALID_REQ Thu Sep 1 16:37:30 2005 @@ -0,0 +1,33 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôç ðñïóðÜèåéá åðåîåñãáóßáò ôçò áßôçóçò: +

    +%R
    +
    +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +¶êõñç Áßôçóç + +
    + +

    +ÊÜðïéï óçìåßï ôçò áßôçóçò HTTP åßíáé Üêõñï. ÐéèáíÜ ðñïâëÞìáôá: +

      +
    • ÅëëéðÞò Þ Üãíùóôç ìÝèïäïò áßôçóçò +
    • ÅëëéðÞò Äéåýèõíóç (URL) +
    • ÅëëéðÝò áíáãíùñéóôéêü HTTP (HTTP/1.0) +
    • Ç áßôçóç åßíáé õðåñìåãÝèçò +
    • ¸ëåéðåò Ðåñéå÷üìåíï- ÌÞêïò ãéá ôéò áéôÞóåéò POST Þ PUT +
    • ¶êõñïé ÷áñáêôÞñåò óôï üíïìá õðïëïãéóôÞ, ïé õðïãåãñáììÝíåò äåí åðéôñÝðïíôáé +
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_RESP squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_INVALID_RESP Thu Sep 1 16:37:30 2005 @@ -0,0 +1,29 @@ + + +ERROR: The requested URL could not be retrieved + + +

    ERROR

    +

    The requested URL could not be retrieved

    +
    +

    +While trying to process the request: +

    +%R
    +
    +

    +The following error was encountered: +

      +
    • + +Invalid Response + +
    + +

    +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. + +

    Your cache administrator is %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_INVALID_URL squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_INVALID_URL Thu Sep 1 16:37:30 2005 @@ -0,0 +1,30 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +ËáíèáóìÝíç Äéåýèõíóç + +
    + +

    +ÕðÜñ÷åé ðñüâëçìá ìå ôçí áéôïýìåíç äéåýèõíóç. ÐéèáíÝò áéôßåò: +Some aspect of the requested URL is incorrect. Possible problems: +

      +
    • ÅëëéðÝò Þ ëáíèáóìÝíï ðñùôüêïëëï ðñüóâáóçò (èá ðñÝðåé íá åßíáé `http://'' Þ ðáñüìïéï) +
    • ÅëëéðÝò üíïìá õðïëïãéóôÞ +
    • ËáíèáóìÝíïé ÷áñáêôÞñåò äéáöõãÞò óôç äéåýèõíóç +
    • ËáíèáóìÝíïé ÷áñáêôÞñåò óôï üíïìá õðïëïãéóôÞ ' ïé õðïãñáììßóåéò äåí åðéôñÝðïíôáé +
    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_LIFETIME_EXP squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_LIFETIME_EXP Thu Sep 1 16:37:30 2005 @@ -0,0 +1,24 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +ÊáôÜ ôçí ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +¸ëçîå ï ×ñüíïò ÓýíäåóÞò + +
    + +

    +Ôï Squid ôåñìÜôéóå ôçí áßôçóç åðåéäÞ îåðÝñáóå ôïí ìÝãéóôï ÷ñüíï +óýíäåóçò. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_NO_RELAY squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_NO_RELAY Thu Sep 1 16:37:30 2005 @@ -0,0 +1,23 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Äåí õðÜñ÷åé Wais Relay + +
    + +

    +Äåí Ý÷åé êáèïñéóôåß õðïëïãéóôÞò WAIS Relay ãéá áõôü ôï ìåóïëáâçôÞ! Ðáñáðïíåèåßôå óôïí Äéá÷åéñéóôÞ. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ONLY_IF_CACHED_MISS squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_ONLY_IF_CACHED_MISS Thu Sep 1 16:37:30 2005 @@ -0,0 +1,28 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Äåí âñÝèçêå Ýãêõñï áíôßãñáöï óôçí ìíÞìç êáé Ý÷åé êáèïñéóôåß ç åðéëïãÞ +only-if-cached. + +
    + +

    + +ÆçôÞóáôå ìéá óåëßäá ìå åíåñãïðïéçìÝíç ôçí åðéëïãÞ only-if-cached. +Äåí âñÝèçêå áíôßãñáöï óôç ìíÞìç, Þ Þôáí áðáñáßôçôç ç åðáíáöüñôùóÞ +ôïõ ðïõ áðáãïñåýåôáé áðü ôçí åðéëïãÞ only-if-cached. + +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_READ_ERROR squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_READ_ERROR Thu Sep 1 16:37:30 2005 @@ -0,0 +1,28 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +ÓöÜëìá ÁíÜãíùóçò + +
    + +

    +Ôï óýóôçìá åðÝóôñåøå: +

        %E
    + +

    +ÐñïÝêõøå óöÜëìá êáôÜ ôçí áíÜãíùóç äåäïìÝíùí áðü ôï äßêôõï. Ðáñáêáëþ +îáíáäïêéìÜóôå ôï áßôçìá óáò. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_READ_TIMEOUT squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_READ_TIMEOUT Thu Sep 1 16:37:30 2005 @@ -0,0 +1,28 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +

      +
    • + +ÔÝëïò ×ñüíïõ ÁíÜãíùóçò + +
    + +

    +Ôï óýóôçìá åðÝóôñåøå: +

        %E
    + +

    +ÐñïÝêõøå ÷ñïíéêü üñéï êáôÜ ôçí áíÜãíùóç äåäïìÝíùí áðü ôï äßêôõï. Ôï äßêôõï +Þ ï åîõðçñåôçôÞò äåí ëåéôïõñãåß Þ õðïëåéôïõñãåß. Ðáñáêáëþ îáíáäïêéìÜóôå. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_SHUTTING_DOWN squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_SHUTTING_DOWN Thu Sep 1 16:37:30 2005 @@ -0,0 +1,17 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

    +Ôï óýóôçìá åßíáé óå äéáäéêáóßá ôåñìáôéóìïý êáé äåí ìðïñåß íá åîõðçñåôÞóåé +ôï áßôçìá óáò áõôÞ ôç óôéãìÞ. Ðáñáêáëþ äïêéìÜóôå îáíÜ óå ëßãï. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_SOCKET_FAILURE squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_SOCKET_FAILURE Thu Sep 1 16:37:30 2005 @@ -0,0 +1,28 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +ÓöÜëìá Óýíäåóçò + +
    + +

    +Ôï óýóôçìá åðÝóôñåøå: +

        %E
    + +

    +Ôï Squid äåí ìðïñåß íá äçìéïõñãÞóåé óýíäåóç TCP, õðïèåôéêÜ ëüãù öüñôïõ. +Ðáñáêáëþ îáíáäïêéìÜóôå. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_TOO_BIG squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_TOO_BIG Thu Sep 1 16:37:30 2005 @@ -0,0 +1,27 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Ôï áßôçìá Þ ç áðÜíôçóç åßíáé õðåñìåãÝèç + +

      +Áí êÜíåôå ìéá áßôçóç POST Þ PUT, ôüôå ôï óþìá (áõôü ðïõ ðñïóðáèåßôå +íá áíåâÜóåôå) åßíáé ðïëý ìåãÜëï. Áí êÜíåôå ìéá áßôçóç GET, ôüôå +ôï óþìá (áõôü ðïõ ðñïóðáèåßôå íá êáôåâÜóåôå) åßíáé ðïëý ìåãÜëï. +Ôá üñéá áõôÜ êáèïñßæïíôáé áðü ôïí Ðáñï÷Ýá Õðçñåóéþí Äéáäéêôýïõ ðïõ +ëåéôïõñãåß áõôÞ ôçí õðçñåóßá. Ðáñáêáëþ åðéêïéíùíÞóôå ìáæß ôïõò áí +íïìßæåôå ïôé áõôü åßíáé ëÜèïò. +

    +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_UNSUP_REQ squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_UNSUP_REQ Thu Sep 1 16:37:30 2005 @@ -0,0 +1,24 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Ìç õðïóôçñéæüìåíç ìÝèïäïò áßôçóçò êáé ðñùôüêïëëï + +
    + +

    +Ôï Squid äåí õðïóôçñßæåé üëåò ôéò ìåèüäïõò áéôÞóåùí ãéá üëá ôá ðñùôüêïëëá +ðñüóâáóçò. Ãéá ðáñÜäåéãìá, ôï POST ãéá Gopher äåí õðïóôçñßæåôáé. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_URN_RESOLVE squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_URN_RESOLVE Thu Sep 1 16:37:30 2005 @@ -0,0 +1,23 @@ + + +ÓÖÁËÌÁ: Äåí âñÝèçêå äéåýèõíóç ãéá ôï æçôïýìåíï üíïìá + + +

    ÓÖÁËÌÁ

    +

    Äåí âñÝèçêå äéåýèõíóç ãéá ôï æçôïýìåíï üíïìá

    +
    +

    +ÊáôÜ ôç äéÜñêåéá åýñåóçò ôïõ ïíüìáôïò (URN): +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +Áäýíáôç ç åýñåóç ôïõ ïíüìáôïò + +
    + +

    +Ìåôáîý ìáò, ìçí ðåñéìÝíåôå êáé ðïëëÜ áðü URNs óôï %T :) +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_WRITE_ERROR squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_WRITE_ERROR Thu Sep 1 16:37:30 2005 @@ -0,0 +1,28 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +ÓöÜëìá ÅããñáöÞò + +
    + +

    +Ôï óýóôçìá åðÝóôñåøå: +

        %E
    + +

    +ÐñïÝêõøå óöÜëìá êáôÜ ôçí åããñáöÞ óôï äßêôõï. Ðáñáêáëþ äïêéìÜóôå îáíÜ +ôï áßôçìá óáò. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/ERR_ZERO_SIZE_OBJECT squid-2.5.STABLE11-RC2/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-RC2/errors/Greek/ERR_ZERO_SIZE_OBJECT Thu Sep 1 16:37:30 2005 @@ -0,0 +1,23 @@ + + +ÓÖÁËÌÁ: Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç + + +

    ÓÖÁËÌÁ

    +

    Áäýíáôç ç ðñüóâáóç óôçí áéôïýìåíç äéåýèõíóç

    +
    +

    +Óôç ðñïóðÜèåéá ðñüóâáóçò óôç äéåýèõíóç: +%U +

    +ÐñïÝêõøå ôï áêüëïõèï óöÜëìá: +

      +
    • + +ÁðÜíôçóç Ìçäåíéêïý ÌåãÝèïõò + +
    + +

    +Ôï Squid äåí Ýëáâå äåäïìÝíá ãéá áõôü ôï áßôçìá. +

    Ï äéá÷åéñéóôÞò ôïõ ìåóïëáâçôÞ óáò åßíáé ï %w. diff -ruN squid-2.5.STABLE10/errors/Greek/README squid-2.5.STABLE11-RC2/errors/Greek/README --- squid-2.5.STABLE10/errors/Greek/README Wed Dec 31 17:00:00 1969 +++ squid-2.5.STABLE11-RC2/errors/Greek/README Thu Sep 1 16:37:30 2005 @@ -0,0 +1,2 @@ +Thank you to George Papamichelakis +for creating these error pages in Greek! diff -ruN squid-2.5.STABLE10/errors/Makefile.am squid-2.5.STABLE11-RC2/errors/Makefile.am --- squid-2.5.STABLE10/errors/Makefile.am Mon Dec 1 03:12:28 2003 +++ squid-2.5.STABLE11-RC2/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-RC2/errors/Makefile.in --- squid-2.5.STABLE10/errors/Makefile.in Fri Mar 18 17:55:41 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/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-RC2/errors/Spanish/ERR_CACHE_ACCESS_DENIED Mon Jun 6 15:35:43 2005 @@ -1,11 +1,11 @@ -ERROR: Acceso Denegado al Cache +ERROR: Acceso Denegado al Caché

    ERROR

    -

    Acceso Denegado al Cache

    +

    Acceso Denegado al Caché


    Mientras se intentaba traer el URL: @@ -15,20 +15,20 @@

    • -Acceso denegado al cache. +Acceso denegado al caché.

    Disculpe, Ud. no está autorizado a acceder a:

        %U
    -desde este cache hasta que se haya autenticado. +desde este caché hasta que se haya autenticado.

    -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 administrador del cache si +Ud. necesita utilizar Netscape versió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 administrador del caché si tiene dificultad para autenticarse o cambie su password.

    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_CACHE_MGR_ACCESS_DENIED Mon Jun 6 15:35:43 2005 @@ -1,6 +1,6 @@ -ERROR: Acceso Denegado al Cache Manager +ERROR: Acceso Denegado al Caché Manager @@ -21,13 +21,13 @@

    Disculpe, Ud. no está autorizado a acceder a:

        %U
    -desde este cache hasta que se haya autenticado. +desde este caché hasta que se haya autenticado.

    -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 administrador del cache si +Ud. necesita utilizar Netscape versió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 administrador del caché si tiene dificultad para autenticarse, o si Ud. es el administrador, lea la documentación de Squid sobre interfaz del cache manager y -chequee en el log de cache mensajes de error más detallados. +chequee en el log de caché mensajes de error más detallados.

    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_CANNOT_FORWARD squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_CANNOT_FORWARD Mon Jun 6 15:35:43 2005 @@ -19,13 +19,13 @@

    -La petición no ha podido ser enviada al servidor origen o a alguna -de las cachés padres. Las razones más probables de que haya +La petición no ha podido ser enviada al servidor origen o a alguno +de los cachés padres. Las razones más probables de que haya ocurrido este error son:

      -
    • El administrador de la caché no permite que esta +
    • El administrador de lo caché no permite que este caché realice conexiones directas a los servidores origen, y -
    • Todas las cachés configuradas como padres son inalcanzables +
    • Todos los cachés configurados como padres son inalcanzables en este momento.
    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_DNS_FAIL squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_DNS_FAIL Mon Jun 6 15:35:43 2005 @@ -12,7 +12,7 @@ Ha ocurrido el siguiente problema:
    Incapaz de determinar la dirección IP a partir -del nombre de la máquina: +del nombre de la máquina: %H
    @@ -25,7 +25,7 @@

    Esto significa que:

    - La caché no ha sido capaz de resolver el nombre de máquina
    + El caché no ha sido capaz de resolver el nombre de máquina
      presente en la URL.
      Compruebe que la dirección sea correcta.
     
    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FORWARDING_DENIED squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_FORWARDING_DENIED Mon Jun 6 15:35:43 2005 @@ -19,7 +19,7 @@

    -Esta caché no permite reenviar su petición porque trata de +Este caché no permite reenviar su petición porque trata de obligar a mantener una relación de hermandad. -Quizás el cliente en %i es una caché que ha sido mal configurada. +Quizás el cliente en %i es un caché que ha sido mal configurado.

    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FTP_DISABLED squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_FTP_DISABLED Mon Jun 6 15:35:43 2005 @@ -19,5 +19,5 @@

    -Esta caché no proporciona servicio caché para el protocolo FTP. +Este caché no proporciona servicio caché para el protocolo FTP.

    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_FTP_NOT_FOUND squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_FTP_NOT_FOUND Mon Jun 6 15:35:43 2005 @@ -17,7 +17,7 @@
    %g

    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 %B.

    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_REQ squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_INVALID_REQ Mon Jun 6 15:35:43 2005 @@ -7,7 +7,7 @@

    El URL solicitado no se ha podido conseguir


    -Mientras se intentaba procesar la petición: +Mientras se intentaba procesar la petición:

     %R
     
    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_RESP squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_INVALID_RESP Mon Jun 6 15:35:43 2005 @@ -1,29 +1,30 @@ -ERROR: The requested URL could not be retrieved +ERROR: El URL solicitado no se ha podido conseguir

    ERROR

    -

    The requested URL could not be retrieved

    +

    El URL solicitado no se ha podido conseguir


    -While trying to process the request: +Mientras se intentaba procesar la petición:

     %R
     

    -The following error was encountered: +Ha ocurrido el siguiente problema:

    • -Invalid Response +Respuesta no válida.

    -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. - -

    Your cache administrator is %w. +El mensaje de Respuesta HTTP recibido del servidor contactado +no pudo ser entendido o tenía alguna malformación. +Por favor contacte al operador del sitio web. Quizas su +administrador del caché pueda darle a Ud. más +detalles acerca de la naturaleza exacta del problema en caso +de ser necesario. +

    Su administrador del caché es %w. diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_INVALID_URL squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_INVALID_URL Mon Jun 6 15:35:43 2005 @@ -14,7 +14,7 @@

    • -URL incorrecta. +URL incorrecto.
    diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_NO_RELAY squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_NO_RELAY Mon Jun 6 15:35:43 2005 @@ -19,5 +19,6 @@

    -Esta caché no tiene definido ninguna pasarela para el protocolo WAIS !! -¡Gríteselo al administrador de la caché ! +Este caché no tiene definido ninguna pasarela para el protocolo WAIS !! +¡Grítele al administrador del caché ! +

    Su administrador del caché es %w. +Su administrador del caché es %w. diff -ruN squid-2.5.STABLE10/errors/Spanish/ERR_UNSUP_REQ squid-2.5.STABLE11-RC2/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-RC2/errors/Spanish/ERR_UNSUP_REQ Mon Jun 6 15:35:43 2005 @@ -14,7 +14,7 @@

    • -Método de la petición y protocolo no soportados +Método de la petición y protocolo no soportados.
    diff -ruN squid-2.5.STABLE10/helpers/basic_auth/LDAP/squid_ldap_auth.c squid-2.5.STABLE11-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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 #include #include +#include #include #include #include diff -ruN squid-2.5.STABLE10/helpers/external_acl/ldap_group/squid_ldap_group.c squid-2.5.STABLE11-RC2/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-RC2/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-RC2/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-RC2/helpers/external_acl/wbinfo_group/wbinfo_group.pl Wed Jun 29 14:34:14 2005 @@ -15,6 +15,9 @@ # 2002-07-05 Jerry Murdock # Initial release # +# 2005-06-28 Arno Streuli +# Add multi group check + # external_acl uses shell style lines in it's protocol require 'shellwords.pl'; @@ -47,8 +50,12 @@ while () { 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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/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-RC2/include/Array.h --- squid-2.5.STABLE10/include/Array.h Mon Oct 8 10:18:31 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/include/autoconf.h.in --- squid-2.5.STABLE10/include/autoconf.h.in Fri Apr 22 19:32:27 2005 +++ squid-2.5.STABLE11-RC2/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 header file. */ #undef HAVE_IP_NAT_H +/* Define if you have the header file. */ +#undef HAVE_IPL_H + /* Define if you have the header file. */ #undef HAVE_LIBC_H @@ -707,6 +713,9 @@ /* Define if you have the header file. */ #undef HAVE_NETINET_IP_NAT_H +/* Define if you have the header file. */ +#undef HAVE_NETINET_IPL_H + /* Define if you have the header file. */ #undef HAVE_NETINET_TCP_H @@ -793,6 +802,9 @@ /* Define if you have the header file. */ #undef HAVE_SYS_PARAM_H + +/* Define if you have the header file. */ +#undef HAVE_SYS_PRCTL_H /* Define if you have the header file. */ #undef HAVE_SYS_RESOURCE_H diff -ruN squid-2.5.STABLE10/include/version.h squid-2.5.STABLE11-RC2/include/version.h --- squid-2.5.STABLE10/include/version.h Mon May 16 16:41:14 2005 +++ squid-2.5.STABLE11-RC2/include/version.h Fri Sep 16 16:11:37 2005 @@ -9,5 +9,5 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1116283270 +#define SQUID_RELEASE_TIME 1126908693 #endif diff -ruN squid-2.5.STABLE10/lib/Array.c squid-2.5.STABLE11-RC2/lib/Array.c --- squid-2.5.STABLE10/lib/Array.c Wed Feb 7 11:56:50 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/lib/Stack.c --- squid-2.5.STABLE10/lib/Stack.c Thu Jan 11 17:37:12 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/lib/hash.c --- squid-2.5.STABLE10/lib/hash.c Wed Mar 7 10:57:37 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/lib/heap.c --- squid-2.5.STABLE10/lib/heap.c Wed Feb 7 11:56:50 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/lib/rfc1123.c --- squid-2.5.STABLE10/lib/rfc1123.c Wed Mar 9 07:51:39 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/lib/util.c --- squid-2.5.STABLE10/lib/util.c Sun Aug 11 19:22:37 2002 +++ squid-2.5.STABLE11-RC2/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-RC2/snmplib/mib.c --- squid-2.5.STABLE10/snmplib/mib.c Wed Mar 9 07:33:02 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/snmplib/parse.c --- squid-2.5.STABLE10/snmplib/parse.c Wed Mar 9 07:33:02 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/HttpHeader.c --- squid-2.5.STABLE10/src/HttpHeader.c Fri May 6 15:32:09 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/HttpHeaderTools.c --- squid-2.5.STABLE10/src/HttpHeaderTools.c Fri Mar 25 19:50:51 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/HttpRequest.c --- squid-2.5.STABLE10/src/HttpRequest.c Thu Oct 7 11:01:13 2004 +++ squid-2.5.STABLE11-RC2/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 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 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-RC2/src/Packer.c --- squid-2.5.STABLE10/src/Packer.c Fri Mar 25 19:50:51 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/StatHist.c --- squid-2.5.STABLE10/src/StatHist.c Wed Oct 24 02:19:08 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/src/acl.c --- squid-2.5.STABLE10/src/acl.c Sun May 8 19:48:09 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/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-RC2/src/auth/ntlm/auth_ntlm.c Fri Sep 16 15:45:10 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.24 2005/09/16 21:45:10 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); diff -ruN squid-2.5.STABLE10/src/authenticate.c squid-2.5.STABLE11-RC2/src/authenticate.c --- squid-2.5.STABLE10/src/authenticate.c Fri Mar 25 19:50:51 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/cache_cf.c --- squid-2.5.STABLE10/src/cache_cf.c Fri May 6 16:33:53 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/cache_manager.c --- squid-2.5.STABLE10/src/cache_manager.c Fri Feb 23 13:59:50 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/src/cf.data.pre --- squid-2.5.STABLE10/src/cf.data.pre Tue May 10 17:08:40 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/cf_gen.c --- squid-2.5.STABLE10/src/cf_gen.c Thu Aug 22 06:28:15 2002 +++ squid-2.5.STABLE11-RC2/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-RC2/src/client_db.c --- squid-2.5.STABLE10/src/client_db.c Fri Mar 25 19:50:52 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/client_side.c --- squid-2.5.STABLE10/src/client_side.c Wed Apr 20 15:46:06 2005 +++ squid-2.5.STABLE11-RC2/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 #include +/* 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 +#elif HAVE_NETINET_IPL_H +#include +#endif #if HAVE_IP_FIL_COMPAT_H #include #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-RC2/src/comm.c --- squid-2.5.STABLE10/src/comm.c Sat Feb 12 22:53:56 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/delay_pools.c --- squid-2.5.STABLE10/src/delay_pools.c Wed Jun 18 17:53:35 2003 +++ squid-2.5.STABLE11-RC2/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 @@ -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/enums.h squid-2.5.STABLE11-RC2/src/enums.h --- squid-2.5.STABLE10/src/enums.h Fri Mar 25 19:50:52 2005 +++ squid-2.5.STABLE11-RC2/src/enums.h Sat Sep 10 19:05:52 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.16 2005/09/11 01:05:52 hno 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, diff -ruN squid-2.5.STABLE10/src/forward.c squid-2.5.STABLE11-RC2/src/forward.c --- squid-2.5.STABLE10/src/forward.c Fri Mar 25 19:50:53 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/ftp.c --- squid-2.5.STABLE10/src/ftp.c Fri Mar 25 19:50:53 2005 +++ squid-2.5.STABLE11-RC2/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, "\n"); storeAppendPrintf(e, "\n", version_string); storeAppendPrintf(e, "\n", mkrfc1123(squid_curtime)); storeAppendPrintf(e, "\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, "\n"); storeAppendPrintf(e, "\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, " 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, ""); + } + 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, ""); - 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, "
    \n");
         dirup = ftpHtmlifyListEntry("", 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, "
    \n"); if (ftpState->flags.listformat_unknown && !ftpState->flags.tried_nlst) { - storeAppendPrintf(e, "[As plain directory]\n"); + storeAppendPrintf(e, "[As plain directory]\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, "[As extended directory]\n", html_quote(path)); } storeAppendPrintf(e, "
    \n"); @@ -443,7 +450,6 @@ getMyHostname(), full_appname_string); storeAppendPrintf(e, "\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 */ if (strcmp(line, "") == 0) { /* {icon} {text} {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, "(%s)", - "../", + !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, " -> %s", - link2, + snprintf(link, 2048, " -> %s", + *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, " ", - href, mimeGetIconURL("internal-view")); + prefix, href, mimeGetIconURL("internal-view")); } if (mimeGetDownloadOption(parts->name)) { - snprintf(download, 2048, " ", - href, mimeGetIconURL("internal-download")); + prefix, href, mimeGetIconURL("internal-download")); } } /* {icon} {text} . . . {date}{size}{chdir}{view}{download}{link}\n */ if (parts->type != '\0') { - snprintf(html, 8192, "%s %s%s " + snprintf(html, 8192, "%s %s%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, "%s %s%s " + snprintf(html, 8192, "%s %s%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 : ""); - 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-RC2/src/globals.h --- squid-2.5.STABLE10/src/globals.h Wed Apr 20 15:52:26 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/gopher.c --- squid-2.5.STABLE10/src/gopher.c Tue Jan 11 23:04:01 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/http.c --- squid-2.5.STABLE10/src/http.c Fri Mar 25 19:50:53 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/internal.c --- squid-2.5.STABLE10/src/internal.c Thu Jan 11 17:37:18 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/src/main.c --- squid-2.5.STABLE10/src/main.c Wed Apr 20 15:52:26 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/net_db.c --- squid-2.5.STABLE10/src/net_db.c Fri Mar 25 19:50:53 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/protos.h --- squid-2.5.STABLE10/src/protos.h Tue Apr 19 16:19:27 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/snmp_core.c --- squid-2.5.STABLE10/src/snmp_core.c Wed May 4 12:03:47 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/ssl.c --- squid-2.5.STABLE10/src/ssl.c Sun Apr 17 18:54:30 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/store.c --- squid-2.5.STABLE10/src/store.c Fri Mar 25 19:50:53 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/store_io.c --- squid-2.5.STABLE10/src/store_io.c Fri Mar 25 19:50:54 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/structs.h --- squid-2.5.STABLE10/src/structs.h Wed May 4 12:03:47 2005 +++ squid-2.5.STABLE11-RC2/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-RC2/src/tools.c --- squid-2.5.STABLE10/src/tools.c Fri Apr 22 14:45:12 2005 +++ squid-2.5.STABLE11-RC2/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 +#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-RC2/src/urn.c --- squid-2.5.STABLE10/src/urn.c Sun Sep 1 06:38:04 2002 +++ squid-2.5.STABLE11-RC2/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-RC2/src/wais.c --- squid-2.5.STABLE10/src/wais.c Wed Oct 24 02:19:09 2001 +++ squid-2.5.STABLE11-RC2/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-RC2/src/whois.c --- squid-2.5.STABLE10/src/whois.c Fri Apr 13 18:03:24 2001 +++ squid-2.5.STABLE11-RC2/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 {