--------------------- PatchSet 133 Date: 2000/04/17 02:49:19 Author: hno Branch: hno-2_3 Tag: (none) Log: Merged with recent SQUID_2_3 changes. Due to some messiness with the tags on this branch I had to reset it as a new branch from s2_3, so this commit logs the changes from s2_3 to hno-2_3, rather than the Squid base code merges. Members: configure:1.1.1.3.4.1->1.1.1.3.4.1.4.1 configure.in:1.1.1.3.4.1->1.1.1.3.4.1.4.1 auth_modules/SMB/Makefile.in:1.1.1.1->1.1.1.1.18.1 doc/Programming-Guide/Makefile:1.1.1.1->1.1.1.1.22.1 icons/Makefile.in:1.1.1.3->1.1.1.3.18.1 include/autoconf.h.in:1.1.1.3.4.1->1.1.1.3.4.1.4.1 include/version.h:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/acl.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/aiops.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/cache_cf.c:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/cf.data.pre:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/client_side.c:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/delay_pools.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/dns_internal.c:1.1.1.1.4.2->1.1.1.1.4.2.4.1 src/forward.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/ftp.c:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/helper.c:1.1.1.3->1.1.1.3.18.1 src/http.c:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/ipc.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/main.c:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/neighbors.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/peer_select.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/protos.h:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/pump.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/ssl.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/store.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/store_dir_ufs.c:1.1.1.1.4.1->1.1.1.1.4.1.4.1 src/structs.h:1.1.1.3.4.2->1.1.1.3.4.2.4.1 src/unlinkd.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 src/url.c:1.1.1.3.4.1->1.1.1.3.4.1.4.1 Index: squid/configure =================================================================== RCS file: /cvsroot/squid-sf//squid/Attic/configure,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/configure 17 Apr 2000 00:56:51 -0000 1.1.1.3.4.1 +++ squid/configure 17 Apr 2000 02:49:19 -0000 1.1.1.3.4.1.4.1 @@ -1,7 +1,7 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12 +# Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -150,6 +150,7 @@ # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 @@ -433,7 +434,7 @@ verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12" + echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) @@ -603,9 +604,11 @@ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross +ac_exeext= +ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then @@ -620,7 +623,7 @@ -# From configure.in Revision: 1.176.2.14 +# From configure.in Revision: 1.1.1.3.6.1 ac_aux_dir= for ac_dir in cfgaux $srcdir/cfgaux; do if test -f $ac_dir/install-sh; then @@ -643,26 +646,26 @@ # Make sure we can run config.sub. -if $ac_config_sub sun4 >/dev/null 2>&1; then : +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:652: checking host system type" >&5 +echo "configure:655: checking host system type" >&5 host_alias=$host case "$host_alias" in NONE) case $nonopt in NONE) - if host_alias=`$ac_config_guess`; then : + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } fi ;; *) host_alias=$nonopt ;; esac ;; esac -host=`$ac_config_sub $host_alias` +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` @@ -716,15 +719,16 @@ # 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:720: checking for $ac_word" >&5 +echo "configure:723: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -745,16 +749,17 @@ # 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:749: checking for $ac_word" >&5 +echo "configure:753: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -789,25 +794,61 @@ echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:804: 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 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:797: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:836: 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. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross -cat > conftest.$ac_ext < conftest.$ac_ext << EOF + +#line 847 "configure" #include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:852: \"$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 @@ -821,18 +862,24 @@ ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { 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:831: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:878: 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:836: checking whether we are using GNU C" >&5 +echo "configure:883: 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 @@ -841,7 +888,7 @@ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:845: \"$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:892: \"$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 @@ -852,11 +899,15 @@ if test $ac_cv_prog_gcc = yes; then GCC=yes - ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS= - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:860: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:911: 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 @@ -871,16 +922,20 @@ fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else - CFLAGS="-O2" + CFLAGS="-g" fi else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi @@ -1534,7 +1589,7 @@ esac echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1538: checking how to run the C preprocessor" >&5 +echo "configure:1593: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1549,14 +1604,14 @@ # 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:1559: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1614: \"$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 : else @@ -1566,14 +1621,31 @@ 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:1576: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1631: \"$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 + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + 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:1648: \"$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 : else @@ -1586,6 +1658,8 @@ rm -f conftest* fi rm -f conftest* +fi +rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" @@ -1601,28 +1675,30 @@ # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # 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:1609: checking for a BSD compatible install" >&5 +echo "configure:1684: 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 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. - for ac_prog in ginstall installbsd scoinst install; do + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. - # OSF/1 installbsd also uses dspmsg, but is usable. : else ac_cv_path_install="$ac_dir/$ac_prog -c" @@ -1652,20 +1728,23 @@ # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # 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:1661: checking for $ac_word" >&5 +echo "configure:1739: 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 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" @@ -1684,7 +1763,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1688: checking whether ln -s works" >&5 +echo "configure:1767: 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 @@ -1707,7 +1786,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:1711: checking for $ac_word" >&5 +echo "configure:1790: 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 @@ -1715,9 +1794,13 @@ /*) ac_cv_path_SH="$SH" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_SH="$SH" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_SH="$ac_dir/$ac_word" @@ -1739,7 +1822,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:1743: checking for $ac_word" >&5 +echo "configure:1826: 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 @@ -1747,9 +1830,13 @@ /*) ac_cv_path_FALSE="$FALSE" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_FALSE="$FALSE" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_FALSE="$ac_dir/$ac_word" @@ -1771,7 +1858,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:1775: checking for $ac_word" >&5 +echo "configure:1862: 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 @@ -1779,9 +1866,13 @@ /*) ac_cv_path_TRUE="$TRUE" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_TRUE="$TRUE" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_TRUE="$ac_dir/$ac_word" @@ -1803,7 +1894,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:1807: checking for $ac_word" >&5 +echo "configure:1898: 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 @@ -1811,9 +1902,13 @@ /*) ac_cv_path_RM="$RM" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_RM="$RM" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_RM="$ac_dir/$ac_word" @@ -1835,7 +1930,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:1839: checking for $ac_word" >&5 +echo "configure:1934: 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 @@ -1843,9 +1938,13 @@ /*) ac_cv_path_MV="$MV" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_MV="$MV" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_MV="$ac_dir/$ac_word" @@ -1867,7 +1966,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:1871: checking for $ac_word" >&5 +echo "configure:1970: 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 @@ -1875,9 +1974,13 @@ /*) ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_MKDIR="$ac_dir/$ac_word" @@ -1899,7 +2002,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:1903: checking for $ac_word" >&5 +echo "configure:2006: 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 @@ -1907,9 +2010,13 @@ /*) ac_cv_path_LN="$LN" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_LN="$LN" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_LN="$ac_dir/$ac_word" @@ -1931,7 +2038,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:1935: checking for $ac_word" >&5 +echo "configure:2042: 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 @@ -1939,9 +2046,13 @@ /*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_PERL="$ac_dir/$ac_word" @@ -1963,7 +2074,7 @@ # Extract the first word of "makedepend", so it can be a program name with args. set dummy makedepend; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1967: checking for $ac_word" >&5 +echo "configure:2078: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MAKEDEPEND'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1971,9 +2082,13 @@ /*) ac_cv_path_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_MAKEDEPEND="$ac_dir/$ac_word" @@ -1995,7 +2110,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:1999: checking for $ac_word" >&5 +echo "configure:2114: 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 @@ -2003,9 +2118,13 @@ /*) ac_cv_path_AR="$AR" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_AR="$AR" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_AR="$ac_dir/$ac_word" @@ -2045,12 +2164,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:2049: checking for $ac_hdr that defines DIR" >&5 +echo "configure:2168: 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> @@ -2058,7 +2177,7 @@ DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:2062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -2083,7 +2202,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:2087: checking for opendir in -ldir" >&5 +echo "configure:2206: 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 @@ -2091,7 +2210,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2225: \"$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 @@ -2124,7 +2243,7 @@ else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:2128: checking for opendir in -lx" >&5 +echo "configure:2247: 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 @@ -2132,7 +2251,7 @@ ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2266: \"$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 @@ -2166,12 +2285,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2170: checking for ANSI C header files" >&5 +echo "configure:2289: 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 @@ -2179,8 +2298,8 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2183: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2302: \"$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* ac_cv_header_stdc=yes @@ -2196,7 +2315,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 @@ -2214,7 +2333,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 @@ -2235,7 +2354,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2246,7 +2365,7 @@ exit (0); } EOF -if { (eval echo configure:2250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2314,6 +2433,7 @@ strings.h \ sys/file.h \ sys/ioctl.h \ + sys/mount.h \ sys/param.h \ sys/resource.h \ sys/select.h\ @@ -2334,18 +2454,18 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2338: checking for $ac_hdr" >&5 +echo "configure:2458: 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:2348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2468: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -2372,12 +2492,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2376: checking for working const" >&5 +echo "configure:2496: 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:2550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2447,14 +2567,14 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:2451: checking whether byte ordering is bigendian" >&5 +echo "configure:2571: 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 @@ -2465,11 +2585,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:2469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2589: \"$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 @@ -2480,7 +2600,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:2484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -2500,7 +2620,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 && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2637: \"$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 @@ -2538,20 +2658,20 @@ echo $ac_n "checking if ANSI prototypes work""... $ac_c" 1>&6 -echo "configure:2542: checking if ANSI prototypes work" >&5 +echo "configure:2662: 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:2675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ansi_prototypes="yes" else @@ -2573,13 +2693,13 @@ fi echo $ac_n "checking for tm->tm_gmtoff""... $ac_c" 1>&6 -echo "configure:2577: checking for tm->tm_gmtoff" >&5 +echo "configure:2697: 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 @@ -2588,7 +2708,7 @@ foo.tm_gmtoff = 0; ; return 0; } EOF -if { (eval echo configure:2592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_tm_gmoff="yes" else @@ -2610,13 +2730,13 @@ fi echo $ac_n "checking for struct mallinfo""... $ac_c" 1>&6 -echo "configure:2614: checking for struct mallinfo" >&5 +echo "configure:2734: 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 @@ -2634,7 +2754,7 @@ foo.keepcost = 0; ; return 0; } EOF -if { (eval echo configure:2638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_mallinfo="yes" else @@ -2656,13 +2776,13 @@ fi echo $ac_n "checking for extended mallinfo""... $ac_c" 1>&6 -echo "configure:2660: checking for extended mallinfo" >&5 +echo "configure:2780: 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 @@ -2671,7 +2791,7 @@ foo.mxfast = 0; ; return 0; } EOF -if { (eval echo configure:2675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ext_mallinfo="yes" else @@ -2693,13 +2813,13 @@ fi echo $ac_n "checking for struct rusage""... $ac_c" 1>&6 -echo "configure:2697: checking for struct rusage" >&5 +echo "configure:2817: 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:2836: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_rusage="yes" else @@ -2734,13 +2854,13 @@ fi echo $ac_n "checking for ip->ip_hl""... $ac_c" 1>&6 -echo "configure:2738: checking for ip->ip_hl" >&5 +echo "configure:2858: 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 @@ -2757,7 +2877,7 @@ ip.ip_hl= 0; ; return 0; } EOF -if { (eval echo configure:2761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2881: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ip_hl="yes" else @@ -2779,7 +2899,7 @@ fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:2783: checking size of int" >&5 +echo "configure:2903: 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 @@ -2787,7 +2907,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -2798,7 +2918,7 @@ exit(0); } EOF -if { (eval echo configure:2802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2922: \"$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 @@ -2818,7 +2938,7 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:2822: checking size of long" >&5 +echo "configure:2942: 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 @@ -2826,7 +2946,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -2837,7 +2957,7 @@ exit(0); } EOF -if { (eval echo configure:2841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2961: \"$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 @@ -2857,7 +2977,7 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:2861: checking size of void *" >&5 +echo "configure:2981: 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 @@ -2865,7 +2985,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -2876,7 +2996,7 @@ exit(0); } EOF -if { (eval echo configure:2880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3000: \"$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 @@ -2899,19 +3019,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:2903: checking for working alloca.h" >&5 +echo "configure:3023: 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:2915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3035: \"$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 @@ -2932,25 +3052,30 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2936: checking for alloca" >&5 +echo "configure:3056: 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 < +# ifdef _MSC_VER +# include +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if HAVE_ALLOCA_H +# include # else -# ifndef alloca /* predefined by HP cc +Olibcalls */ +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); +# endif # endif # endif # endif @@ -2960,7 +3085,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:2964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3089: \"$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 @@ -2985,19 +3110,19 @@ # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.o + ALLOCA=alloca.${ac_objext} cat >> confdefs.h <<\EOF #define C_ALLOCA 1 EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2996: checking whether alloca needs Cray hooks" >&5 +echo "configure:3121: 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:3026: checking for $ac_func" >&5 +echo "configure:3151: 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; then +if { (eval echo configure:3179: \"$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 @@ -3077,7 +3202,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3081: checking stack direction for C alloca" >&5 +echo "configure:3206: 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 @@ -3085,7 +3210,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3233: \"$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 @@ -3127,12 +3252,12 @@ echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3131: checking for pid_t" >&5 +echo "configure:3256: 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 @@ -3141,7 +3266,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_pid_t=yes else @@ -3160,12 +3285,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3164: checking for size_t" >&5 +echo "configure:3289: 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 @@ -3174,7 +3299,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_size_t=yes else @@ -3193,12 +3318,12 @@ fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:3197: checking for ssize_t" >&5 +echo "configure:3322: 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 @@ -3207,7 +3332,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_ssize_t=yes else @@ -3226,12 +3351,12 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3230: checking for off_t" >&5 +echo "configure:3355: 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 @@ -3240,7 +3365,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_off_t=yes else @@ -3259,12 +3384,12 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3263: checking for mode_t" >&5 +echo "configure:3388: 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 @@ -3273,7 +3398,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_mode_t=yes else @@ -3292,12 +3417,12 @@ fi echo $ac_n "checking for fd_mask""... $ac_c" 1>&6 -echo "configure:3296: checking for fd_mask" >&5 +echo "configure:3421: 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 @@ -3306,7 +3431,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "fd_mask[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])fd_mask[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_fd_mask=yes else @@ -3326,13 +3451,13 @@ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:3330: checking for socklen_t" >&5 +echo "configure:3455: 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 @@ -3363,7 +3488,7 @@ fi echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:3367: checking for main in -lnsl" >&5 +echo "configure:3492: 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 @@ -3371,14 +3496,14 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3507: \"$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 @@ -3406,7 +3531,7 @@ fi echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 -echo "configure:3410: checking for main in -lsocket" >&5 +echo "configure:3535: 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 @@ -3414,14 +3539,14 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3550: \"$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 @@ -3453,7 +3578,7 @@ echo "skipping libmalloc check (--enable-dlmalloc specified)" else echo $ac_n "checking for main in -lgnumalloc""... $ac_c" 1>&6 -echo "configure:3457: checking for main in -lgnumalloc" >&5 +echo "configure:3582: 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 @@ -3461,14 +3586,14 @@ ac_save_LIBS="$LIBS" LIBS="-lgnumalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3597: \"$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 @@ -3511,7 +3636,7 @@ *) echo $ac_n "checking for main in -lmalloc""... $ac_c" 1>&6 -echo "configure:3515: checking for main in -lmalloc" >&5 +echo "configure:3640: 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 @@ -3519,14 +3644,14 @@ ac_save_LIBS="$LIBS" LIBS="-lmalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3655: \"$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 @@ -3559,7 +3684,7 @@ fi echo $ac_n "checking for main in -lbsd""... $ac_c" 1>&6 -echo "configure:3563: checking for main in -lbsd" >&5 +echo "configure:3688: 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 @@ -3567,14 +3692,14 @@ ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3703: \"$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 @@ -3602,7 +3727,7 @@ fi echo $ac_n "checking for main in -lregex""... $ac_c" 1>&6 -echo "configure:3606: checking for main in -lregex" >&5 +echo "configure:3731: 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 @@ -3610,14 +3735,14 @@ ac_save_LIBS="$LIBS" LIBS="-lregex $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3746: \"$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 @@ -3638,7 +3763,7 @@ fi echo $ac_n "checking for gethostbyname in -lbind""... $ac_c" 1>&6 -echo "configure:3642: checking for gethostbyname in -lbind" >&5 +echo "configure:3767: 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 @@ -3646,7 +3771,7 @@ ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3786: \"$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 @@ -3691,7 +3816,7 @@ ;; *) echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:3695: checking for inet_aton in -lresolv" >&5 +echo "configure:3820: 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 @@ -3699,7 +3824,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3839: \"$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 @@ -3726,7 +3851,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:3730: checking for inet_aton in -l44bsd" >&5 +echo "configure:3855: 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 @@ -3734,7 +3859,7 @@ ac_save_LIBS="$LIBS" LIBS="-l44bsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3874: \"$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 @@ -3777,7 +3902,7 @@ fi echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6 -echo "configure:3781: checking for main in -lresolv" >&5 +echo "configure:3906: 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 @@ -3785,14 +3910,14 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3921: \"$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 @@ -3823,7 +3948,7 @@ esac fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:3827: checking for main in -lm" >&5 +echo "configure:3952: 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 @@ -3831,14 +3956,14 @@ ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3967: \"$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 @@ -3867,7 +3992,7 @@ echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:3871: checking for crypt in -lcrypt" >&5 +echo "configure:3996: 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 @@ -3875,7 +4000,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4015: \"$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 @@ -3919,7 +4044,7 @@ echo $ac_n "checking for main in -lpthread""... $ac_c" 1>&6 -echo "configure:3923: checking for main in -lpthread" >&5 +echo "configure:4048: 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 @@ -3927,14 +4052,14 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4063: \"$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 @@ -3969,7 +4094,7 @@ case "$host" in *-pc-sco3.2*) echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:3973: checking for strftime in -lintl" >&5 +echo "configure:4098: 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 @@ -3977,7 +4102,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4117: \"$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 @@ -4152,12 +4277,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4156: checking for $ac_func" >&5 +echo "configure:4281: 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; then +if { (eval echo configure:4309: \"$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 @@ -4213,12 +4338,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4217: checking for $ac_func" >&5 +echo "configure:4342: 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; then +if { (eval echo configure:4370: \"$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 @@ -4268,7 +4393,7 @@ fi echo $ac_n "checking if setresuid is implemented""... $ac_c" 1>&6 -echo "configure:4272: checking if setresuid is implemented" >&5 +echo "configure:4397: 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 @@ -4276,7 +4401,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4289,7 +4414,7 @@ } EOF -if { (eval echo configure:4293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4418: \"$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 @@ -4314,7 +4439,7 @@ if test "$IPF_TRANSPARENT" ; then echo $ac_n "checking if IP-Filter header files are installed""... $ac_c" 1>&6 -echo "configure:4318: checking if IP-Filter header files are installed" >&5 +echo "configure:4443: checking if IP-Filter header files are installed" >&5 if test "$ac_cv_header_ip_compat_h" = "yes" && test "$ac_cv_header_ip_fil_h" = "yes" && test "$ac_cv_header_ip_nat_h" = "yes" ; then @@ -4357,13 +4482,13 @@ esac fi echo $ac_n "checking if GNUregex needs to be compiled""... $ac_c" 1>&6 -echo "configure:4361: checking if GNUregex needs to be compiled" >&5 +echo "configure:4486: 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 @@ -4371,7 +4496,7 @@ regex_t t; regcomp(&t,"",0); ; return 0; } EOF -if { (eval echo configure:4375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* USE_GNUREGEX="no" else @@ -4402,12 +4527,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4406: checking for $ac_func" >&5 +echo "configure:4531: 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; then +if { (eval echo configure:4559: \"$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 @@ -4451,19 +4576,19 @@ else echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.o" +LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done echo $ac_n "checking Default FD_SETSIZE value""... $ac_c" 1>&6 -echo "configure:4462: checking Default FD_SETSIZE value" >&5 +echo "configure:4587: 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 && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4617: \"$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 @@ -4507,7 +4632,7 @@ echo $ac_n "checking Maximum number of filedescriptors we can open""... $ac_c" 1>&6 -echo "configure:4511: checking Maximum number of filedescriptors we can open" >&5 +echo "configure:4636: checking Maximum number of filedescriptors we can open" >&5 TLDFLAGS="$LDFLAGS" case $host in i386-unknown-freebsd*) @@ -4519,7 +4644,7 @@ SQUID_MAXFD=256 else cat > conftest.$ac_ext < @@ -4576,7 +4701,7 @@ } EOF -if { (eval echo configure:4580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4705: \"$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 @@ -4603,12 +4728,12 @@ LDFLAGS="$TLDFLAGS" echo $ac_n "checking Default UDP send buffer size""... $ac_c" 1>&6 -echo "configure:4607: checking Default UDP send buffer size" >&5 +echo "configure:4732: checking Default UDP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -4629,7 +4754,7 @@ } EOF -if { (eval echo configure:4633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4758: \"$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 @@ -4648,12 +4773,12 @@ echo $ac_n "checking Default UDP receive buffer size""... $ac_c" 1>&6 -echo "configure:4652: checking Default UDP receive buffer size" >&5 +echo "configure:4777: checking Default UDP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -4674,7 +4799,7 @@ } EOF -if { (eval echo configure:4678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4803: \"$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 @@ -4693,12 +4818,12 @@ echo $ac_n "checking Default TCP send buffer size""... $ac_c" 1>&6 -echo "configure:4697: checking Default TCP send buffer size" >&5 +echo "configure:4822: checking Default TCP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -4719,7 +4844,7 @@ } EOF -if { (eval echo configure:4723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4848: \"$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 @@ -4738,12 +4863,12 @@ echo $ac_n "checking Default TCP receive buffer size""... $ac_c" 1>&6 -echo "configure:4742: checking Default TCP receive buffer size" >&5 +echo "configure:4867: checking Default TCP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -4764,7 +4889,7 @@ } EOF -if { (eval echo configure:4768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4893: \"$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 @@ -4783,19 +4908,19 @@ echo $ac_n "checking if sys_errlist is already defined""... $ac_c" 1>&6 -echo "configure:4787: checking if sys_errlist is already defined" >&5 +echo "configure:4912: 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:4799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_needs_sys_errlist="no" else @@ -4817,16 +4942,16 @@ fi echo $ac_n "checking for libresolv _dns_ttl_ hack""... $ac_c" 1>&6 -echo "configure:4821: checking for libresolv _dns_ttl_ hack" >&5 +echo "configure:4946: checking for libresolv _dns_ttl_ hack" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4955: \"$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 @@ -4842,12 +4967,12 @@ rm -f conftest* echo $ac_n "checking if inet_ntoa() actually works""... $ac_c" 1>&6 -echo "configure:4846: checking if inet_ntoa() actually works" >&5 +echo "configure:4971: checking if inet_ntoa() actually works" >&5 if test "$cross_compiling" = yes; then INET_NTOA_RESULT="broken" else cat > conftest.$ac_ext < @@ -4866,7 +4991,7 @@ } EOF -if { (eval echo configure:4870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4995: \"$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 @@ -4892,9 +5017,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:4896: checking for working statvfs() interface" >&5 +echo "configure:5021: checking for working statvfs() interface" >&5 cat > conftest.$ac_ext < @@ -4911,7 +5036,7 @@ ; return 0; } EOF -if { (eval echo configure:4915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_func_statvfs=yes else @@ -4931,12 +5056,12 @@ fi echo $ac_n "checking for _res.nsaddr_list""... $ac_c" 1>&6 -echo "configure:4935: checking for _res.nsaddr_list" >&5 +echo "configure:5060: 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:5088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_nsaddr_list="yes" else @@ -4981,12 +5106,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:4985: checking for _res.ns_list" >&5 +echo "configure:5110: 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:5138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_ns_list="yes" else @@ -5076,7 +5201,7 @@ # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | - case `(ac_space=' '; set) 2>&1` in + case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). @@ -5143,7 +5268,7 @@ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12" + echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -5181,9 +5306,11 @@ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF $ac_vpsub $extrasub +s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g @@ -5225,6 +5352,7 @@ s%@LEAKFINDER_OBJS@%$LEAKFINDER_OBJS%g s%@CPP@%$CPP%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@RANLIB@%$RANLIB%g s%@LN_S@%$LN_S%g Index: squid/configure.in =================================================================== RCS file: /cvsroot/squid-sf//squid/configure.in,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/configure.in 17 Apr 2000 00:56:52 -0000 1.1.1.3.4.1 +++ squid/configure.in 17 Apr 2000 02:49:19 -0000 1.1.1.3.4.1.4.1 @@ -3,13 +3,13 @@ dnl dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) dnl -dnl $Id: configure.in,v 1.1.1.3.4.1 2000/04/17 00:56:52 hno Exp $ +dnl $Id: configure.in,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:19 hno Exp $ dnl dnl dnl AC_INIT(src/main.c) AC_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.1.1.3.4.1 $)dnl +AC_REVISION($Revision: 1.1.1.3.4.1.4.1 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AC_CONFIG_AUX_DIR(cfgaux) @@ -653,6 +653,7 @@ strings.h \ sys/file.h \ sys/ioctl.h \ + sys/mount.h \ sys/param.h \ sys/resource.h \ sys/select.h\ Index: squid/auth_modules/SMB/Makefile.in =================================================================== RCS file: /cvsroot/squid-sf//squid/auth_modules/SMB/Attic/Makefile.in,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.18.1 diff -u -r1.1.1.1 -r1.1.1.1.18.1 --- squid/auth_modules/SMB/Makefile.in 26 Jan 2000 03:25:00 -0000 1.1.1.1 +++ squid/auth_modules/SMB/Makefile.in 17 Apr 2000 02:49:19 -0000 1.1.1.1.18.1 @@ -1,7 +1,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.1.1.1 2000/01/26 03:25:00 hno Exp $ +# $Id: Makefile.in,v 1.1.1.1.18.1 2000/04/17 02:49:19 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -58,7 +58,8 @@ CFLAGS = $(AC_CFLAGS) $(INCLUDE) $(DEFINES) AUTH_LIBS = -LIBPROGS = $(SMB_AUTH_EXE) $(SMB_AUTH_HELPER) +LIBPROGS = $(SMB_AUTH_EXE) +LIBSCRIPTS = $(SMB_AUTH_HELPER) OBJS = smb_auth.o all: $(SMB_AUTH_EXE) @@ -91,6 +92,18 @@ $(RM) -f $(libexecdir)/-$$f; \ fi; \ done + @for f in $(LIBSCRIPTS); do \ + if test -f $(libexecdir)/$$f; then \ + echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \ + $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \ + fi; \ + echo $(INSTALL_BIN) $$f $(libexecdir); \ + $(INSTALL_BIN) $(srcdir)/$$f $(libexecdir); \ + if test -f $(libexecdir)/-$$f; then \ + echo $(RM) -f $(libexecdir)/-$$f; \ + $(RM) -f $(libexecdir)/-$$f; \ + fi; \ + done clean: -rm -rf *.o *pure_* core $(PROGS) Index: squid/doc/Programming-Guide/Makefile =================================================================== RCS file: /cvsroot/squid-sf//squid/doc/Programming-Guide/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.22.1 diff -u -r1.1.1.1 -r1.1.1.1.22.1 --- squid/doc/Programming-Guide/Makefile 26 Jan 2000 03:23:10 -0000 1.1.1.1 +++ squid/doc/Programming-Guide/Makefile 17 Apr 2000 02:49:19 -0000 1.1.1.1.22.1 @@ -3,7 +3,7 @@ all: $(DOC).html $(DOC).ps $(DOC).ps: $(DOC).dvi - dvips $(DOC).dvi + dvips -o $(DOC).ps $(DOC).dvi $(DOC).dvi: $(DOC).sgml sgml2latex $(DOC) Index: squid/icons/Makefile.in =================================================================== RCS file: /cvsroot/squid-sf//squid/icons/Attic/Makefile.in,v retrieving revision 1.1.1.3 retrieving revision 1.1.1.3.18.1 diff -u -r1.1.1.3 -r1.1.1.3.18.1 --- squid/icons/Makefile.in 26 Jan 2000 03:25:00 -0000 1.1.1.3 +++ squid/icons/Makefile.in 17 Apr 2000 02:49:19 -0000 1.1.1.3.18.1 @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.1.1.3 2000/01/26 03:25:00 hno Exp $ +# $Id: Makefile.in,v 1.1.1.3.18.1 2000/04/17 02:49:19 hno Exp $ # prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -56,7 +56,7 @@ :; \ else \ echo "$(INSTALL_FILE) $$f $(DEFAULT_ICON_DIR)"; \ - $(INSTALL_FILE) $$f $(DEFAULT_ICON_DIR); \ + $(INSTALL_FILE) $(srcdir)/$$f $(DEFAULT_ICON_DIR); \ fi; \ done Index: squid/include/autoconf.h.in =================================================================== RCS file: /cvsroot/squid-sf//squid/include/Attic/autoconf.h.in,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/include/autoconf.h.in 17 Apr 2000 00:56:52 -0000 1.1.1.3.4.1 +++ squid/include/autoconf.h.in 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -559,6 +559,9 @@ /* Define if you have the header file. */ #undef HAVE_SYS_IOCTL_H +/* Define if you have the header file. */ +#undef HAVE_SYS_MOUNT_H + /* Define if you have the header file. */ #undef HAVE_SYS_NDIR_H Index: squid/include/version.h =================================================================== RCS file: /cvsroot/squid-sf//squid/include/version.h,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/include/version.h 17 Apr 2000 00:56:52 -0000 1.1.1.3.4.2 +++ squid/include/version.h 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,10 +1,10 @@ /* - * $Id: version.h,v 1.1.1.3.4.2 2000/04/17 00:56:52 hno Exp $ + * $Id: version.h,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * SQUID_VERSION - String for version id of this distribution */ #ifndef SQUID_VERSION -#define SQUID_VERSION "2.3.STABLE2" +#define SQUID_VERSION "2.3.STABLE2-hno.CVS" #endif #ifndef SQUID_RELEASE_TIME Index: squid/src/acl.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/acl.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/acl.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/acl.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: acl.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: acl.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 28 Access Control * AUTHOR: Duane Wessels @@ -1938,37 +1938,23 @@ static int aclDomainCompare(const void *a, const void *b) { - const char *d1 = a; - const char *d2 = b; - int l1; - int l2; - while ('.' == *d1) - d1++; - while ('.' == *d2) - d2++; - l1 = strlen(d1); - l2 = strlen(d2); - while (d1[--l1] == d2[--l2]) { - if ((l1 == 0) && (l2 == 0)) - return 0; /* d1 == d2 */ - if (0 == l1) { - if ('.' == d2[l2 - 1]) { - debug(28, 0) ("WARNING: %s is a subdomain of %s\n", d2, d1); - debug(28, 0) ("WARNING: This may break Splay tree searching\n"); - debug(28, 0) ("WARNING: You should remove '%s' from the ACL named '%s'\n", d2, AclMatchedName); - } - return -1; /* d1 < d2 */ - } - if (0 == l2) { - if ('.' == d1[l1 - 1]) { - debug(28, 0) ("WARNING: %s is a subdomain of %s\n", d1, d2); - debug(28, 0) ("WARNING: This may break Splay tree searching\n"); - debug(28, 0) ("WARNING: You should remove '%s' from the ACL named '%s'\n", d1, AclMatchedName); - } - return 1; /* d1 > d2 */ - } + const char *d1; + const char *d2; + int ret; + d1=b; + d2=a; + ret = aclHostDomainCompare(d1, d2); + if (ret != 0) { + d1=a; + d2=b; + ret = aclHostDomainCompare(d1, d2); + } + if (ret == 0) { + debug(28,0 ) ("WARNING: '%s' is a subdomain of '%s'\n", d1, d2); + debug(28, 0) ("WARNING: because of this '%s' is ignored to keep splay tree searching predictable\n", a); + debug(28, 0) ("WARNING: You should probably remove '%s' from the ACL named '%s'\n", d1, AclMatchedName); } - return (d1[l1] - d2[l2]); + return ret; } /* compare a host and a domain */ Index: squid/src/aiops.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/aiops.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/aiops.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/aiops.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,5 +1,5 @@ /* - * $Id: aiops.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: aiops.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 43 AIOPS * AUTHOR: Stewart Forster @@ -55,6 +55,13 @@ #define USE_PROPER_MUTEX 1 #endif +#if defined(_SQUID_LINUX_) +/* Linux requires proper use of mutexes or it will segfault deep in the + * thread libraries. Observed on Alpha SMP Linux 2.2.10-ac12. + */ +#define AIO_PROPER_MUTEX 1 +#endif + enum _aio_thread_status { _THREAD_STARTING = 0, _THREAD_WAITING, Index: squid/src/cache_cf.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/cache_cf.c,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/cache_cf.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.2 +++ squid/src/cache_cf.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: cache_cf.c,v 1.1.1.3.4.2 2000/04/17 00:56:53 hno Exp $ + * $Id: cache_cf.c,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 3 Configuration File Parsing * AUTHOR: Harvest Derived @@ -1035,6 +1035,7 @@ p->weight = 1; p->icp.version = ICP_VERSION_CURRENT; p->tcp_up = PEER_TCP_MAGIC_COUNT; + p->test_fd = -1; #if USE_CARP if (p->carp.load_factor) { /* calculate this peers hash for use in CARP */ Index: squid/src/cf.data.pre =================================================================== RCS file: /cvsroot/squid-sf//squid/src/cf.data.pre,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/cf.data.pre 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.2 +++ squid/src/cf.data.pre 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ # -# $Id: cf.data.pre,v 1.1.1.3.4.2 2000/04/17 00:56:53 hno Exp $ +# $Id: cf.data.pre,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ # # # SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -917,6 +917,27 @@ dns_children 5 DOC_END +NAME: dns_retransmit_interval +TYPE: time_t +DEFAULT: 5 seconds +LOC: Config.Timeout.idns_retransmit +IFDEF: !USE_DNSSERVERS +DOC_START + Initial retransmit interval for DNS queries. The interval is + doubled each time all configured DNS servers have been tried. + +DOC_END + +NAME: dns_timeout +TYPE: time_t +DEFAULT: 5 minutes +LOC: Config.Timeout.idns_query +IFDEF: !USE_DNSSERVERS +DOC_START + DNS Query timeout. If no response is received to a DNS query + within this time then all DNS servers for the queried domain + is assumed to be unavailable. +DOC_END NAME: dns_defnames COMMENT: on|off @@ -1494,13 +1515,14 @@ NAME: request_timeout TYPE: time_t LOC: Config.Timeout.request -DEFAULT: 30 seconds +DEFAULT: 5 minutes DOC_START - How long to wait for an HTTP request after connection - establishment. For persistent connections, wait this long - after the previous request completes. + How long to wait for the first HTTP request after connection + establishment. + + For persistent connections idle timeout, see pconn_timeout. -request_timeout 30 seconds +request_timeout 5 minutes DOC_END @@ -1550,8 +1572,12 @@ LOC: Config.Timeout.pconn DEFAULT: 120 seconds DOC_START - Timeout for idle persistent connections to servers and other - proxies. + Timeout for idle persistent connections to clients, servers + and other proxies. + + Persistent connections will be disabled if this is less than 10 + seconds. + pconn_timeout 120 seconds DOC_END Index: squid/src/client_side.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/client_side.c,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/client_side.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.2 +++ squid/src/client_side.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.1.1.3.4.2 2000/04/17 00:56:53 hno Exp $ + * $Id: client_side.c,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -539,6 +539,8 @@ return; } http->log_type = LOG_TCP_MISS; + /* Release both IP and object cache entries */ + ipcacheInvalidate(http->request->host); if ((entry = storeGetPublic(http->uri, METHOD_GET)) == NULL) { http->http_code = HTTP_NOT_FOUND; } else { @@ -1055,7 +1057,9 @@ { HttpHeader *hdr = rep ? &rep->header : 0; const char *range_err = NULL; - assert(http->request->range); + request_t *request = http->request; + int is_hit = isTcpHit(http->log_type); + assert(request->range); /* check if we still want to do ranges */ if (!rep) range_err = "no [parse-able] reply"; @@ -1073,6 +1077,11 @@ range_err = "canonization failed"; else if (httpHdrRangeIsComplex(http->request->range)) range_err = "too complex range header"; + else if (!request->flags.cachable) /* from we_do_ranges in http.c */ + range_err = "non-cachable request"; + else if (!is_hit && Config.rangeOffsetLimit < httpHdrRangeFirstOffset(request->range) + && Config.rangeOffsetLimit != -1) /* from we_do_ranges in http.c */ + range_err = "range outside range_offset_limit"; /* get rid of our range specs on error */ if (range_err) { debug(33, 3) ("clientBuildRangeHeader: will not do ranges: %s.\n", range_err); @@ -1738,7 +1747,7 @@ /* * Set the timeout BEFORE calling clientReadRequest(). */ - commSetTimeout(conn->fd, 15, requestTimeout, conn); + commSetTimeout(conn->fd, Config.Timeout.pconn, requestTimeout, conn); clientReadRequest(conn->fd, conn); /* Read next request */ /* * Note, the FD may be closed at this point. @@ -1860,6 +1869,13 @@ /* We can generate a HEAD reply from a cached GET object */ e = http->entry = storeGetPublic(http->uri, METHOD_GET); } + /* Release negatively cached IP-cache entries on reload */ + if (r->flags.nocache) + ipcacheReleaseInvalid(r->host); +#if HTTP_VIOLATIONS + else if (r->flags.nocache_hack) + ipcacheReleaseInvalid(r->host); +#endif #if USE_CACHE_DIGESTS http->lookup_type = e ? "HIT" : "MISS"; #endif @@ -1885,12 +1901,6 @@ return LOG_TCP_HIT; } #if HTTP_VIOLATIONS - if (r->flags.nocache_hack) { - /* if nocache_hack is set, nocache should always be clear, right? */ - assert(!r->flags.nocache); - ipcacheReleaseInvalid(r->host); - /* continue! */ - } if (e->store_status == STORE_PENDING) { if (r->flags.nocache || r->flags.nocache_hack) { debug(33, 3) ("Clearing no-cache for STORE_PENDING request\n\t%s\n", @@ -2321,10 +2331,9 @@ } /* * Don't reset the timeout value here. The timeout value will be - * set to Config.Timeout.request by httpAccept() and - * clientWriteComplete(), and should apply to the request as a - * whole, not individual read() calls. Plus, it breaks our - * lame half-close detection + * set to by httpAccept() and clientWriteComplete(), and should + * apply to the request headers as a whole, not individual read() + * calls. Plus, it breaks our lame half-close detection */ commSetSelect(fd, COMM_SELECT_READ, clientReadRequest, conn, 0); if (size == 0) { Index: squid/src/delay_pools.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/delay_pools.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/delay_pools.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/delay_pools.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: delay_pools.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: delay_pools.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 77 Delay Pools * AUTHOR: David Luyer @@ -237,18 +237,18 @@ */ switch (class) { case 1: - delay_data[pool].class1->aggregate = (rates->aggregate.max_bytes * - Config.Delay.initial) / 100; + delay_data[pool].class1->aggregate = (int)(((double)rates->aggregate.max_bytes * + Config.Delay.initial) / 100); break; case 2: - delay_data[pool].class2->aggregate = (rates->aggregate.max_bytes * - Config.Delay.initial) / 100; + delay_data[pool].class2->aggregate = (int)(((double)rates->aggregate.max_bytes * + Config.Delay.initial) / 100); delay_data[pool].class2->individual_map[0] = 255; delay_data[pool].class2->individual_255_used = 0; break; case 3: - delay_data[pool].class3->aggregate = (rates->aggregate.max_bytes * - Config.Delay.initial) / 100; + delay_data[pool].class3->aggregate = (int)(((double)rates->aggregate.max_bytes * + Config.Delay.initial) / 100); delay_data[pool].class3->network_map[0] = 255; delay_data[pool].class3->network_255_used = 0; memset(&delay_data[pool].class3->individual_255_used, '\0', @@ -357,8 +357,8 @@ assert(i < (IND_MAP_SZ - 1)); delay_data[pool].class2->individual_map[i + 1] = 255; delay_data[pool].class2->individual[i] = - (Config.Delay.rates[pool]->individual.max_bytes * - Config.Delay.initial) / 100; + (int)(((double)Config.Delay.rates[pool]->individual.max_bytes * + Config.Delay.initial) / 100); break; } } @@ -373,8 +373,8 @@ if (!delay_data[pool].class3->network_255_used) { delay_data[pool].class3->network_255_used = 1; delay_data[pool].class3->network[255] = - (Config.Delay.rates[pool]->network.max_bytes * - Config.Delay.initial) / 100; + (int)(((double)Config.Delay.rates[pool]->network.max_bytes * + Config.Delay.initial) / 100); } } else { for (i = 0; i < NET_MAP_SZ; i++) { @@ -386,8 +386,8 @@ assert(i < (NET_MAP_SZ - 1)); delay_data[pool].class3->network_map[i + 1] = 255; delay_data[pool].class3->network[i] = - (Config.Delay.rates[pool]->network.max_bytes * - Config.Delay.initial) / 100; + (int)(((double)Config.Delay.rates[pool]->network.max_bytes * + Config.Delay.initial) / 100); break; } } @@ -399,8 +399,8 @@ delay_data[pool].class3->individual_255_used[i / 8] |= (1 << (i % 8)); assert(position < C3_IND_SZ); delay_data[pool].class3->individual[position] = - (Config.Delay.rates[pool]->individual.max_bytes * - Config.Delay.initial) / 100; + (int)(((double)Config.Delay.rates[pool]->individual.max_bytes * + Config.Delay.initial) / 100); } return delayId(pool + 1, position); } Index: squid/src/dns_internal.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/dns_internal.c,v retrieving revision 1.1.1.1.4.2 retrieving revision 1.1.1.1.4.2.4.1 diff -u -r1.1.1.1.4.2 -r1.1.1.1.4.2.4.1 --- squid/src/dns_internal.c 17 Apr 2000 00:56:53 -0000 1.1.1.1.4.2 +++ squid/src/dns_internal.c 17 Apr 2000 02:49:20 -0000 1.1.1.1.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: dns_internal.c,v 1.1.1.1.4.2 2000/04/17 00:56:53 hno Exp $ + * $Id: dns_internal.c,v 1.1.1.1.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c * AUTHOR: Duane Wessels @@ -44,8 +44,6 @@ #define DOMAIN_PORT 53 #endif -#define IDNS_MAX_TRIES 20 - typedef struct _idns_query idns_query; typedef struct _ns ns; @@ -148,13 +146,13 @@ t = strtok(buf, w_space); if (t == NULL) continue;; - if (strcasecmp(t, "nameserver")) - continue; - t = strtok(NULL, w_space); - if (t == NULL) - continue;; - debug(78, 1) ("Adding nameserver %s from %s\n", t, _PATH_RESOLV_CONF); - idnsAddNameserver(t); + if (strcasecmp(t, "nameserver") == 0) { + t = strtok(NULL, w_space); + if (t == NULL) + continue;; + debug(78, 1) ("Adding nameserver %s from %s\n", t, _PATH_RESOLV_CONF); + idnsAddNameserver(t); + } } fclose(fp); } @@ -212,21 +210,24 @@ assert(nns > 0); assert(q->lru.next == NULL); assert(q->lru.prev == NULL); +try_again: ns = q->nsends % nns; x = comm_udp_sendto(DnsSocket, &nameservers[ns].S, sizeof(nameservers[ns].S), q->buf, q->sz); + q->nsends++; + q->sent_t = current_time; if (x < 0) { debug(50, 1) ("idnsSendQuery: FD %d: sendto: %s\n", DnsSocket, xstrerror()); + if (q->nsends % nns != 0) + goto try_again; } else { fd_bytes(DnsSocket, x, FD_WRITE); commSetSelect(DnsSocket, COMM_SELECT_READ, idnsRead, NULL, 0); } - q->nsends++; - q->sent_t = current_time; nameservers[ns].nqueries++; dlinkAdd(q, &q->lru, &lru_list); idnsTickleQueue(); @@ -358,13 +359,13 @@ event_queued = 0; for (n = lru_list.tail; n; n = p) { q = n->data; - if (tvSubDsec(q->sent_t, current_time) < 5.0) + if (tvSubDsec(q->sent_t, current_time) < Config.Timeout.idns_retransmit * ( 1 << q->nsends % nns)) break; debug(78, 3) ("idnsCheckQueue: ID %#04x timeout\n", q->id); p = n->prev; dlinkDelete(&q->lru, &lru_list); - if (q->nsends < IDNS_MAX_TRIES) { + if (tvSubDsec(q->start_t, current_time) < Config.Timeout.idns_query) { idnsSendQuery(q); } else { int v = cbdataValid(q->callback_data); Index: squid/src/forward.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/forward.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/forward.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/forward.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: forward.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: forward.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 17 Request Forwarding * AUTHOR: Duane Wessels @@ -130,13 +130,20 @@ fwdState->n_tries, (int) (squid_curtime - fwdState->start)); if (fwdState->servers->next) { - /* cycle */ + /* use next, or cycle if origin server isn't last */ FwdServer *fs = fwdState->servers; - FwdServer **T; + FwdServer **T, *T2 = NULL; fwdState->servers = fs->next; - for (T = &fwdState->servers; *T; T = &(*T)->next); - *T = fs; - fs->next = NULL; + for (T = &fwdState->servers; *T; T2=*T, T = &(*T)->next); + if (T2 && T2->peer) { + /* cycle */ + *T = fs; + fs->next = NULL; + } else { + /* Use next. The last "direct" entry is retried multiple times */ + fwdState->servers = fs->next; + fwdServerFree(fs); + } } /* use eventAdd to break potential call sequence loops */ eventAdd("fwdConnectStart", fwdConnectStart, fwdState, 0.0, 0); @@ -179,12 +186,14 @@ err->request = requestLink(request); fwdFail(fwdState, err); if (fs->peer) - peerCheckConnectStart(fs->peer); + peerConnectFailed(fs->peer); comm_close(server_fd); } else { debug(17, 3) ("fwdConnectDone: FD %d: '%s'\n", server_fd, storeUrl(fwdState->entry)); fd_note(server_fd, storeUrl(fwdState->entry)); fd_table[server_fd].uses++; + if (fs->peer) + peerConnectSucceded(fs->peer); fwdDispatch(fwdState); } current = NULL; @@ -203,12 +212,8 @@ err->request = requestLink(fwdState->request); err->xerrno = ETIMEDOUT; fwdFail(fwdState, err); - /* - * This marks the peer DOWN ... - */ - if (fwdState->servers) - if (fwdState->servers->peer) - peerCheckConnectStart(fwdState->servers->peer); + if (fwdState->servers->peer) + peerConnectFailed(fwdState->servers->peer); } comm_close(fd); } Index: squid/src/ftp.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/ftp.c,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/ftp.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.2 +++ squid/src/ftp.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: ftp.c,v 1.1.1.3.4.2 2000/04/17 00:56:53 hno Exp $ + * $Id: ftp.c,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 9 File Transfer Protocol (FTP) * AUTHOR: Harvest Derived @@ -895,7 +895,7 @@ ftpListingStart(ftpState); } if (len < 0) { - debug(50, 1) ("ftpDataRead: read error: %s\n", xstrerror()); + debug(50, ignoreErrno(errno) ? 3 : 1) ("ftpDataRead: read error: %s\n", xstrerror()); if (ignoreErrno(errno)) { commSetSelect(fd, COMM_SELECT_READ, @@ -1251,7 +1251,7 @@ } debug(9, 5) ("ftpReadControlReply: FD %d, Read %d bytes\n", fd, len); if (len < 0) { - debug(50, 1) ("ftpReadControlReply: read error: %s\n", xstrerror()); + debug(50, ignoreErrno(errno) ? 3 : 1) ("ftpReadControlReply: read error: %s\n", xstrerror()); if (ignoreErrno(errno)) { ftpScheduleReadControlReply(ftpState, 0); } else { @@ -1649,6 +1649,14 @@ int fd; struct sockaddr_in addr; socklen_t addr_len; + if (ftpState->request->method == METHOD_HEAD) { + /* Terminate here for HEAD requests */ + ftpAppendSuccessHeader(ftpState); + storeTimestampsSet(ftpState->entry); + fwdComplete(ftpState->fwd); + ftpSendQuit(ftpState); + return; + } if (ftpState->data.fd >= 0) { if (!ftpState->flags.datachannel_hack) { /* We are already connected, reuse this connection. */ Index: squid/src/helper.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/helper.c,v retrieving revision 1.1.1.3 retrieving revision 1.1.1.3.18.1 diff -u -r1.1.1.3 -r1.1.1.3.18.1 --- squid/src/helper.c 26 Jan 2000 03:25:01 -0000 1.1.1.3 +++ squid/src/helper.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.18.1 @@ -179,7 +179,8 @@ continue; } srv->flags.closing = 1; - comm_close(srv->rfd); + comm_close(srv->wfd); + srv->wfd = -1; } } @@ -223,7 +224,7 @@ helperRequestFree(r); srv->request = NULL; } - if (srv->wfd != srv->rfd) + if (srv->wfd != srv->rfd && srv->wfd != -1) comm_close(srv->wfd); dlinkDelete(&srv->link, &hlp->servers); hlp->n_running--; @@ -282,9 +283,10 @@ intAverage(hlp->stats.avg_svc_time, tvSubMsec(srv->dispatch_time, current_time), hlp->stats.replies, REDIRECT_AV_FACTOR); - if (srv->flags.shutdown) + if (srv->flags.shutdown) { comm_close(srv->wfd); - else + srv->wfd = -1; + } else helperKickQueue(hlp); } else { commSetSelect(srv->rfd, COMM_SELECT_READ, helperHandleRead, srv, 0); Index: squid/src/http.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/http.c,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/http.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.2 +++ squid/src/http.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: http.c,v 1.1.1.3.4.2 2000/04/17 00:56:53 hno Exp $ + * $Id: http.c,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 11 Hypertext Transfer Protocol (HTTP) * AUTHOR: Harvest Derived @@ -327,10 +327,12 @@ if (httpState->reply_hdr == NULL) httpState->reply_hdr = memAllocate(MEM_8K_BUF); assert(httpState->reply_hdr_state == 0); - hdr_len = strlen(httpState->reply_hdr); + hdr_len = httpState->reply_hdr_size; room = 8191 - hdr_len; - strncat(httpState->reply_hdr, buf, room < size ? room : size); + memcpy(httpState->reply_hdr + hdr_len, buf, room < size ? room : size); hdr_len += room < size ? room : size; + httpState->reply_hdr[hdr_len] = '\0'; + httpState->reply_hdr_size = hdr_len; if (hdr_len > 4 && strncmp(httpState->reply_hdr, "HTTP/", 5)) { debug(11, 3) ("httpProcessReplyHeader: Non-HTTP-compliant header: '%s'\n", httpState->reply_hdr); httpState->reply_hdr_state += 2; @@ -340,9 +342,17 @@ t = httpState->reply_hdr + hdr_len; /* headers can be incomplete only if object still arriving */ if (!httpState->eof) { - size_t k = headersEnd(httpState->reply_hdr, 8192); - if (0 == k) - return; /* headers not complete */ + size_t k = headersEnd(httpState->reply_hdr, hdr_len); + if (0 == k) { + if (hdr_len >= 8191 || room == 0) { + debug(11, 3) ("httpProcessReplyHeader: Too large HTTP header: '%s'\n", httpState->reply_hdr); + httpState->reply_hdr_state += 2; + reply->sline.status = HTTP_INVALID_HEADER; + return; + } else { + return; /* headers not complete */ + } + } t = httpState->reply_hdr + k; } *t = '\0'; Index: squid/src/ipc.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/ipc.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/ipc.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/ipc.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: ipc.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: ipc.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 54 Interprocess Communication * AUTHOR: Duane Wessels @@ -228,14 +228,14 @@ return ipcCloseAllFD(prfd, pwfd, crfd, cwfd); } if (type == IPC_UDP_SOCKET) { - x = send(cwfd, hello_string, strlen(hello_string), 0); + x = send(cwfd, hello_string, strlen(hello_string) + 1, 0); if (x < 0) { debug(50, 0) ("sendto FD %d: %s\n", cwfd, xstrerror()); debug(50, 0) ("ipcCreate: CHILD: hello write test failed\n"); _exit(1); } } else { - if (write(cwfd, hello_string, strlen(hello_string)) < 0) { + if (write(cwfd, hello_string, strlen(hello_string) + 1) < 0) { debug(50, 0) ("write FD %d: %s\n", cwfd, xstrerror()); debug(50, 0) ("ipcCreate: CHILD: hello write test failed\n"); _exit(1); @@ -268,10 +268,14 @@ close(t1); close(t2); close(t3); + /* Make sure all other filedescriptors are closed */ + for(x=3;xoptions.mcast_responder) return 0; + if (p->n_addresses == 0) + return 0; /* the case below seems strange, but can happen if the * URL host is on the other side of a firewall */ if (p->type == PEER_SIBLING) if (!request->flags.hierarchical) return 0; - if (p->icp.port == echo_port) - if (!neighborUp(p)) - return 0; - if (p->n_addresses == 0) + /* Ping dead peers every timeout interval */ + if (squid_curtime - p->stats.last_query > Config.Timeout.deadPeer) + return 1; + if (!neighborUp(p)) return 0; return 1; } @@ -435,24 +437,6 @@ */ p->stats.last_reply = squid_curtime; (*exprep) += p->mcast.n_replies_expected; - } else if (squid_curtime - p->stats.last_query > Config.Timeout.deadPeer) { - /* - * fake a recent reply if its been a long time since our - * last query - */ - p->stats.last_reply = squid_curtime; - /* - * We used to not expect a reply in this case; we assumed - * the peer was DEAD if we hadn't queried it in a long - * time. However, the number of people whining to - * squid-users that ICP is broken became unbearable. They - * tried a single request which, to their amazement, was - * forwarded directly to the origin server, even thought - * they KNEW it was in a neighbor cache. Ok, I give up, you - * win! - */ - (*exprep)++; - (*timeout) += 1000; } else if (neighborUp(p)) { /* its alive, expect a reply from it */ (*exprep)++; @@ -468,6 +452,8 @@ } } p->stats.last_query = squid_curtime; + if (p->stats.probe_start == 0) + p->stats.probe_start = squid_curtime; } if ((first_ping = first_ping->next) == NULL) first_ping = Config.peers; @@ -634,6 +620,7 @@ p->stats.logged_state = PEER_ALIVE; } p->stats.last_reply = squid_curtime; + p->stats.probe_start = 0; p->stats.pings_acked++; if ((icp_opcode) header->opcode <= ICP_END) p->icp.counts[header->opcode]++; @@ -666,6 +653,7 @@ p->stats.logged_state = PEER_ALIVE; } p->stats.last_reply = squid_curtime; + p->stats.probe_start = 0; p->stats.pings_acked++; p->htcp.counts[htcp->hit ? 1 : 0]++; p->htcp.version = htcp->version; @@ -879,11 +867,14 @@ int neighborUp(const peer * p) { - if (!p->tcp_up) + if (!p->tcp_up) { + peerProbeConnect((peer *)p); return 0; - if (squid_curtime - p->stats.last_query > Config.Timeout.deadPeer) + } + if (p->options.no_query) return 1; - if (p->stats.last_query - p->stats.last_reply > Config.Timeout.deadPeer) + if (p->stats.probe_start != 0 && + squid_curtime - p->stats.probe_start > Config.Timeout.deadPeer) return 0; return 1; } @@ -979,62 +970,82 @@ eventAddIsh("peerRefreshDNS", peerRefreshDNS, NULL, 3600.0, 1); } +void +peerConnectFailed(peer *p) +{ + p->stats.last_connect_failure = squid_curtime; + if (!p->tcp_up) { + debug(15, 2) ("TCP connection to %s/%d dead\n", p->host, p->http_port); + return; + } + debug(15, 1) ("TCP connection to %s/%d failed\n", p->host, p->http_port); + p->tcp_up--; + if (!p->tcp_up) { + debug(15, 1) ("Detected DEAD %s: %s/%d/%d\n", + neighborTypeStr(p), + p->host, p->http_port, p->icp.port); + p->stats.logged_state = PEER_DEAD; + } +} + +void +peerConnectSucceded(peer *p) +{ + if (!p->tcp_up) { + debug(15, 2) ("TCP connection to %s/%d succeded\n", p->host, p->http_port); + debug(15, 1) ("Detected REVIVED %s: %s/%d/%d\n", + neighborTypeStr(p), + p->host, p->http_port, p->icp.port); + p->stats.logged_state = PEER_ALIVE; + } + p->tcp_up = PEER_TCP_MAGIC_COUNT; +} + /* - * peerCheckConnect will NOT be called by eventRun if the peer/data - * pointer becomes invalid. + * peerProbeConnect will be called on dead peers by neighborUp */ static void -peerCheckConnect(void *data) +peerProbeConnect(peer *p) { - peer *p = data; int fd; + if (p->test_fd != -1) + return; /* probe already running */ + if (squid_curtime - p->stats.last_connect_probe < Config.Timeout.connect) + return; /* don't probe to often */ fd = comm_open(SOCK_STREAM, 0, Config.Addrs.tcp_outgoing, 0, COMM_NONBLOCKING, p->host); if (fd < 0) return; p->test_fd = fd; - ipcache_nbgethostbyname(p->host, peerCheckConnect2, p); + p->stats.last_connect_probe = squid_curtime; + ipcache_nbgethostbyname(p->host, peerProbeConnect2, p); } static void -peerCheckConnect2(const ipcache_addrs * ianotused, void *data) +peerProbeConnect2(const ipcache_addrs * ianotused, void *data) { peer *p = data; commConnectStart(p->test_fd, p->host, p->http_port, - peerCheckConnectDone, + peerProbeConnectDone, p); } static void -peerCheckConnectDone(int fd, int status, void *data) +peerProbeConnectDone(int fd, int status, void *data) { peer *p = data; if (status == COMM_OK) { - p->tcp_up = PEER_TCP_MAGIC_COUNT; - debug(15, 1) ("TCP connection to %s/%d succeeded\n", - p->host, p->http_port); + peerConnectSucceded(p); } else { - eventAdd("peerCheckConnect", peerCheckConnect, p, 60.0, 1); + peerConnectFailed(p); } comm_close(fd); + p->test_fd = -1; return; } -void -peerCheckConnectStart(peer * p) -{ - if (!p->tcp_up) - return; - debug(15, 1) ("TCP connection to %s/%d failed\n", p->host, p->http_port); - p->tcp_up--; - if (p->tcp_up != (PEER_TCP_MAGIC_COUNT - 1)) - return; - p->last_fail_time = squid_curtime; - eventAdd("peerCheckConnect", peerCheckConnect, p, 30.0, 1); -} - static void peerCountMcastPeersSchedule(peer * p, time_t when) { @@ -1237,9 +1248,9 @@ #if USE_HTCP } #endif - if (e->last_fail_time) { + if (e->stats.last_connect_failure) { storeAppendPrintf(sentry, "Last failed connect() at: %s\n", - mkhttpdlogtime(&(e->last_fail_time))); + mkhttpdlogtime(&(e->stats.last_connect_failure))); } if (e->peer_domain != NULL) { storeAppendPrintf(sentry, "DOMAIN LIST: "); Index: squid/src/peer_select.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/peer_select.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/peer_select.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/peer_select.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: peer_select.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: peer_select.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 44 Peer Selection Algorithm * AUTHOR: Duane Wessels @@ -209,6 +209,8 @@ int myhops; if (p == NULL) return 0; + if (psstate->direct == DIRECT_NO) + return 0; myrtt = netdbHostRtt(psstate->request->host); debug(44, 3) ("peerCheckNetdbDirect: MY RTT = %d msec\n", myrtt); debug(44, 3) ("peerCheckNetdbDirect: closest_parent_miss RTT = %d msec\n", @@ -276,8 +278,8 @@ if (Config.onoff.prefer_direct) peerGetSomeDirect(ps); peerGetSomeParent(ps); - if (!Config.onoff.prefer_direct) - peerGetSomeDirect(ps); + /* Have direct as a last resort if possible.. */ + peerGetSomeDirect(ps); peerSelectCallback(ps); } Index: squid/src/protos.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/protos.h,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/protos.h 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/protos.h 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: protos.h,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: protos.h,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -636,7 +636,8 @@ extern CBDUNL peerDestroy; extern char *neighborTypeStr(const peer * e); extern peer_t neighborType(const peer *, const request_t *); -extern void peerCheckConnectStart(peer *); +extern void peerConnectFailed(peer *); +extern void peerConnectSucceded(peer *); extern void dump_peer_options(StoreEntry *, peer *); extern int peerHTTPOkay(const peer *, request_t *); extern peer *whichPeer(const struct sockaddr_in *from); Index: squid/src/pump.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/pump.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/pump.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/pump.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,5 +1,5 @@ /* - * $Id: pump.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: pump.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 61 PUMP handler * AUTHOR: Kostas Anagnostakis @@ -227,6 +227,12 @@ cbdataUnlock(p->cbdata); storeUnlockObject(p->reply_entry); p->reply_entry = NULL; + /* + * and now we don't care about the client side either + * tear down the pump state. + */ + comm_remove_close_handler(p->c_fd, pumpFree, p); + pumpFree(p->c_fd, p); } Index: squid/src/ssl.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/ssl.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/ssl.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/ssl.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: ssl.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: ssl.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 26 Secure Sockets Layer Proxy * AUTHOR: Duane Wessels @@ -416,6 +416,31 @@ SslStateData *sslState = NULL; int sock; ErrorState *err = NULL; + aclCheck_t ch; + int answer; + /* + * client_addr == no_addr indicates this is an "internal" request + * from peer_digest.c, asn.c, netdb.c, etc and should always + * be allowed. yuck, I know. + */ + if (request->client_addr.s_addr != no_addr.s_addr) { + /* + * Check if this host is allowed to fetch MISSES from us (miss_access) + */ + memset(&ch, '\0', sizeof(aclCheck_t)); + ch.src_addr = request->client_addr; + ch.my_addr = request->my_addr; + ch.my_port = request->my_port; + ch.request = request; + answer = aclCheckFast(Config.accessList.miss, &ch); + if (answer == 0) { + err = errorCon(ERR_FORWARDING_DENIED, HTTP_FORBIDDEN); + err->request = requestLink(request); + err->src_addr = request->client_addr; + errorSend(fd, err); + return; + } + } debug(26, 3) ("sslStart: '%s %s'\n", RequestMethodStr[request->method], url); Counter.server.all.requests++; Index: squid/src/store.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/store.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/store.c 17 Apr 2000 00:56:53 -0000 1.1.1.3.4.1 +++ squid/src/store.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: store.c,v 1.1.1.3.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: store.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 20 Storage Manager * AUTHOR: Harvest Derived @@ -557,7 +557,9 @@ debug(20, 3) ("storeCheckCachable: NO: negative cached\n"); store_check_cachable_hist.no.negative_cached++; return 0; /* avoid release call below */ - } else if (e->mem_obj->inmem_hi > Config.Store.maxObjectSize) { + } else if ((e->mem_obj->reply->content_length > 0 && + e->mem_obj->reply->content_length > Config.Store.maxObjectSize) || + e->mem_obj->inmem_hi > Config.Store.maxObjectSize) { debug(20, 2) ("storeCheckCachable: NO: too big\n"); store_check_cachable_hist.no.too_big++; } else if (e->mem_obj->reply->content_length > (int) Config.Store.maxObjectSize) { @@ -730,8 +732,10 @@ pages_needed = (size / SM_PAGE_SIZE) + 1; if (memInUse(MEM_STMEM_BUF) + pages_needed < store_pages_max) return; +#if DONT_DO_THIS_HERE if (store_dirs_rebuilding) return; +#endif debug(20, 2) ("storeGetMemSpace: Starting, need %d pages\n", pages_needed); #if HEAP_REPLACEMENT while (heap_nodes(inmem_heap) > 0) { @@ -967,12 +971,16 @@ storeSetMemStatus(e, NOT_IN_MEMORY); destroy_MemObject(e); } - /* - * Fake a call to storeLockObject(). When rebuilding is done, - * we'll just call storeUnlockObject() on these. - */ - e->lock_count++; - stackPush(&LateReleaseStack, e); + if (e->swap_file_number > -1) { + /* + * Fake a call to storeLockObject(). When rebuilding is done, + * we'll just call storeUnlockObject() on these. + */ + e->lock_count++; + stackPush(&LateReleaseStack, e); + } else { + destroy_StoreEntry(e); + } return; } storeLog(STORE_LOG_RELEASE, e); Index: squid/src/store_dir_ufs.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/store_dir_ufs.c,v retrieving revision 1.1.1.1.4.1 retrieving revision 1.1.1.1.4.1.4.1 diff -u -r1.1.1.1.4.1 -r1.1.1.1.4.1.4.1 --- squid/src/store_dir_ufs.c 17 Apr 2000 00:56:53 -0000 1.1.1.1.4.1 +++ squid/src/store_dir_ufs.c 17 Apr 2000 02:49:20 -0000 1.1.1.1.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: store_dir_ufs.c,v 1.1.1.1.4.1 2000/04/17 00:56:53 hno Exp $ + * $Id: store_dir_ufs.c,v 1.1.1.1.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -38,6 +38,9 @@ #if HAVE_SYS_STATVFS_H #include #endif +#if HAVE_SYS_MOUNT_H +#include +#endif #endif #define DefaultLevelOneDirs 16 @@ -455,6 +458,7 @@ storeDirMapBitReset(e->swap_file_number); e->swap_file_number = -1; } + storeRelease(e); rb->counts.objcount--; rb->counts.cancelcount++; } Index: squid/src/structs.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/structs.h,v retrieving revision 1.1.1.3.4.2 retrieving revision 1.1.1.3.4.2.4.1 diff -u -r1.1.1.3.4.2 -r1.1.1.3.4.2.4.1 --- squid/src/structs.h 17 Apr 2000 00:56:54 -0000 1.1.1.3.4.2 +++ squid/src/structs.h 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.2.4.1 @@ -1,6 +1,6 @@ /* - * $Id: structs.h,v 1.1.1.3.4.2 2000/04/17 00:56:54 hno Exp $ + * $Id: structs.h,v 1.1.1.3.4.2.4.1 2000/04/17 02:49:20 hno Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -266,6 +266,10 @@ #if USE_IDENT time_t ident; #endif +#if !USE_DNSSERVERS + time_t idns_retransmit; + time_t idns_query; +#endif } Timeout; size_t maxRequestHeaderSize; size_t maxRequestBodySize; @@ -770,6 +774,7 @@ StoreEntry *entry; request_t *request; char *reply_hdr; + size_t reply_hdr_size; int reply_hdr_state; peer *peer; /* peer request made to */ int eof; /* reached end-of-object? */ @@ -1053,8 +1058,11 @@ int ignored_replies; int n_keepalives_sent; int n_keepalives_recv; + time_t probe_start; time_t last_query; time_t last_reply; + time_t last_connect_failure; + time_t last_connect_probe; int logged_state; /* so we can print dead/revived msgs */ } stats; struct { @@ -1106,7 +1114,6 @@ char *digest_url; #endif int tcp_up; /* 0 if a connect() fails */ - time_t last_fail_time; struct in_addr addresses[10]; int n_addresses; int rr_count; Index: squid/src/unlinkd.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/unlinkd.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/unlinkd.c 17 Apr 2000 00:56:54 -0000 1.1.1.3.4.1 +++ squid/src/unlinkd.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,5 +1,5 @@ /* - * $Id: unlinkd.c,v 1.1.1.3.4.1 2000/04/17 00:56:54 hno Exp $ + * $Id: unlinkd.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 12 Unlink Daemon * AUTHOR: Duane Wessels @@ -48,6 +48,8 @@ int x; setbuf(stdin, NULL); setbuf(stdout, NULL); + close(2); + open("/dev/null", O_RDWR); while (fgets(buf, UNLINK_BUF_LEN, stdin)) { if ((t = strchr(buf, '\n'))) *t = '\0'; Index: squid/src/url.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/url.c,v retrieving revision 1.1.1.3.4.1 retrieving revision 1.1.1.3.4.1.4.1 diff -u -r1.1.1.3.4.1 -r1.1.1.3.4.1.4.1 --- squid/src/url.c 17 Apr 2000 00:56:54 -0000 1.1.1.3.4.1 +++ squid/src/url.c 17 Apr 2000 02:49:20 -0000 1.1.1.3.4.1.4.1 @@ -1,6 +1,6 @@ /* - * $Id: url.c,v 1.1.1.3.4.1 2000/04/17 00:56:54 hno Exp $ + * $Id: url.c,v 1.1.1.3.4.1.4.1 2000/04/17 02:49:20 hno Exp $ * * DEBUG: section 23 URL Parsing * AUTHOR: Duane Wessels @@ -127,7 +127,7 @@ * way we expect it to. */ assert(0 == matchDomainName("foo.com", "foo.com")); - assert(0 == matchDomainName(".foo.com", "foo.com")); + assert(0 < matchDomainName(".foo.com", "foo.com")); assert(0 == matchDomainName("foo.com", ".foo.com")); assert(0 == matchDomainName(".foo.com", ".foo.com")); assert(0 == matchDomainName("x.foo.com", ".foo.com")); @@ -140,6 +140,8 @@ assert(0 < matchDomainName("zzz.com", "foo.com")); assert(0 > matchDomainName("aaa.com", "foo.com")); assert(0 == matchDomainName("FOO.com", "foo.COM")); + assert(0 < matchDomainName("bfoo.com", "afoo.com")); + assert(0 > matchDomainName("afoo.com", "bfoo.com")); /* more cases? */ } @@ -408,15 +410,12 @@ * HOST DOMAIN MATCH? * ------------- ------------- ------ * foo.com foo.com YES - * .foo.com foo.com YES + * .foo.com foo.com NO * x.foo.com foo.com NO * foo.com .foo.com YES * .foo.com .foo.com YES * x.foo.com .foo.com YES * - * We strip leading dots on hosts (but not domains!) so that - * ".foo.com" is is always the same as "foo.com". - * * Return values: * 0 means the host matches the domain * 1 means the host is greater than the domain @@ -428,8 +427,6 @@ { int dl; int hl; - while ('.' == *h) - h++; hl = strlen(h); dl = strlen(d); /*