diff -ruN squid-2.5.STABLE5/CONTRIBUTORS squid-2.5.STABLE6/CONTRIBUTORS --- squid-2.5.STABLE5/CONTRIBUTORS Wed Feb 18 06:35:30 2004 +++ squid-2.5.STABLE6/CONTRIBUTORS Sat Jun 5 13:32:49 2004 @@ -86,7 +86,7 @@ Miquel van Smoorenburg Brian Ian Castle - Brad Smitch + Brad Smith Jerry Murdock Glen Gibb diff -ruN squid-2.5.STABLE5/ChangeLog squid-2.5.STABLE6/ChangeLog --- squid-2.5.STABLE5/ChangeLog Sun Feb 29 15:24:27 2004 +++ squid-2.5.STABLE6/ChangeLog Thu Jul 8 17:21:40 2004 @@ -1,3 +1,50 @@ +Changes to squid-2.5.STABLE6 (9 Jul 2004) + + - Bug #937: NTLM assertion error "srv->flags.reserved" + - Bug #935: squid_ldap_auth can be confused by the use of reserved + characters + - Helper queue warnings inprecice on the number of helpers required + - squid_ldap_auth TLS mode works correctly again + - Bug #940, #305: pkg-config support for finding correct OpenSSL + compile flags + - Bug #426: "Vary: *" is ignored + - 100% CPU usage on Linux-2.2 + - Version number should not include -CVS if autoconf is run + - Bug #947: deny_info redirection with requested URL escaped wrongly + - Bug #495: CONNECT timeout should produce a 504 or 503 + - Bug #956: cache_swap_log documentation referred to swap.state by + it's old swap.log name + - ntlm/auth_ntlm.c(683): warning #187: use of "=" where "==" may + have been intended + - Bug #962: rfc1035NameUnpack: Assertion (*off) < sz failed + - Bug #954: Segment violation when using a blank user name in digest + authentication + - Bug #943: assertion failed: errorpage.c:292: "mem->inmem_hi == 0" + - Spelling corrections in configure and squid.conf.default + - The meaning of ERR in digest helper protocol clarified in the + squid.conf documentation + - Bug #950: Spelling error in Turkish ERR_DNS_FAIL + - Bug #616: Negative cached 404 replies with VARY header never matched + - Bug #968: range_offset_limit -1 KB rejected as invalid syntax + due to a shortcoming in the fix to bug #817 + - Bug #570: Very large cache_mem values reported wrongly in cache.log + - Bug #676: store_dir_select_algorithm least-load doesn't work for + ufs cache_dir type + - Bug #946: cacheCurrentUnlinkRequests should be a counter, not gauge + - Bug #948: Show client ip in cache.log debug output + - Bug #960: compilation issue on OpenBSD/m88k + - Bug #969: FTP directory listing HTML DOCTYPE misread by some tools + - Bug #991: dns_servers should default to localhost if no resolv.conf + - Bug #717: msnt_auth documentation update + - Bug #753: Segfault in memBufVPrintf on certain architectures + requiring va_copy + - Bug #941: Negative size in access.log on long running CONNECT + requests + - Bug #972: Segmentation fault after "Likely proxy abuse detected" + - Bug #981: sasl_auth updated to work with SALS2 + - Overflow bug in Squid's ntlm_auth helper used for transparent NTLM + authentication to a NT domain without using Samba. + Changes to squid-2.5.STABLE5 (1 Mar 2004): - cache.log message on "squid -k reconfigure" was slightly confusing, @@ -11,7 +58,7 @@ - auth_param documentation clarifications and added default realm values making only the helper program a required attribute - Bug #795: German ERR_DNS_FAIL correction - - Bug #803: Lithuantian error messages update + - Bug #803: Lithuanian error messages update - Bug #806: Segfault if failing to load error page - Bug #812: Mozilla/Netscape plugins mime type defined (.xpi) - Bug #817: maximum_object_size too large causes squid not to cache diff -ruN squid-2.5.STABLE5/Makefile.in squid-2.5.STABLE6/Makefile.in --- squid-2.5.STABLE5/Makefile.in Tue Feb 11 19:02:00 2003 +++ squid-2.5.STABLE6/Makefile.in Tue Jun 8 05:37:09 2004 @@ -14,7 +14,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.6.2.18 2003/02/12 02:02:00 hno Exp $ +# $Id: Makefile.in,v 1.6.2.20 2004/06/08 11:37:09 hno Exp $ # SHELL = @SHELL@ @@ -83,6 +83,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -93,6 +94,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/RELEASENOTES.html squid-2.5.STABLE6/RELEASENOTES.html --- squid-2.5.STABLE5/RELEASENOTES.html Sun Feb 29 15:30:32 2004 +++ squid-2.5.STABLE6/RELEASENOTES.html Thu Jul 8 17:44:48 2004 @@ -1,13 +1,13 @@ - + Squid 2.5 release notes

Squid 2.5 release notes

-

Squid Developers

$Id: release-2.5.html,v 1.1.2.30 2004/02/29 22:24:27 hno Exp $ +

Squid Developers

$Id: release-2.5.html,v 1.1.2.32 2004/07/08 23:31:28 hno Exp $
This document contains the release notes for version 2.5 of Squid. Squid is a WWW Cache application developed by the National Laboratory @@ -150,8 +150,6 @@
Bug #692

tcp_outgoing_address using an ident ACL does not work

Bug -#616

Negative cached 404 replies with VARY header never matches

-
Bug #581

acl max_user_ip and multiple authentication schemes

Bug #528

miss_access fails on "slow" acl types such as dst.

@@ -164,8 +162,6 @@
Bug #457

does not handle swap.state corruption properly

Bug -#426

Vary: * does not work

-
Bug #410

unstable if runs out of disk space

Bug #355

diskd may appear slow on low loads

@@ -276,6 +272,22 @@
  • url_regex enhanced to allow matching of %00
  • a large number of minor and cosmetic bugfixes. See the list of squid-2.5.STABLE4 patches and the +ChangeLog file for details.
  • + +

    + +

    8. Key changes squid-2.5.STABLE5 to 2.5.STABLE6:

    + +

    +

      +
    • Several "Assertion error" bugs fixed
    • +
    • Several "Segmentation fault" bugs fixes
    • +
    • Corrects a security issue in the old ntlm_auth NTLM helper +used in transparent NTLM authentication to a NT domain without +using samba.
    • +
    • Processing of Vary: * and Vary on error messages corrected
    • +
    • a large number of minor and cosmetic bugfixes. See the list of +squid-2.5.STABLE5 patches and the ChangeLog file for details.

    diff -ruN squid-2.5.STABLE5/acconfig.h squid-2.5.STABLE6/acconfig.h --- squid-2.5.STABLE5/acconfig.h Mon Jul 1 02:55:11 2002 +++ squid-2.5.STABLE6/acconfig.h Tue Jun 1 02:34:19 2004 @@ -23,7 +23,7 @@ #ifndef __CONFIGURE_H__ #define __CONFIGURE_H__ @TOP@ -/* $Id: acconfig.h,v 1.61.2.3 2002/07/01 08:55:11 hno Exp $ */ +/* $Id: acconfig.h,v 1.61.2.4 2004/06/01 08:34:19 hno Exp $ */ /* * configure command line used to configure Squid @@ -281,6 +281,15 @@ * we check for the existance of struct mallinfo */ #undef HAVE_STRUCT_MALLINFO + +/* + * Some systems dont have va_copy */ +#undef HAVE_VA_COPY + +/* + * Some systems support __va_copy */ +#undef HAVE___VA_COPY + /* * Do we want to use truncate(2) or unlink(2)? diff -ruN squid-2.5.STABLE5/configure squid-2.5.STABLE6/configure --- squid-2.5.STABLE5/configure Sun Feb 29 15:30:21 2004 +++ squid-2.5.STABLE6/configure Thu Jul 8 17:44:39 2004 @@ -52,7 +52,7 @@ for details on how to build your custom store module" ac_help="$ac_help --enable-heap-replacement - Backwards compability option. Please use the + Backwards compatibility option. Please use the new --enable-removal-policies directive instead." ac_help="$ac_help --enable-removal-policies=\"list of policies\" @@ -175,7 +175,7 @@ module" ac_help="$ac_help --enable-auth-modules=\"list of helpers\" - Backwards compability alias for + Backwards compatibility alias for --enable-basic-auth-helpers" ac_help="$ac_help --enable-basic-auth-helpers=\"list of helpers\" @@ -1000,7 +1000,7 @@ # Define the identity of the package. PACKAGE=squid -VERSION=2.5.STABLE5 +VERSION=2.5.STABLE6 cat >> confdefs.h <&6 echo "configure:1057: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. @@ -1510,13 +1510,50 @@ REGEXLIB='' # -lregex LIBREGEX='' # libregex.a +# Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1517: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PKGCONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PKGCONFIG" in + /*) + ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a dos path. + ;; + *) + 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_PKGCONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_PKGCONFIG" && ac_cv_path_PKGCONFIG="/usr/bin/false" + ;; +esac +fi +PKGCONFIG="$ac_cv_path_PKGCONFIG" +if test -n "$PKGCONFIG"; then + echo "$ac_t""$PKGCONFIG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1515: checking for Cygwin environment" >&5 +echo "configure:1552: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -1544,19 +1581,19 @@ CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1548: checking for mingw32 environment" >&5 +echo "configure:1585: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1597: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -1575,7 +1612,7 @@ echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1579: checking for executable suffix" >&5 +echo "configure:1616: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1585,7 +1622,7 @@ rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.C | *.o | *.obj | *.ilk | *.pdb) ;; @@ -1606,13 +1643,13 @@ ac_exeext=$EXEEXT echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1610: checking for object suffix" >&5 +echo "configure:1647: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1702,6 +1739,8 @@ # sunos has too many warnings for this to be useful # motorola too ;; + *m88k*-openbsd*) + ;; *m88k*) # Motorola cc/ld does not like -02 but is ok on -O CFLAGS=`echo $CFLAGS | sed -e 's/-O0-9/-O/'` @@ -2292,6 +2331,9 @@ ENABLE_SSL_FALSE= fi +SSLLIB='' +SSLFLAGS='' + # Check whether --enable-ssl or --disable-ssl was given. if test "${enable_ssl+set}" = set; then enableval="$enable_ssl" @@ -2339,8 +2381,10 @@ USE_OPENSSL= ;; *) - SSLLIBDIR="$with_openssl/lib" - CPPFLAGS="-I$with_openssl/include $CPPFLAGS" + PKG_CONFIG_PATH="$with_openssl/lib/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + SSLLIB="-L$with_openssl/lib -lssl -lcrypto" + SSLFLAGS="-I$with_openssl/include" USE_OPENSSL=1 esac @@ -2365,14 +2409,11 @@ if test -z "$SSLLIB"; then SSLLIB="-lcrypto" # for MD5 routines fi - if test -d /usr/kerberos/include && test -z "$SSLLIBDIR" && test -f /usr/include/openssl/kssl.h; then - echo "OpenSSL depends on Kerberos" - SSLLIBDIR="/usr/kerberos/lib" - CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" + if $PKGCONFIG --exists openssl; then + SSLLIB="`$PKGCONFIG --libs openssl`" + SSLFLAGS="`$PKGCONFIG --cflags openssl`" fi -fi -if test -n "$SSLLIBDIR"; then - SSLLIB="-L$SSLLIBDIR $SSLLIB" + CPPFLAGS="${SSLFLAGS} $CPPFLAGS" fi @@ -2754,7 +2795,9 @@ if test -n "$BASIC_AUTH_HELPERS"; then for helper in $BASIC_AUTH_HELPERS; do if test -f $srcdir/helpers/basic_auth/$helper/Makefile.in; then - : + if test "$helper" = "SASL"; then + require_sasl=yes + fi else echo "ERROR: Basic auth helper $helper does not exists" exit 1 @@ -2893,6 +2936,142 @@ +if test "$require_sasl" = "yes"; then + echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:2942: checking how to run the C preprocessor" >&5 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # 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:2963: \"$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} -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:2980: \"$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:2997: \"$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=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" +else + ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +for ac_hdr in sasl/sasl.h sasl.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:3025: 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:3035: \"$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" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + + if test "$ac_cv_header_sasl_sasl_h" = "yes"; then + echo "using SASL2" + LIBSASL="-lsasl2" + else + if test "$ac_cv_header_sasl_h" = "yes"; then + echo "using SASL" + LIBSASL="-lsasl" + else + echo "ERROR: Neither SASL nor SASL2 found" + exit 1 + fi + fi + +fi + # Check whether --enable-unlinkd or --disable-unlinkd was given. if test "${enable_unlinkd+set}" = set; then enableval="$enable_unlinkd" @@ -2986,7 +3165,7 @@ esac echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2990: checking how to run the C preprocessor" >&5 +echo "configure:3169: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -3001,13 +3180,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3190: \"$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 : @@ -3018,13 +3197,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3207: \"$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 : @@ -3035,13 +3214,13 @@ rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3045: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3077,7 +3256,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:3081: checking for a BSD compatible install" >&5 +echo "configure:3260: 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 @@ -3132,7 +3311,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3136: checking for $ac_word" >&5 +echo "configure:3315: 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 @@ -3160,7 +3339,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:3164: checking whether ln -s works" >&5 +echo "configure:3343: 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 @@ -3183,7 +3362,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:3187: checking for $ac_word" >&5 +echo "configure:3366: 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 @@ -3219,7 +3398,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:3223: checking for $ac_word" >&5 +echo "configure:3402: 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 @@ -3255,7 +3434,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:3259: checking for $ac_word" >&5 +echo "configure:3438: 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 @@ -3291,7 +3470,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:3295: checking for $ac_word" >&5 +echo "configure:3474: 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 @@ -3327,7 +3506,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:3331: checking for $ac_word" >&5 +echo "configure:3510: 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 @@ -3363,7 +3542,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:3367: checking for $ac_word" >&5 +echo "configure:3546: 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 @@ -3399,7 +3578,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:3403: checking for $ac_word" >&5 +echo "configure:3582: 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 @@ -3435,7 +3614,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:3439: checking for $ac_word" >&5 +echo "configure:3618: 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 @@ -3471,7 +3650,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:3475: checking for $ac_word" >&5 +echo "configure:3654: 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 @@ -3531,12 +3710,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:3535: checking for $ac_hdr that defines DIR" >&5 +echo "configure:3714: 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> @@ -3544,7 +3723,7 @@ DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:3548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3727: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -3569,7 +3748,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:3573: checking for opendir in -ldir" >&5 +echo "configure:3752: 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 @@ -3577,7 +3756,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3771: \"$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 @@ -3610,7 +3789,7 @@ else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:3614: checking for opendir in -lx" >&5 +echo "configure:3793: 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 @@ -3618,7 +3797,7 @@ ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3812: \"$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 @@ -3652,12 +3831,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3656: checking for ANSI C header files" >&5 +echo "configure:3835: 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 @@ -3665,7 +3844,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3669: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3848: \"$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* @@ -3682,7 +3861,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 @@ -3700,7 +3879,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 @@ -3721,7 +3900,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3732,7 +3911,7 @@ exit (0); } EOF -if { (eval echo configure:3736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3839,17 +4018,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3843: checking for $ac_hdr" >&5 +echo "configure:4022: 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:3853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4032: \"$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* @@ -3877,12 +4056,12 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3881: checking for working const" >&5 +echo "configure:4060: 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:4114: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3952,14 +4131,14 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3956: checking whether byte ordering is bigendian" >&5 +echo "configure:4135: 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 @@ -3970,11 +4149,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4153: \"$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 @@ -3985,7 +4164,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4005,7 +4184,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4201: \"$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 @@ -4043,20 +4222,20 @@ echo $ac_n "checking if ANSI prototypes work""... $ac_c" 1>&6 -echo "configure:4047: checking if ANSI prototypes work" >&5 +echo "configure:4226: 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:4239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ansi_prototypes="yes" else @@ -4078,13 +4257,13 @@ fi echo $ac_n "checking for tm->tm_gmtoff""... $ac_c" 1>&6 -echo "configure:4082: checking for tm->tm_gmtoff" >&5 +echo "configure:4261: 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 @@ -4093,7 +4272,7 @@ foo.tm_gmtoff = 0; ; return 0; } EOF -if { (eval echo configure:4097: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_tm_gmoff="yes" else @@ -4115,13 +4294,13 @@ fi echo $ac_n "checking for struct mallinfo""... $ac_c" 1>&6 -echo "configure:4119: checking for struct mallinfo" >&5 +echo "configure:4298: 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 @@ -4139,7 +4318,7 @@ foo.keepcost = 0; ; return 0; } EOF -if { (eval echo configure:4143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_mallinfo="yes" else @@ -4161,13 +4340,13 @@ fi echo $ac_n "checking for extended mallinfo""... $ac_c" 1>&6 -echo "configure:4165: checking for extended mallinfo" >&5 +echo "configure:4344: 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 @@ -4176,7 +4355,7 @@ foo.mxfast = 0; ; return 0; } EOF -if { (eval echo configure:4180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ext_mallinfo="yes" else @@ -4198,13 +4377,13 @@ fi echo $ac_n "checking for struct rusage""... $ac_c" 1>&6 -echo "configure:4202: checking for struct rusage" >&5 +echo "configure:4381: 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:4400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_rusage="yes" else @@ -4239,13 +4418,13 @@ fi echo $ac_n "checking for ip->ip_hl""... $ac_c" 1>&6 -echo "configure:4243: checking for ip->ip_hl" >&5 +echo "configure:4422: 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 @@ -4264,7 +4443,7 @@ ip.ip_hl= 0; ; return 0; } EOF -if { (eval echo configure:4268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ip_hl="yes" else @@ -4286,7 +4465,7 @@ fi echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4290: checking size of void *" >&5 +echo "configure:4469: 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 @@ -4294,7 +4473,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4305,7 +4484,7 @@ exit(0); } EOF -if { (eval echo configure:4309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4488: \"$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 @@ -4325,7 +4504,7 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4329: checking size of short" >&5 +echo "configure:4508: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4333,7 +4512,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4344,7 +4523,7 @@ exit(0); } EOF -if { (eval echo configure:4348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else @@ -4364,7 +4543,7 @@ echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4368: checking size of int" >&5 +echo "configure:4547: 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 @@ -4372,7 +4551,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4383,7 +4562,7 @@ exit(0); } EOF -if { (eval echo configure:4387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4566: \"$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 @@ -4403,7 +4582,7 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4407: checking size of long" >&5 +echo "configure:4586: 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 @@ -4411,7 +4590,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4422,7 +4601,7 @@ exit(0); } EOF -if { (eval echo configure:4426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4605: \"$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 @@ -4442,7 +4621,7 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4446: checking size of long long" >&5 +echo "configure:4625: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4450,7 +4629,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() @@ -4461,7 +4640,7 @@ exit(0); } EOF -if { (eval echo configure:4465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_long=`cat conftestval` else @@ -4481,7 +4660,7 @@ echo $ac_n "checking size of __int64""... $ac_c" 1>&6 -echo "configure:4485: checking size of __int64" >&5 +echo "configure:4664: checking size of __int64" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof___int64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4489,7 +4668,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4515,7 +4694,7 @@ } EOF -if { (eval echo configure:4519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof___int64=`cat conftestval` else @@ -4535,7 +4714,7 @@ echo $ac_n "checking size of int16_t""... $ac_c" 1>&6 -echo "configure:4539: checking size of int16_t" >&5 +echo "configure:4718: checking size of int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4543,7 +4722,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4569,7 +4748,7 @@ } EOF -if { (eval echo configure:4573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int16_t=`cat conftestval` else @@ -4589,7 +4768,7 @@ echo $ac_n "checking size of uint16_t""... $ac_c" 1>&6 -echo "configure:4593: checking size of uint16_t" >&5 +echo "configure:4772: checking size of uint16_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4597,7 +4776,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4623,7 +4802,7 @@ } EOF -if { (eval echo configure:4627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint16_t=`cat conftestval` else @@ -4643,7 +4822,7 @@ echo $ac_n "checking size of u_int16_t""... $ac_c" 1>&6 -echo "configure:4647: checking size of u_int16_t" >&5 +echo "configure:4826: checking size of u_int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4651,7 +4830,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4677,7 +4856,7 @@ } EOF -if { (eval echo configure:4681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_u_int16_t=`cat conftestval` else @@ -4697,7 +4876,7 @@ echo $ac_n "checking size of int32_t""... $ac_c" 1>&6 -echo "configure:4701: checking size of int32_t" >&5 +echo "configure:4880: checking size of int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4705,7 +4884,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4731,7 +4910,7 @@ } EOF -if { (eval echo configure:4735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int32_t=`cat conftestval` else @@ -4751,7 +4930,7 @@ echo $ac_n "checking size of uint32_t""... $ac_c" 1>&6 -echo "configure:4755: checking size of uint32_t" >&5 +echo "configure:4934: checking size of uint32_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4759,7 +4938,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4785,7 +4964,7 @@ } EOF -if { (eval echo configure:4789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint32_t=`cat conftestval` else @@ -4805,7 +4984,7 @@ echo $ac_n "checking size of u_int32_t""... $ac_c" 1>&6 -echo "configure:4809: checking size of u_int32_t" >&5 +echo "configure:4988: checking size of u_int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4813,7 +4992,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4839,7 +5018,7 @@ } EOF -if { (eval echo configure:4843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_u_int32_t=`cat conftestval` else @@ -4859,7 +5038,7 @@ echo $ac_n "checking size of int64_t""... $ac_c" 1>&6 -echo "configure:4863: checking size of int64_t" >&5 +echo "configure:5042: checking size of int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4867,7 +5046,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4893,7 +5072,7 @@ } EOF -if { (eval echo configure:4897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int64_t=`cat conftestval` else @@ -4913,7 +5092,7 @@ echo $ac_n "checking size of uint64_t""... $ac_c" 1>&6 -echo "configure:4917: checking size of uint64_t" >&5 +echo "configure:5096: checking size of uint64_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_uint64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4921,7 +5100,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -4947,7 +5126,7 @@ } EOF -if { (eval echo configure:4951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_uint64_t=`cat conftestval` else @@ -4967,7 +5146,7 @@ echo $ac_n "checking size of u_int64_t""... $ac_c" 1>&6 -echo "configure:4971: checking size of u_int64_t" >&5 +echo "configure:5150: checking size of u_int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_u_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4975,7 +5154,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -5001,7 +5180,7 @@ } EOF -if { (eval echo configure:5005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_u_int64_t=`cat conftestval` else @@ -5023,12 +5202,12 @@ if test "x$ac_cv_sizeof_short" = "x2"; then echo $ac_n "checking for int16_t""... $ac_c" 1>&6 -echo "configure:5027: checking for int16_t" >&5 +echo "configure:5206: checking for int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5076: checking for int16_t" >&5 +echo "configure:5255: checking for int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5126: checking for u_int16_t" >&5 +echo "configure:5305: checking for u_int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5175: checking for u_int16_t" >&5 +echo "configure:5354: checking for u_int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5224: checking for u_int16_t" >&5 +echo "configure:5403: checking for u_int16_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int16_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5274: checking for int32_t" >&5 +echo "configure:5453: checking for int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5323: checking for int32_t" >&5 +echo "configure:5502: checking for int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5373: checking for u_int32_t" >&5 +echo "configure:5552: checking for u_int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5422: checking for u_int32_t" >&5 +echo "configure:5601: checking for u_int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5471: checking for u_int32_t" >&5 +echo "configure:5650: checking for u_int32_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5521: checking for int64_t" >&5 +echo "configure:5700: checking for int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5570: checking for int64_t" >&5 +echo "configure:5749: checking for int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5619: checking for int64_t" >&5 +echo "configure:5798: checking for int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5669: checking for u_int64_t" >&5 +echo "configure:5848: checking for u_int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5718: checking for u_int64_t" >&5 +echo "configure:5897: checking for u_int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5767: checking for u_int64_t" >&5 +echo "configure:5946: checking for u_int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5816: checking for int64_t" >&5 +echo "configure:5995: checking for int64_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_int64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:5866: checking for pid_t" >&5 +echo "configure:6045: 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 @@ -5895,12 +6074,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5899: checking for size_t" >&5 +echo "configure:6078: 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 @@ -5928,12 +6107,12 @@ fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:5932: checking for ssize_t" >&5 +echo "configure:6111: 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 @@ -5961,12 +6140,12 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:5965: checking for off_t" >&5 +echo "configure:6144: 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 @@ -5994,12 +6173,12 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:5998: checking for mode_t" >&5 +echo "configure:6177: 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 @@ -6027,12 +6206,12 @@ fi echo $ac_n "checking for fd_mask""... $ac_c" 1>&6 -echo "configure:6031: checking for fd_mask" >&5 +echo "configure:6210: 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 @@ -6061,7 +6240,7 @@ echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:6065: checking size of off_t" >&5 +echo "configure:6244: checking size of off_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6069,7 +6248,7 @@ ac_cv_sizeof_off_t=4 else cat > conftest.$ac_ext < @@ -6095,7 +6274,7 @@ } EOF -if { (eval echo configure:6099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_off_t=`cat conftestval` else @@ -6115,7 +6294,7 @@ echo $ac_n "checking size of size_t""... $ac_c" 1>&6 -echo "configure:6119: checking size of size_t" >&5 +echo "configure:6298: checking size of size_t" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6123,7 +6302,7 @@ ac_cv_sizeof_size_t=4 else cat > conftest.$ac_ext < @@ -6149,7 +6328,7 @@ } EOF -if { (eval echo configure:6153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_size_t=`cat conftestval` else @@ -6172,19 +6351,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:6176: checking for working alloca.h" >&5 +echo "configure:6355: 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:6188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6367: \"$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 @@ -6205,12 +6384,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:6209: checking for alloca" >&5 +echo "configure:6388: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6421: \"$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 @@ -6270,12 +6449,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:6274: checking whether alloca needs Cray hooks" >&5 +echo "configure:6453: 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:6304: checking for $ac_func" >&5 +echo "configure:6483: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6511: \"$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 @@ -6355,7 +6534,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:6359: checking stack direction for C alloca" >&5 +echo "configure:6538: 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 @@ -6363,7 +6542,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6565: \"$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 @@ -6406,13 +6585,13 @@ echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:6410: checking for socklen_t" >&5 +echo "configure:6589: 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 @@ -6443,13 +6622,13 @@ fi echo $ac_n "checking for mtyp_t""... $ac_c" 1>&6 -echo "configure:6447: checking for mtyp_t" >&5 +echo "configure:6626: checking for mtyp_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mtyp_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -6477,7 +6656,7 @@ fi echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:6481: checking for main in -lnsl" >&5 +echo "configure:6660: 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 @@ -6485,14 +6664,14 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6675: \"$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 @@ -6520,7 +6699,7 @@ fi echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 -echo "configure:6524: checking for main in -lsocket" >&5 +echo "configure:6703: 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 @@ -6528,14 +6707,14 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6718: \"$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 @@ -6564,13 +6743,13 @@ echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6 -echo "configure:6568: checking for unix domain sockets" >&5 +echo "configure:6747: checking for unix domain sockets" >&5 if eval "test \"`echo '$''{'squid_cv_unixsocket'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -6585,7 +6764,7 @@ ; return 0; } EOF -if { (eval echo configure:6589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* squid_cv_unixsocket=yes else @@ -6609,7 +6788,7 @@ echo "skipping libmalloc check (--enable-dlmalloc specified)" else echo $ac_n "checking for main in -lgnumalloc""... $ac_c" 1>&6 -echo "configure:6613: checking for main in -lgnumalloc" >&5 +echo "configure:6792: 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 @@ -6617,14 +6796,14 @@ ac_save_LIBS="$LIBS" LIBS="-lgnumalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6807: \"$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 @@ -6667,7 +6846,7 @@ *) echo $ac_n "checking for main in -lmalloc""... $ac_c" 1>&6 -echo "configure:6671: checking for main in -lmalloc" >&5 +echo "configure:6850: 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 @@ -6675,14 +6854,14 @@ ac_save_LIBS="$LIBS" LIBS="-lmalloc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6865: \"$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 @@ -6715,7 +6894,7 @@ fi echo $ac_n "checking for main in -lbsd""... $ac_c" 1>&6 -echo "configure:6719: checking for main in -lbsd" >&5 +echo "configure:6898: 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 @@ -6723,14 +6902,14 @@ ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6913: \"$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 @@ -6758,7 +6937,7 @@ fi echo $ac_n "checking for main in -lregex""... $ac_c" 1>&6 -echo "configure:6762: checking for main in -lregex" >&5 +echo "configure:6941: 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 @@ -6766,14 +6945,14 @@ ac_save_LIBS="$LIBS" LIBS="-lregex $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6956: \"$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 @@ -6794,7 +6973,7 @@ fi echo $ac_n "checking for gethostbyname in -lbind""... $ac_c" 1>&6 -echo "configure:6798: checking for gethostbyname in -lbind" >&5 +echo "configure:6977: 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 @@ -6802,7 +6981,7 @@ ac_save_LIBS="$LIBS" LIBS="-lbind $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6996: \"$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 @@ -6847,7 +7026,7 @@ ;; *) echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:6851: checking for inet_aton in -lresolv" >&5 +echo "configure:7030: 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 @@ -6855,7 +7034,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7049: \"$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 @@ -6882,7 +7061,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:6886: checking for inet_aton in -l44bsd" >&5 +echo "configure:7065: 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 @@ -6890,7 +7069,7 @@ ac_save_LIBS="$LIBS" LIBS="-l44bsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7084: \"$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 @@ -6933,7 +7112,7 @@ fi echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6 -echo "configure:6937: checking for main in -lresolv" >&5 +echo "configure:7116: 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 @@ -6941,14 +7120,14 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7131: \"$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 @@ -6979,7 +7158,7 @@ esac fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:6983: checking for main in -lm" >&5 +echo "configure:7162: 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 @@ -6987,14 +7166,14 @@ ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7177: \"$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 @@ -7023,7 +7202,7 @@ echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7027: checking for crypt in -lcrypt" >&5 +echo "configure:7206: 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 @@ -7031,7 +7210,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7225: \"$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 @@ -7066,7 +7245,7 @@ if test "$with_dl" = "yes"; then echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:7070: checking for dlopen in -ldl" >&5 +echo "configure:7249: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7074,7 +7253,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7268: \"$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 @@ -7133,7 +7312,7 @@ ;; esac echo $ac_n "checking for main in -lpthread""... $ac_c" 1>&6 -echo "configure:7137: checking for main in -lpthread" >&5 +echo "configure:7316: 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 @@ -7141,14 +7320,14 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7331: \"$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 @@ -7179,7 +7358,7 @@ if test "$with_aio" = "yes"; then echo $ac_n "checking for aio_read in -lrt""... $ac_c" 1>&6 -echo "configure:7183: checking for aio_read in -lrt" >&5 +echo "configure:7362: checking for aio_read in -lrt" >&5 ac_lib_var=`echo rt'_'aio_read | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7187,7 +7366,7 @@ ac_save_LIBS="$LIBS" LIBS="-lrt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7381: \"$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 @@ -7230,7 +7409,7 @@ case "$host" in *-pc-sco3.2*) echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:7234: checking for strftime in -lintl" >&5 +echo "configure:7413: 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 @@ -7238,7 +7417,7 @@ ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7432: \"$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 @@ -7306,6 +7485,8 @@ ;; esac ;; + *m88k*-openbsd*) + ;; *m88k*) CFLAGS="$CFLAGS -D_SQUID_MOTOROLA_" cat >> confdefs.h <<\EOF @@ -7367,9 +7548,10 @@ # Henrik Nordstrom (hno@squid-cache.org) 19980817 # poll is problematic on Linux. We disable it # by default until Linux gets it right. + # See also bug #932 rev=`uname -r | awk -F. '{printf "%03d%03d",$1,$2}'` - if test $rev -lt 002002; then - echo "disabling poll for $host < 2.2..." + if test $rev -lt 002004; then + echo "disabling poll for $host < 2.4..." ac_cv_func_poll='no' fi ;; @@ -7440,12 +7622,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7444: checking for $ac_func" >&5 +echo "configure:7626: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7654: \"$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 @@ -7494,7 +7676,7 @@ echo $ac_n "checking if setresuid is implemented""... $ac_c" 1>&6 -echo "configure:7498: checking if setresuid is implemented" >&5 +echo "configure:7680: 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 @@ -7502,7 +7684,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -7515,7 +7697,7 @@ } EOF -if { (eval echo configure:7519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7701: \"$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 @@ -7558,10 +7740,110 @@ NEED_OWN_SNPRINTF_FALSE= fi fi - + +echo $ac_n "checking if va_copy is implemented""... $ac_c" 1>&6 +echo "configure:7746: checking if va_copy is implemented" >&5 +if eval "test \"`echo '$''{'ac_cv_func_va_copy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else + cat > conftest.$ac_ext < + void f (int i, ...) { + va_list args1, args2; + va_start (args1, i); + va_copy (args2, args1); + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); va_end (args2); + } + int main() { + f (0, 42); + return 0; + } + +EOF +if { (eval echo configure:7772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_func_va_copy="yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_func_va_copy="no" +fi +rm -fr conftest* +fi + + +fi + +echo "$ac_t""$ac_cv_func_va_copy" 1>&6 +if test "$ac_cv_func_va_copy" = "yes" ; then + cat >> confdefs.h <<\EOF +#define HAVE_VA_COPY 1 +EOF + +fi + +echo $ac_n "checking if __va_copy is implemented""... $ac_c" 1>&6 +echo "configure:7796: checking if __va_copy is implemented" >&5 +if eval "test \"`echo '$''{'ac_cv_func___va_copy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else + cat > conftest.$ac_ext < + void f (int i, ...) { + va_list args1, args2; + va_start (args1, i); + __va_copy (args2, args1); + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); va_end (args2); + } + int main() { + f (0, 42); + return 0; + } + +EOF +if { (eval echo configure:7822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_func___va_copy="yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_func___va_copy="no" +fi +rm -fr conftest* +fi + + +fi + +echo "$ac_t""$ac_cv_func___va_copy" 1>&6 +if test "$ac_cv_func___va_copy" = "yes" ; then + cat >> confdefs.h <<\EOF +#define HAVE___VA_COPY 1 +EOF + +fi + if test "$IPF_TRANSPARENT" ; then echo $ac_n "checking if IP-Filter header files are installed""... $ac_c" 1>&6 -echo "configure:7565: checking if IP-Filter header files are installed" >&5 +echo "configure:7847: checking if IP-Filter header files are installed" >&5 # hold on to your hats... if test "$ac_cv_header_ip_compat_h" = "yes" || test "$ac_cv_header_ip_fil_compat_h" = "yes" || @@ -7602,7 +7884,7 @@ if test "$PF_TRANSPARENT" ; then echo $ac_n "checking if PF header file is installed""... $ac_c" 1>&6 -echo "configure:7606: checking if PF header file is installed" >&5 +echo "configure:7888: checking if PF header file is installed" >&5 # hold on to your hats... if test "$ac_cv_header_net_pfvar_h" = "yes"; then PF_TRANSPARENT="yes" @@ -7627,7 +7909,7 @@ if test "$LINUX_NETFILTER" ; then echo $ac_n "checking if Linux 2.4 kernel header files are installed""... $ac_c" 1>&6 -echo "configure:7631: checking if Linux 2.4 kernel header files are installed" >&5 +echo "configure:7913: checking if Linux 2.4 kernel header files are installed" >&5 # hold on to your hats... if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes"; then LINUX_NETFILTER="yes" @@ -7661,13 +7943,13 @@ esac fi echo $ac_n "checking if GNUregex needs to be compiled""... $ac_c" 1>&6 -echo "configure:7665: checking if GNUregex needs to be compiled" >&5 +echo "configure:7947: 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 @@ -7675,7 +7957,7 @@ regex_t t; regcomp(&t,"",0); ; return 0; } EOF -if { (eval echo configure:7679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* USE_GNUREGEX="no" else @@ -7706,12 +7988,12 @@ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7710: checking for $ac_func" >&5 +echo "configure:7992: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8020: \"$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 @@ -7762,12 +8044,12 @@ echo $ac_n "checking Default FD_SETSIZE value""... $ac_c" 1>&6 -echo "configure:7766: checking Default FD_SETSIZE value" >&5 +echo "configure:8048: checking Default FD_SETSIZE value" >&5 if test "$cross_compiling" = yes; then DEFAULT_FD_SETSIZE=256 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8078: \"$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 @@ -7811,7 +8093,7 @@ echo $ac_n "checking Maximum number of filedescriptors we can open""... $ac_c" 1>&6 -echo "configure:7815: checking Maximum number of filedescriptors we can open" >&5 +echo "configure:8097: checking Maximum number of filedescriptors we can open" >&5 TLDFLAGS="$LDFLAGS" case $host in i386-unknown-freebsd*) @@ -7823,7 +8105,7 @@ SQUID_MAXFD=256 else cat > conftest.$ac_ext < @@ -7883,7 +8165,7 @@ } EOF -if { (eval echo configure:7887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8169: \"$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 @@ -7910,12 +8192,12 @@ LDFLAGS="$TLDFLAGS" echo $ac_n "checking Default UDP send buffer size""... $ac_c" 1>&6 -echo "configure:7914: checking Default UDP send buffer size" >&5 +echo "configure:8196: checking Default UDP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -7936,7 +8218,7 @@ } EOF -if { (eval echo configure:7940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8222: \"$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 @@ -7955,12 +8237,12 @@ echo $ac_n "checking Default UDP receive buffer size""... $ac_c" 1>&6 -echo "configure:7959: checking Default UDP receive buffer size" >&5 +echo "configure:8241: checking Default UDP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -7981,7 +8263,7 @@ } EOF -if { (eval echo configure:7985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8267: \"$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 @@ -8000,12 +8282,12 @@ echo $ac_n "checking Default TCP send buffer size""... $ac_c" 1>&6 -echo "configure:8004: checking Default TCP send buffer size" >&5 +echo "configure:8286: checking Default TCP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -8026,7 +8308,7 @@ } EOF -if { (eval echo configure:8030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8312: \"$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 @@ -8045,12 +8327,12 @@ echo $ac_n "checking Default TCP receive buffer size""... $ac_c" 1>&6 -echo "configure:8049: checking Default TCP receive buffer size" >&5 +echo "configure:8331: checking Default TCP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -8071,7 +8353,7 @@ } EOF -if { (eval echo configure:8075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8357: \"$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 @@ -8090,19 +8372,19 @@ echo $ac_n "checking if sys_errlist is already defined""... $ac_c" 1>&6 -echo "configure:8094: checking if sys_errlist is already defined" >&5 +echo "configure:8376: 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:8106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_needs_sys_errlist="no" else @@ -8124,16 +8406,16 @@ fi echo $ac_n "checking for libresolv _dns_ttl_ hack""... $ac_c" 1>&6 -echo "configure:8128: checking for libresolv _dns_ttl_ hack" >&5 +echo "configure:8410: checking for libresolv _dns_ttl_ hack" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8419: \"$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 @@ -8149,12 +8431,12 @@ rm -f conftest* echo $ac_n "checking if inet_ntoa() actually works""... $ac_c" 1>&6 -echo "configure:8153: checking if inet_ntoa() actually works" >&5 +echo "configure:8435: checking if inet_ntoa() actually works" >&5 if test "$cross_compiling" = yes; then INET_NTOA_RESULT="broken" else cat > conftest.$ac_ext < @@ -8173,7 +8455,7 @@ } EOF -if { (eval echo configure:8177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8459: \"$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 @@ -8199,9 +8481,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:8203: checking for working statvfs() interface" >&5 +echo "configure:8485: checking for working statvfs() interface" >&5 cat > conftest.$ac_ext < @@ -8218,7 +8500,7 @@ ; return 0; } EOF -if { (eval echo configure:8222: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_func_statvfs=yes else @@ -8238,12 +8520,12 @@ fi echo $ac_n "checking for _res.nsaddr_list""... $ac_c" 1>&6 -echo "configure:8242: checking for _res.nsaddr_list" >&5 +echo "configure:8524: 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:8552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_nsaddr_list="yes" else @@ -8288,12 +8570,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:8292: checking for _res.ns_list" >&5 +echo "configure:8574: 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:8602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_ns_list="yes" else @@ -8578,6 +8860,7 @@ s%@host_cpu@%$host_cpu%g s%@host_vendor@%$host_vendor%g s%@host_os@%$host_os%g +s%@PKGCONFIG@%$PKGCONFIG%g s%@CGIEXT@%$CGIEXT%g s%@ENABLE_WIN32SPECIFIC_TRUE@%$ENABLE_WIN32SPECIFIC_TRUE%g s%@ENABLE_WIN32SPECIFIC_FALSE@%$ENABLE_WIN32SPECIFIC_FALSE%g @@ -8619,9 +8902,10 @@ s%@DIGEST_AUTH_HELPERS@%$DIGEST_AUTH_HELPERS%g s%@EXTERNAL_ACL_HELPERS@%$EXTERNAL_ACL_HELPERS%g s%@SAMBASOURCES@%$SAMBASOURCES%g +s%@CPP@%$CPP%g +s%@LIBSASL@%$LIBSASL%g s%@ENABLE_UNLINKD_TRUE@%$ENABLE_UNLINKD_TRUE%g s%@ENABLE_UNLINKD_FALSE@%$ENABLE_UNLINKD_FALSE%g -s%@CPP@%$CPP%g s%@RANLIB@%$RANLIB%g s%@LN_S@%$LN_S%g s%@SH@%$SH%g diff -ruN squid-2.5.STABLE5/configure.in squid-2.5.STABLE6/configure.in --- squid-2.5.STABLE5/configure.in Sun Feb 29 15:30:21 2004 +++ squid-2.5.STABLE6/configure.in Thu Jul 8 17:44:39 2004 @@ -3,15 +3,15 @@ dnl dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) dnl -dnl $Id: configure.in,v 1.251.2.51 2004/02/29 22:28:17 hno Exp $ +dnl $Id: configure.in,v 1.251.2.59 2004/07/08 23:31:56 hno Exp $ dnl dnl dnl AC_INIT(src/main.c) AC_CONFIG_AUX_DIR(cfgaux) -AM_INIT_AUTOMAKE(squid, 2.5.STABLE5-CVS) +AM_INIT_AUTOMAKE(squid, 2.5.STABLE6) AM_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.251.2.51 $)dnl +AC_REVISION($Revision: 1.251.2.59 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AM_MAINTAINER_MODE @@ -32,6 +32,9 @@ REGEXLIB='' # -lregex LIBREGEX='' # libregex.a +dnl Check for pkg-config +AC_PATH_PROG(PKGCONFIG, pkg-config, /usr/bin/false) + dnl find out the exe extension for this platform. If it's not empty, use it for CGI's as well. AC_EXEEXT AC_OBJEXT @@ -62,7 +65,7 @@ CACHE_ICP_PORT="3130" fi -dnl Subsitutions +dnl Substitutions AC_DEFINE_UNQUOTED(CACHE_HTTP_PORT, $CACHE_HTTP_PORT) AC_DEFINE_UNQUOTED(CACHE_ICP_PORT, $CACHE_ICP_PORT) @@ -85,6 +88,8 @@ # sunos has too many warnings for this to be useful # motorola too ;; + *m88k*-openbsd*) + ;; *m88k*) # Motorola cc/ld does not like -02 but is ok on -O CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]/-O/'` @@ -368,10 +373,10 @@ AC_SUBST(STORE_MODULES) AC_SUBST(STORE_MODULE_SUBDIRS) -dnl --enable-heap-replacement compability option +dnl --enable-heap-replacement compatibility option AC_ARG_ENABLE(heap-replacement, [ --enable-heap-replacement - Backwards compability option. Please use the + Backwards compatibility option. Please use the new --enable-removal-policies directive instead.], [ if test "$enableval" = "yes" ; then echo "--enable-heap-replacement is obsolete. please use the new" @@ -553,6 +558,9 @@ AM_CONDITIONAL(ENABLE_SSL, false) +SSLLIB='' +SSLFLAGS='' + AC_ARG_ENABLE(ssl, [ --enable-ssl Enable ssl gatewaying support using OpenSSL], [ if test "$enableval" != "no"; then @@ -581,8 +589,10 @@ USE_OPENSSL= ;; *) - SSLLIBDIR="$with_openssl/lib" - CPPFLAGS="-I$with_openssl/include $CPPFLAGS" + PKG_CONFIG_PATH="$with_openssl/lib/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}" + export PKG_CONFIG_PATH + SSLLIB="-L$with_openssl/lib -lssl -lcrypto" + SSLFLAGS="-I$with_openssl/include" USE_OPENSSL=1 esac ]) @@ -594,15 +604,11 @@ if test -z "$SSLLIB"; then SSLLIB="-lcrypto" # for MD5 routines fi - dnl This is a workaround for RedHat 9 brain damage.. - if test -d /usr/kerberos/include && test -z "$SSLLIBDIR" && test -f /usr/include/openssl/kssl.h; then - echo "OpenSSL depends on Kerberos" - SSLLIBDIR="/usr/kerberos/lib" - CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" + if $PKGCONFIG --exists openssl; then + SSLLIB="`$PKGCONFIG --libs openssl`" + SSLFLAGS="`$PKGCONFIG --cflags openssl`" fi -fi -if test -n "$SSLLIBDIR"; then - SSLLIB="-L$SSLLIBDIR $SSLLIB" + CPPFLAGS="${SSLFLAGS} $CPPFLAGS" fi AC_SUBST(SSLLIB) @@ -869,7 +875,7 @@ BASIC_AUTH_HELPERS="" AC_ARG_ENABLE(auth-modules, [ --enable-auth-modules=\"list of helpers\" - Backwards compability alias for + Backwards compatibility alias for --enable-basic-auth-helpers], [ echo "--enable-auth-modules is obsolete. Please use the new" echo "option --enable-basic-auth-helpers" @@ -912,7 +918,9 @@ if test -n "$BASIC_AUTH_HELPERS"; then for helper in $BASIC_AUTH_HELPERS; do if test -f $srcdir/helpers/basic_auth/$helper/Makefile.in; then - : + if test "$helper" = "SASL"; then + require_sasl=yes + fi else echo "ERROR: Basic auth helper $helper does not exists" exit 1 @@ -1055,6 +1063,24 @@ ]) AC_SUBST(SAMBASOURCES) +dnl Check for Cyrus SASL +if test "$require_sasl" = "yes"; then + AC_CHECK_HEADERS(sasl/sasl.h sasl.h) + if test "$ac_cv_header_sasl_sasl_h" = "yes"; then + echo "using SASL2" + LIBSASL="-lsasl2" + else + if test "$ac_cv_header_sasl_h" = "yes"; then + echo "using SASL" + LIBSASL="-lsasl" + else + echo "ERROR: Neither SASL nor SASL2 found" + exit 1 + fi + fi + AC_SUBST(LIBSASL) +fi + dnl Disable "unlinkd" code AC_ARG_ENABLE(unlinkd, [ --disable-unlinkd Do not use unlinkd], @@ -1591,6 +1617,8 @@ ;; esac ;; + *m88k*-openbsd*) + ;; *m88k*) CFLAGS="$CFLAGS -D_SQUID_MOTOROLA_" AC_DEFINE(GETTIMEOFDAY_NO_TZP) @@ -1644,9 +1672,10 @@ # Henrik Nordstrom (hno@squid-cache.org) 19980817 # poll is problematic on Linux. We disable it # by default until Linux gets it right. + # See also bug #932 rev=`uname -r | awk -F. '{printf "%03d%03d",$1,$2}'` - if test $rev -lt 002002; then - echo "disabling poll for $host < 2.2..." + if test $rev -lt 002004; then + echo "disabling poll for $host < 2.4..." ac_cv_func_poll='no' fi ;; @@ -1741,7 +1770,55 @@ if test "$ac_cv_func_snprintf" = "no" || test "$ac_cv_func_vsnprintf" = "no" ; then AM_CONDITIONAL(NEED_OWN_SNPRINTF, true) fi - + +dnl +dnl Test for va_copy +dnl +AC_CACHE_CHECK(if va_copy is implemented, ac_cv_func_va_copy, + AC_TRY_RUN([ + #include + void f (int i, ...) { + va_list args1, args2; + va_start (args1, i); + va_copy (args2, args1); + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); va_end (args2); + } + int main() { + f (0, 42); + return 0; + } + ],ac_cv_func_va_copy="yes",ac_cv_func_va_copy="no") +) +if test "$ac_cv_func_va_copy" = "yes" ; then + AC_DEFINE(HAVE_VA_COPY) +fi + +dnl +dnl Some systems support __va_copy +dnl +AC_CACHE_CHECK(if __va_copy is implemented, ac_cv_func___va_copy, + AC_TRY_RUN([ + #include + void f (int i, ...) { + va_list args1, args2; + va_start (args1, i); + __va_copy (args2, args1); + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); va_end (args2); + } + int main() { + f (0, 42); + return 0; + } + ],ac_cv_func___va_copy="yes",ac_cv_func___va_copy="no") +) +if test "$ac_cv_func___va_copy" = "yes" ; then + AC_DEFINE(HAVE___VA_COPY) +fi + dnl IP-Filter support requires ipf header files. These aren't dnl installed by default, so we need to check for them if test "$IPF_TRANSPARENT" ; then diff -ruN squid-2.5.STABLE5/contrib/Makefile.in squid-2.5.STABLE6/contrib/Makefile.in --- squid-2.5.STABLE5/contrib/Makefile.in Tue Feb 11 19:02:05 2003 +++ squid-2.5.STABLE6/contrib/Makefile.in Tue Jun 8 05:37:10 2004 @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/doc/Makefile.in squid-2.5.STABLE6/doc/Makefile.in --- squid-2.5.STABLE5/doc/Makefile.in Tue Feb 11 19:02:07 2003 +++ squid-2.5.STABLE6/doc/Makefile.in Tue Jun 8 05:37:11 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.1.2.9 2003/02/12 02:02:07 hno Exp $ +# $Id: Makefile.in,v 1.1.2.11 2004/06/08 11:37:11 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/errors/Makefile.in squid-2.5.STABLE6/errors/Makefile.in --- squid-2.5.STABLE5/errors/Makefile.in Mon Dec 1 03:13:57 2003 +++ squid-2.5.STABLE6/errors/Makefile.in Tue Jun 8 05:37:11 2004 @@ -14,7 +14,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.15.2.12 2003/12/01 10:13:57 hno Exp $ +# $Id: Makefile.in,v 1.15.2.14 2004/06/08 11:37:11 hno Exp $ # SHELL = @SHELL@ @@ -83,6 +83,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -93,6 +94,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/errors/Turkish/ERR_DNS_FAIL squid-2.5.STABLE6/errors/Turkish/ERR_DNS_FAIL --- squid-2.5.STABLE5/errors/Turkish/ERR_DNS_FAIL Mon Aug 26 19:17:35 2002 +++ squid-2.5.STABLE6/errors/Turkish/ERR_DNS_FAIL Thu Apr 15 05:50:35 2004 @@ -13,7 +13,7 @@ adresine ulaþýrken aþaðýdaki hata oluþtu:

    -%H isimli sunucuya ayit herhangi bir IP adresi bulunamadý. +%H isimli sunucuya ait herhangi bir IP adresi bulunamadý.

    diff -ruN squid-2.5.STABLE5/helpers/Makefile.in squid-2.5.STABLE6/helpers/Makefile.in --- squid-2.5.STABLE5/helpers/Makefile.in Tue Feb 11 19:02:10 2003 +++ squid-2.5.STABLE6/helpers/Makefile.in Tue Jun 8 05:37:11 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/LDAP/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/LDAP/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/LDAP/Makefile.in Tue Feb 11 19:02:12 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/LDAP/Makefile.in Tue Jun 8 05:37:11 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid LDAP authentication helper # -# $Id: Makefile.in,v 1.8.2.9 2003/02/12 02:02:12 hno Exp $ +# $Id: Makefile.in,v 1.8.2.11 2004/06/08 11:37:11 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/LDAP/squid_ldap_auth.8 squid-2.5.STABLE6/helpers/basic_auth/LDAP/squid_ldap_auth.8 --- squid-2.5.STABLE5/helpers/basic_auth/LDAP/squid_ldap_auth.8 Wed Feb 18 09:15:52 2004 +++ squid-2.5.STABLE6/helpers/basic_auth/LDAP/squid_ldap_auth.8 Tue Mar 2 02:13:29 2004 @@ -132,6 +132,12 @@ .BI -t search_timeout Specify time limit on LDAP search operations . +.TP +.BU -d +Debug mode where each step taken will get reported in detail. +Useful for understanding what goes wrong if the results is +not what is expected. +. .SH EXAMPLES For directories using the RFC2307 layout with a single domain, all you need to specify is usually the base DN under where your users diff -ruN squid-2.5.STABLE5/helpers/basic_auth/LDAP/squid_ldap_auth.c squid-2.5.STABLE6/helpers/basic_auth/LDAP/squid_ldap_auth.c --- squid-2.5.STABLE5/helpers/basic_auth/LDAP/squid_ldap_auth.c Mon Jan 5 06:12:11 2004 +++ squid-2.5.STABLE6/helpers/basic_auth/LDAP/squid_ldap_auth.c Thu Mar 4 02:37:38 2004 @@ -30,6 +30,10 @@ * or (at your option) any later version. * * Changes: + * 2004-03-01: Henrik Nordstrom + * - corrected building of search filters to escape + * unsafe input + * - -d option for "debug" like squid_ldap_group * 2004-01-05: Henrik Nordstrom * - Corrected TLS mode * 2003-03-01: David J N Begley @@ -95,6 +99,7 @@ #endif static int connect_timeout = 0; static int timelimit = LDAP_NO_LIMIT; +static int debug = 0; /* Added for TLS support and version 3 */ static int use_tls = 0; @@ -208,6 +213,7 @@ case 'R': case 'z': case 'Z': + case 'd': break; default: if (strlen(argv[1]) > 2) { @@ -333,6 +339,9 @@ use_tls = 1; break; #endif + case 'd': + debug++; + break; default: fprintf(stderr, PROGRAM_NAME ": ERROR: Unknown command line option '%c'\n", option); exit(1); @@ -478,6 +487,34 @@ } static int +ldap_escape_value(char *escaped, int size, const char *src) +{ + int n = 0; + while (size > 4 && *src) { + switch(*src) { + case '*': + case '(': + case ')': + case '\\': + n += 3; + size -= 3; + if (size > 0) { + *escaped++ = '\\'; + snprintf(escaped, 3, "%02x", (unsigned char)*src++); + escaped+=2; + } + break; + default: + *escaped++ = *src++; + n++; + size--; + } + } + *escaped = '\0'; + return n; +} + +static int checkLDAP(LDAP * ld, const char *userid, const char *password) { char dn[256]; @@ -490,6 +527,7 @@ } if (searchfilter) { char filter[256]; + char escaped_login[256]; LDAPMessage *res = NULL; LDAPMessage *entry; char *searchattr[] = @@ -497,6 +535,7 @@ char *userdn; int rc; + ldap_escape_value(escaped_login, sizeof(escaped_login), userid); if (binddn) { rc = ldap_simple_bind_s(ld, binddn, bindpasswd); if (rc != LDAP_SUCCESS) { @@ -504,7 +543,9 @@ return 1; } } - snprintf(filter, sizeof(filter), searchfilter, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid, userid); + snprintf(filter, sizeof(filter), searchfilter, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login, escaped_login); + if (debug) + fprintf(stderr, "user filter '%s', searchbase '%s'\n", filter, basedn); rc = ldap_search_s(ld, basedn, searchscope, filter, searchattr, 1, &res); if (rc != LDAP_SUCCESS) { if (noreferrals && rc == LDAP_PARTIAL_RESULTS) { @@ -541,6 +582,8 @@ snprintf(dn, sizeof(dn), "%s=%s,%s", userattr, userid, basedn); } + if (debug) + fprintf(stderr, "attempting to bind to user '%s'\n", dn); if (ldap_simple_bind_s(ld, dn, password) != LDAP_SUCCESS) return 1; diff -ruN squid-2.5.STABLE5/helpers/basic_auth/MSNT/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/MSNT/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/MSNT/Makefile.in Tue Feb 11 19:02:16 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/MSNT/Makefile.in Tue Jun 8 05:37:12 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.7.2.11 2003/02/12 02:02:16 hno Exp $ +# $Id: Makefile.in,v 1.7.2.13 2004/06/08 11:37:12 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/MSNT/README.html squid-2.5.STABLE6/helpers/basic_auth/MSNT/README.html --- squid-2.5.STABLE5/helpers/basic_auth/MSNT/README.html Wed Jun 26 13:21:24 2002 +++ squid-2.5.STABLE6/helpers/basic_auth/MSNT/README.html Mon May 31 17:47:49 2004 @@ -12,10 +12,9 @@

    MSNT Auth v2.0.3-squid.1
    Squid web proxy NT authentication module
    -Antonino Iannella, Stellar-X Pty Ltd
    -Sun Sep 2 15:01:58 CST 2001
    Modified by the Squid HTTP Proxy team
    -Wed Jun 26 21:16:32 CEST 2002 +Wed Jun 26 21:16:32 CEST 2002
    +Original release by Antonino Iannella, Stellar-X Pty Ltd

    Contents

    @@ -30,7 +29,7 @@
  • Squid.conf changes
  • Testing
  • Contact details -
  • Reported problem +
  • Unknown username issue
  • Revision history @@ -38,12 +37,18 @@

    This is an authentication module for the Squid proxy server -to authenticate users on an NT domain. +to use an NT domain server.

    It originates from the Samba and SMB packages by Andrew Tridgell -and Richard Sharpe. This version is sourced from the Pike -authentication module by William Welliver (hwellive@intersil.com). +and Richard Sharpe. It is sourced from the Pike +authentication module by William Welliver (hwellive@intersil.com), +and the SMB 1.0.1 libraries. +Releases up to version 2.0.3 were created by Antonino Iannella +(antonino@rager.com.au, http://stellarx.tripod.com). +The module is now distributed with Squid, and is maintained by the +Squid proxy team as an Open Source effort. +Msntauth is released under the GNU General Public License.

    Usage is simple. It accepts a username and password on standard input. @@ -52,32 +57,27 @@ Check syslog messages for reported problems.

    -Msntauth is released under the GNU General Public License and -is available from -http://www.tripod.com/stellarx. -It also ships with the Squid web proxy, -http://www.squid-proxy.org. - -

    -Msntauth has not been tested with Windows 2000 domains yet. +Msntauth works in environments with NT domain controllers on +Windows (TM) NT 4, 2000, and Samba.

    Installation

    -Make any changes to the source code you need. +Msntauth will be compiled when you compile Squid, using +their autoconf system. +Refer to Squid documentation for details. +If the build is suitable, you can skip this section.

    -If you are using the source provided with Squid, then Msntauth -will be compiled when you compile Squid. Refer to Squid documentation -for details. +Alternatively, a supplementary makefile is also provided for manual compiling. +Review Makefile.MSNT, and modify it based on the target platform or +site requirements.

    -If you have downloaded Msntauth from the Stellar-X website, then -copy Makefile.MSNT to Makefile. -Review the Makefile, and modify based on target platform or -site requirements. +Make any necessary changes to the source code.

    +Copy Makefile.MSNT to Makefile. Type 'make', then 'make install', then 'make clean'.

    @@ -87,52 +87,49 @@

    'Make install' will put 'msntauth' into -/usr/local/squid/bin by default. - -

    -Hopefully nobody has problems compiling msntauth. +/usr/local/squid/bin.

    Issues when compiling

    -The Makefile uses the GCC compiler, and assumes that it is in the current PATH. -Msntauth is known to compile properly on Redhat Linux 6, and FreeBSD 3.1 -without problems. Other operating systems are untested, -but use a recent copy of the GNU C compiler. -In Smbencrypt.c, '#include ' only gets included when -compiled with Solaris. +The Makefile uses your C compiler (usually GCC), assuming it's in your PATH. +Msntauth is known to compile properly on Linux, FreeBSD, and Solaris.

    -When compiling under Solaris, the socket libraries must be linked to. -In the Makefile, hash the default CFLAGS line, and unhash the Solaris -CFLAGS line. It always helps to have /usr/ccs/bin in your path -prior to compiling. +When compiling under Solaris, link to the NSL and socket libraries. +In the Makefile, enable the alternative CFLAGS line for Solaris. +Ensure /usr/ccs/bin is in your PATH. +In Smbencrypt.c, '#include ' only gets included when +compiled with Solaris.

    For Digital Unix/Tru64, review the INSTALL line in the makefile. +The install-bsd command is used to place files in their target location.

    Configuration file

    -Msntauth uses a configuration file as of version 2. -The file is /usr/local/squid/etc/msntauth.conf. -If this path needs to be changed, it is defined in confload.c - +Msntauth uses a configuration file, usually +/usr/local/squid/etc/msntauth.conf. +To change this, edit the following line in confload.c -

       #define CONFIGFILE   "/usr/local/squid/etc/msntauth.conf"
     

    -An example configuration file is provided. It looks like +An example configuration file is provided -

     # Sample MSNT authenticator configuration file
     # Antonino Iannella, Stellar-X Pty Ltd
    -# Tue Sep 26 17:26:59 CST 2000
    +# Tue Aug 26 17:26:59 GMT+9 2003
     
    -server my_PDC           my_BDC          my_NTdomain
    -server other_PDC        other_BDC       otherdomain
    +# NT domain hosts. Best to put the hostnames in /etc/hosts.
    +server myPDC           myBDC          myNTdomain
    +server otherPDC        otherBDC       otherdomain
     
    +# Denied and allowed users. Comment these if not needed.
     denyusers       /usr/local/squid/etc/denyusers
     allowusers      /usr/local/squid/etc/allowusers
     
    @@ -145,12 +142,18 @@ are used for this, with the PDC, BDC, and NT domain as parameters. Up to 5 servers/domains can be queried. If this is not enough, modify the MAXSERVERS define in confload.c. -At least one server must be specified, or msntauth will not -run. +At least one server must be specified, or msntauth will not start. Server names must be resolvable by the system. If not, msntauth reports an error. If you can't ping it, you might have a host resolution problem. -You can't use NetBIOS hostnames, nor IP addresses. + +

    +The name you specify is used in the NetBIOS protocol when +communicating with the target server. +The name must be resolvable by the local system, and it must be a +name that the target server uses. +You cannot simply invent a hostname. +You cannot use it IP address.

    When a user provides a username/password, each of these @@ -158,12 +161,12 @@ It stops after a user has been successfully authenticated, so it makes sense to specify the most commonly queried server first. Make sure the servers can be reached and -are active, or else msntauth will start failing user accounts! +are active, or else msntauth will report failures.

    The 'denyusers' and 'allowusers' lines give the absolute path to files of user accounts. They can be used to deny or allow -access to the proxy. Do not use these directives if you +access to the proxy. Remove these directives if you do not need these features.

    Denying users

    @@ -176,20 +179,20 @@

    The denied user file is set using the 'denyusers' directive in msntauth.conf. The denied user file -contains a list of usernames in no particular structure or form. +contains a list of usernames, one per line. If the file does not exist, no users are denied. The file must be readable by the web proxy user.

    Msntauth will send syslog messages if a user was denied, -at LOG_USER facility. +at LOG_USER facility. Check your syslog messages for clues.

    Allowing users

    Similar to denying users, you can allow users to access the proxy by username. This is useful if only a number of people are -allowed supposed to be accessing a proxy. +allowed to use a proxy.

    The allowed user file is set using the 'allowusers' directive @@ -200,7 +203,7 @@ You could make use of the SHOWMBRS tool in Microsoft Technet. This gives you a list of users which are in a particular NT Domain Group. This list can be made into the allowed users -file. +file using sed or awk.

    Some other rules - @@ -217,9 +220,6 @@ users will be allowed. -

    -Hopefully this wasn't too confusing. -

    Squid.conf changes

    @@ -228,9 +228,9 @@ your access list -

    -  acl  proxy_auth REQUIRED
    +  acl yourACL proxy_auth REQUIRED
       http_access allow password
    -  http_access allow 
    +  http_access allow yourACL
       http_access deny all
     
    @@ -241,7 +241,7 @@ experimentation may be required to find the best number. There should be no visible delay in performance with Squid once msntauth is in use. As an example, a firm with 1500 users and a T1 -internet connection required a value of 30.- +internet connection required a value of 30.
       proxy_auth_realm enterprise web gateway
    @@ -276,7 +276,7 @@
     
     

    If the above didn't work as expected, you may need to modify the main() -function in msntauth.c. Inform the maintainer of any problems. +function in msntauth.c. Inform the Squid maintainers of any problems.

    Usernames cannot have whitespace in them, but passwords can. @@ -289,25 +289,19 @@ strings msntauth | grep -i msntauth

    -

    Contact details

    - -

    -To contact the maintainer of this package, email Antonino Iannella -at antonino@rager.com.au, or antonino.iannella@santos.com.au, or ring -+61 8408 800 007. +

    Support details

    -The latest version may be found on http://members.tripod.com/stellarx. -It is also distributed as part of Squid. +Refer to the Squid website at http://www.squid-cache.org. +Submit problems or fixes using their Bugzilla facility. -

    Reported problem

    +

    Unknown username issue

    For an unknown username, Msntauth returns OK. This is because the PDC returns guest access for unknown users, even if guest access is disabled. This problem was reported by Mr Vadim Popov (vap@iilsr.minsk.by). -I am not able to replicate this.

    The tested environment consisted of PDC on Windows NT 4, SP 6. @@ -323,11 +317,9 @@

    The following sequence of changes have been made to improve msntauth. -I have not had a chance to do too much testing due -to lack of resources. There should be no problems, though.

      -
    • Added many patches from Duane Wessels to stop compilation errors (?) +
    • Added many patches from Duane Wessels to stop compilation errors
    • Improved the main() function yet again
    • Created a more informative Makefile
    • Added an 'allowed users' feature to complement the 'denied users' feature @@ -347,11 +339,12 @@
    • PDC and BDC hostnames are now checked if they are resolvable.
    • Smbencrypt.c does not have to be checked for Solaris systems any more.
    • Imbedded version information in the executable. +
    • Version 2.0.3 and later now supported by the Squid team.

    -Hopefully msntauth and Squid prove to be a valuable auditing combination. -Feel free to send me success or problem stories. +A future improvement may be to cache accepted usernames and passwords, +to reduce network authentication traffic, and improve the Squid response time. diff -ruN squid-2.5.STABLE5/helpers/basic_auth/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/Makefile.in Tue Feb 11 19:02:10 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/Makefile.in Tue Jun 8 05:37:11 2004 @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.7.2.8 2003/02/12 02:02:10 hno Exp $ +# $Id: Makefile.in,v 1.7.2.10 2004/06/08 11:37:11 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/NCSA/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/NCSA/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/NCSA/Makefile.in Tue Feb 11 19:02:22 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/NCSA/Makefile.in Tue Jun 8 05:37:12 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.7 2003/02/12 02:02:22 hno Exp $ +# $Id: Makefile.in,v 1.8.2.9 2004/06/08 11:37:12 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/PAM/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/PAM/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/PAM/Makefile.in Tue Feb 11 19:02:23 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/PAM/Makefile.in Tue Jun 8 05:37:12 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid PAM authentication helper # -# $Id: Makefile.in,v 1.7.2.9 2003/02/12 02:02:23 hno Exp $ +# $Id: Makefile.in,v 1.7.2.11 2004/06/08 11:37:12 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/SASL/Makefile.am squid-2.5.STABLE6/helpers/basic_auth/SASL/Makefile.am --- squid-2.5.STABLE5/helpers/basic_auth/SASL/Makefile.am Sun Aug 11 19:13:41 2002 +++ squid-2.5.STABLE6/helpers/basic_auth/SASL/Makefile.am Tue Jun 8 05:35:22 2004 @@ -1,7 +1,7 @@ # # Makefile for the Squid SASL authentication helper # -# $Id: Makefile.am,v 1.1.2.3 2002/08/12 01:13:41 hno Exp $ +# $Id: Makefile.am,v 1.1.2.4 2004/06/08 11:35:22 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -9,5 +9,5 @@ INCLUDES = -I$(top_srcdir)/include libexec_PROGRAMS = sasl_auth -LDADD = -L$(top_builddir)/lib -lmiscutil -lsasl $(XTRA_LIBS) +LDADD = -L$(top_builddir)/lib -lmiscutil $(LIBSASL) $(XTRA_LIBS) EXTRA_DIST = squid_sasl_auth squid_sasl_auth.conf diff -ruN squid-2.5.STABLE5/helpers/basic_auth/SASL/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/SASL/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/SASL/Makefile.in Tue Feb 11 19:02:25 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/SASL/Makefile.in Tue Jun 8 05:37:15 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid SASL authentication helper # -# $Id: Makefile.in,v 1.1.2.13 2003/02/12 02:02:25 hno Exp $ +# $Id: Makefile.in,v 1.1.2.15 2004/06/08 11:37:15 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ @@ -123,7 +125,7 @@ INCLUDES = -I$(top_srcdir)/include libexec_PROGRAMS = sasl_auth -LDADD = -L$(top_builddir)/lib -lmiscutil -lsasl $(XTRA_LIBS) +LDADD = -L$(top_builddir)/lib -lmiscutil $(LIBSASL) $(XTRA_LIBS) EXTRA_DIST = squid_sasl_auth squid_sasl_auth.conf subdir = helpers/basic_auth/SASL mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs diff -ruN squid-2.5.STABLE5/helpers/basic_auth/SASL/sasl_auth.c squid-2.5.STABLE6/helpers/basic_auth/SASL/sasl_auth.c --- squid-2.5.STABLE5/helpers/basic_auth/SASL/sasl_auth.c Mon Aug 12 10:58:31 2002 +++ squid-2.5.STABLE6/helpers/basic_auth/SASL/sasl_auth.c Tue Jun 8 05:35:22 2004 @@ -1,5 +1,5 @@ /* - * $Id: sasl_auth.c,v 1.1.2.4 2002/08/12 16:58:31 hno Exp $ + * $Id: sasl_auth.c,v 1.1.2.5 2004/06/08 11:35:22 hno Exp $ * * SASL authenticator module for Squid. * Copyright (C) 2002 Ian Castle @@ -23,9 +23,9 @@ * This program authenticates users against using cyrus-sasl * * Compile this program with: gcc -Wall -o sasl_auth sasl_auth.c -lsasl + * or with SASL2: gcc -Wall -o sasl_auth sasl_auth.c -lsasl2 * */ -#include #include #include #include @@ -33,6 +33,12 @@ #include "util.h" +#ifdef HAVE_SASL_SASL_H +#include +#else +#include +#endif + #define APP_NAME_SASL "squid_sasl_auth" int @@ -40,7 +46,9 @@ { char line[8192]; char *username, *password; +#if SASL_VERSION_MAJOR < 2 const char *errstr; +#endif int rc; sasl_conn_t *conn = NULL; @@ -56,7 +64,11 @@ return 1; } + #if SASL_VERSION_MAJOR < 2 rc = sasl_server_new( APP_NAME_SASL, NULL, NULL, NULL, 0, &conn ); + #else + rc = sasl_server_new( APP_NAME_SASL, NULL, NULL, NULL, NULL, NULL, 0, &conn ); + #endif if ( rc != SASL_OK ) { fprintf( stderr, "error %d %s\n", rc, sasl_errstring(rc, NULL, NULL )); @@ -84,15 +96,21 @@ rfc1738_unescape(username); rfc1738_unescape(password); + #if SASL_VERSION_MAJOR < 2 rc = sasl_checkpass(conn, username, strlen(username), password, strlen(password), &errstr); + #else + rc = sasl_checkpass(conn, username, strlen(username), password, strlen(password)); + #endif if ( rc != SASL_OK ) { + #if SASL_VERSION_MAJOR < 2 if ( errstr ) { fprintf( stderr, "errstr %s\n", errstr ); } if ( rc != SASL_BADAUTH ) { fprintf( stderr, "error %d %s\n", rc, sasl_errstring(rc, NULL, NULL )); } + #endif fprintf( stdout, "ERR\n" ); } else { diff -ruN squid-2.5.STABLE5/helpers/basic_auth/SMB/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/SMB/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/SMB/Makefile.in Tue Feb 11 19:02:25 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/SMB/Makefile.in Tue Jun 8 05:37:15 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.7.2.9 2003/02/12 02:02:25 hno Exp $ +# $Id: Makefile.in,v 1.7.2.11 2004/06/08 11:37:15 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -92,6 +92,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -102,6 +103,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/YP/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/YP/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/YP/Makefile.in Tue Feb 11 19:02:25 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/YP/Makefile.in Tue Jun 8 05:37:16 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.9.2.8 2003/02/12 02:02:25 hno Exp $ +# $Id: Makefile.in,v 1.9.2.10 2004/06/08 11:37:16 hno Exp $ # # @@ -86,6 +86,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -96,6 +97,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/getpwnam/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/getpwnam/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/getpwnam/Makefile.in Tue Feb 11 19:02:27 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/getpwnam/Makefile.in Tue Jun 8 05:37:16 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.7 2003/02/12 02:02:27 hno Exp $ +# $Id: Makefile.in,v 1.8.2.9 2004/06/08 11:37:16 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/multi-domain-NTLM/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/multi-domain-NTLM/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/multi-domain-NTLM/Makefile.in Tue Feb 11 19:02:27 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/multi-domain-NTLM/Makefile.in Tue Jun 8 05:37:16 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.5.2.8 2003/02/12 02:02:27 hno Exp $ +# $Id: Makefile.in,v 1.5.2.10 2004/06/08 11:37:16 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/basic_auth/winbind/Makefile.in squid-2.5.STABLE6/helpers/basic_auth/winbind/Makefile.in --- squid-2.5.STABLE5/helpers/basic_auth/winbind/Makefile.in Tue Feb 11 19:02:30 2003 +++ squid-2.5.STABLE6/helpers/basic_auth/winbind/Makefile.in Tue Jun 8 05:37:17 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.1.2.9 2003/02/12 02:02:30 hno Exp $ +# $Id: Makefile.in,v 1.1.2.11 2004/06/08 11:37:17 hno Exp $ # SHELL = @SHELL@ @@ -85,6 +85,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -95,6 +96,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/digest_auth/Makefile.in squid-2.5.STABLE6/helpers/digest_auth/Makefile.in --- squid-2.5.STABLE5/helpers/digest_auth/Makefile.in Tue Feb 11 19:02:32 2003 +++ squid-2.5.STABLE6/helpers/digest_auth/Makefile.in Tue Jun 8 05:37:18 2004 @@ -15,7 +15,7 @@ # Makefile for digest auth helpers in the Squid Object Cache server # -# $Id: Makefile.in,v 1.6.2.6 2003/02/12 02:02:32 hno Exp $ +# $Id: Makefile.in,v 1.6.2.8 2004/06/08 11:37:18 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/digest_auth/password/Makefile.in squid-2.5.STABLE6/helpers/digest_auth/password/Makefile.in --- squid-2.5.STABLE5/helpers/digest_auth/password/Makefile.in Tue Feb 11 19:02:35 2003 +++ squid-2.5.STABLE6/helpers/digest_auth/password/Makefile.in Tue Jun 8 05:37:18 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.6 2003/02/12 02:02:35 hno Exp $ +# $Id: Makefile.in,v 1.8.2.8 2004/06/08 11:37:18 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/Makefile.in squid-2.5.STABLE6/helpers/external_acl/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/Makefile.in Tue Feb 11 19:02:37 2003 +++ squid-2.5.STABLE6/helpers/external_acl/Makefile.in Tue Jun 8 05:37:18 2004 @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.2.2.3 2003/02/12 02:02:37 hno Exp $ +# $Id: Makefile.in,v 1.2.2.5 2004/06/08 11:37:18 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/ip_user/Makefile.in squid-2.5.STABLE6/helpers/external_acl/ip_user/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/ip_user/Makefile.in Tue Feb 11 19:02:38 2003 +++ squid-2.5.STABLE6/helpers/external_acl/ip_user/Makefile.in Tue Jun 8 05:37:18 2004 @@ -16,7 +16,7 @@ # # Makefile for the ip_user external_acl helper by Rodrigo Campos # -# $Id: Makefile.in,v 1.1.2.4 2003/02/12 02:02:38 hno Exp $ +# $Id: Makefile.in,v 1.1.2.6 2004/06/08 11:37:18 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/ldap_group/Makefile.in squid-2.5.STABLE6/helpers/external_acl/ldap_group/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/ldap_group/Makefile.in Wed Nov 19 17:43:41 2003 +++ squid-2.5.STABLE6/helpers/external_acl/ldap_group/Makefile.in Tue Jun 8 05:37:19 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid LDAP authentication helper # -# $Id: Makefile.in,v 1.1.2.6 2003/11/20 00:43:41 hno Exp $ +# $Id: Makefile.in,v 1.1.2.8 2004/06/08 11:37:19 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/ldap_group/squid_ldap_group.8 squid-2.5.STABLE6/helpers/external_acl/ldap_group/squid_ldap_group.8 --- squid-2.5.STABLE5/helpers/external_acl/ldap_group/squid_ldap_group.8 Wed Nov 19 17:41:37 2003 +++ squid-2.5.STABLE6/helpers/external_acl/ldap_group/squid_ldap_group.8 Tue Mar 2 02:13:29 2004 @@ -138,6 +138,12 @@ .BI -S Strip NT domain name component from user names (/ or \\ separated) . +.TP +.BU -d +Debug mode where each step taken will get reported in detail. +Useful for understanding what goes wrong if the results is +not what is expected. + .SH SQUID CONFIGURATION . This helper is intended to be used as a external_acl_type helper from diff -ruN squid-2.5.STABLE5/helpers/external_acl/ldap_group/squid_ldap_group.c squid-2.5.STABLE6/helpers/external_acl/ldap_group/squid_ldap_group.c --- squid-2.5.STABLE5/helpers/external_acl/ldap_group/squid_ldap_group.c Mon Feb 9 10:04:56 2004 +++ squid-2.5.STABLE6/helpers/external_acl/ldap_group/squid_ldap_group.c Tue Mar 2 02:13:29 2004 @@ -229,6 +229,7 @@ case 'R': case 'z': case 'Z': + case 'd': case 'g': case 'S': break; @@ -558,7 +559,7 @@ size -= 3; if (size > 0) { *escaped++ = '\\'; - snprintf(escaped, 3, "%02x", (int)*src++); + snprintf(escaped, 3, "%02x", (unsigned char)*src++); escaped+=2; } break; diff -ruN squid-2.5.STABLE5/helpers/external_acl/unix_group/Makefile.in squid-2.5.STABLE6/helpers/external_acl/unix_group/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/unix_group/Makefile.in Tue Feb 11 19:02:44 2003 +++ squid-2.5.STABLE6/helpers/external_acl/unix_group/Makefile.in Tue Jun 8 05:37:19 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid LDAP authentication helper # -# $Id: Makefile.in,v 1.1.2.4 2003/02/12 02:02:44 hno Exp $ +# $Id: Makefile.in,v 1.1.2.6 2004/06/08 11:37:19 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/wbinfo_group/Makefile.in squid-2.5.STABLE6/helpers/external_acl/wbinfo_group/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/wbinfo_group/Makefile.in Tue Feb 11 19:02:48 2003 +++ squid-2.5.STABLE6/helpers/external_acl/wbinfo_group/Makefile.in Tue Jun 8 05:37:19 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid LDAP authentication helper # -# $Id: Makefile.in,v 1.1.2.3 2003/02/12 02:02:48 hno Exp $ +# $Id: Makefile.in,v 1.1.2.5 2004/06/08 11:37:19 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/external_acl/winbind_group/Makefile.in squid-2.5.STABLE6/helpers/external_acl/winbind_group/Makefile.in --- squid-2.5.STABLE5/helpers/external_acl/winbind_group/Makefile.in Fri May 16 18:16:14 2003 +++ squid-2.5.STABLE6/helpers/external_acl/winbind_group/Makefile.in Tue Jun 8 05:37:20 2004 @@ -16,7 +16,7 @@ # # Makefile for the wb_group external_acl helper # -# $Id: Makefile.in,v 1.1.2.5 2003/05/17 00:16:14 hno Exp $ +# $Id: Makefile.in,v 1.1.2.7 2004/06/08 11:37:20 hno Exp $ # SHELL = @SHELL@ @@ -85,6 +85,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -95,6 +96,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/Makefile.in Tue Feb 11 19:02:52 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/Makefile.in Tue Jun 8 05:37:20 2004 @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.7.2.8 2003/02/12 02:02:52 hno Exp $ +# $Id: Makefile.in,v 1.7.2.10 2004/06/08 11:37:20 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/SMB/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/SMB/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/SMB/Makefile.in Tue Feb 11 19:02:56 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/SMB/Makefile.in Tue Jun 8 05:37:20 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.7 2003/02/12 02:02:56 hno Exp $ +# $Id: Makefile.in,v 1.8.2.9 2004/06/08 11:37:20 hno Exp $ # SHELL = @SHELL@ @@ -85,6 +85,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -95,6 +96,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/SMB/libntlmssp.c squid-2.5.STABLE6/helpers/ntlm_auth/SMB/libntlmssp.c --- squid-2.5.STABLE5/helpers/ntlm_auth/SMB/libntlmssp.c Fri Nov 30 02:50:28 2001 +++ squid-2.5.STABLE6/helpers/ntlm_auth/SMB/libntlmssp.c Fri Jun 11 10:07:55 2004 @@ -161,7 +161,10 @@ #define min(A,B) (A MAX_DOMAIN_LEN) { + debug("Domain string exceeds %d bytes, rejecting\n", MAX_DOMAIN_LEN); + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } memcpy(domain, tmp.str, tmp.l); user = domain + tmp.l; *user++ = '\0'; @@ -226,20 +234,30 @@ ntlm_errno = NTLM_LOGON_ERROR; return NULL; } + if (tmp.l > MAX_USERNAME_LEN) { + debug("Username string exceeds %d bytes, rejecting\n", MAX_USERNAME_LEN); + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } memcpy(user, tmp.str, tmp.l); *(user + tmp.l) = '\0'; - /* Authenticating against the NT response doesn't seem to work... */ + /* Authenticating against the NT response doesn't seem to work... */ tmp = ntlm_fetch_string((char *) auth, auth_length, &auth->lmresponse); if (tmp.str == NULL || tmp.l == 0) { fprintf(stderr, "No auth at all. Returning no-auth\n"); ntlm_errno = NTLM_LOGON_ERROR; return NULL; } - + if (tmp.l > MAX_PASSWD_LEN) { + debug("Password string exceeds %d bytes, rejecting\n", MAX_PASSWD_LEN); + ntlm_errno = NTLM_LOGON_ERROR; + return NULL; + } + memcpy(pass, tmp.str, tmp.l); - pass[25] = '\0'; + pass[min(MAX_PASSWD_LEN,tmp.l)] = '\0'; #if 1 debug ("Empty LM pass detection: user: '%s', ours:'%s', his: '%s'" diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/SMB/smbval/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/SMB/smbval/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/SMB/smbval/Makefile.in Tue Feb 11 19:02:58 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/SMB/smbval/Makefile.in Tue Jun 8 05:37:20 2004 @@ -81,6 +81,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -91,6 +92,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/fakeauth/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/fakeauth/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/fakeauth/Makefile.in Tue Feb 11 19:02:58 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/fakeauth/Makefile.in Tue Jun 8 05:37:20 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.6 2003/02/12 02:02:58 hno Exp $ +# $Id: Makefile.in,v 1.8.2.8 2004/06/08 11:37:20 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/no_check/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/no_check/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/no_check/Makefile.in Tue Feb 11 19:03:01 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/no_check/Makefile.in Tue Jun 8 05:37:21 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.8 2003/02/12 02:03:01 hno Exp $ +# $Id: Makefile.in,v 1.8.2.10 2004/06/08 11:37:21 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/helpers/ntlm_auth/winbind/Makefile.in squid-2.5.STABLE6/helpers/ntlm_auth/winbind/Makefile.in --- squid-2.5.STABLE5/helpers/ntlm_auth/winbind/Makefile.in Tue Feb 11 19:03:06 2003 +++ squid-2.5.STABLE6/helpers/ntlm_auth/winbind/Makefile.in Tue Jun 8 05:37:21 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.1.2.9 2003/02/12 02:03:06 hno Exp $ +# $Id: Makefile.in,v 1.1.2.11 2004/06/08 11:37:21 hno Exp $ # SHELL = @SHELL@ @@ -85,6 +85,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -95,6 +96,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/icons/Makefile.in squid-2.5.STABLE6/icons/Makefile.in --- squid-2.5.STABLE5/icons/Makefile.in Wed May 21 18:15:40 2003 +++ squid-2.5.STABLE6/icons/Makefile.in Tue Jun 8 05:37:22 2004 @@ -13,7 +13,7 @@ @SET_MAKE@ -# $Id: Makefile.in,v 1.21.2.8 2003/05/22 00:15:40 hno Exp $ +# $Id: Makefile.in,v 1.21.2.10 2004/06/08 11:37:22 hno Exp $ # SHELL = @SHELL@ @@ -82,6 +82,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -92,6 +93,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/include/autoconf.h.in squid-2.5.STABLE6/include/autoconf.h.in --- squid-2.5.STABLE5/include/autoconf.h.in Fri Jan 17 18:46:33 2003 +++ squid-2.5.STABLE6/include/autoconf.h.in Tue Jun 8 05:37:22 2004 @@ -307,6 +307,14 @@ #undef HAVE_STRUCT_MALLINFO /* + * Some systems dont have va_copy */ +#undef HAVE_VA_COPY + +/* + * Some systems support __va_copy */ +#undef HAVE___VA_COPY + +/* * Do we want to use truncate(2) or unlink(2)? */ #undef USE_TRUNCATE @@ -719,6 +727,12 @@ /* Define if you have the header file. */ #undef HAVE_RESOLV_H + +/* Define if you have the header file. */ +#undef HAVE_SASL_H + +/* Define if you have the header file. */ +#undef HAVE_SASL_SASL_H /* Define if you have the header file. */ #undef HAVE_SCHED_H diff -ruN squid-2.5.STABLE5/include/config.h squid-2.5.STABLE6/include/config.h --- squid-2.5.STABLE5/include/config.h Tue Nov 13 14:27:47 2001 +++ squid-2.5.STABLE6/include/config.h Sat Apr 17 19:29:51 2004 @@ -1,5 +1,5 @@ /* - * $Id: config.h,v 1.4 2001/11/13 21:27:47 hno Exp $ + * $Id: config.h,v 1.4.2.1 2004/04/18 01:29:51 hno Exp $ * * AUTHOR: Duane Wessels * @@ -163,6 +163,7 @@ #define xisascii(x) isascii((unsigned char)x) #define xislower(x) islower((unsigned char)x) #define xisalpha(x) isalpha((unsigned char)x) +#define xisgraph(x) isgraph((unsigned char)x) #if HAVE_RANDOM #define squid_random random diff -ruN squid-2.5.STABLE5/include/version.h squid-2.5.STABLE6/include/version.h --- squid-2.5.STABLE5/include/version.h Sun Feb 29 15:30:21 2004 +++ squid-2.5.STABLE6/include/version.h Thu Jul 8 17:44:39 2004 @@ -9,5 +9,5 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1078093818 +#define SQUID_RELEASE_TIME 1089330276 #endif diff -ruN squid-2.5.STABLE5/lib/Makefile.in squid-2.5.STABLE6/lib/Makefile.in --- squid-2.5.STABLE5/lib/Makefile.in Tue Feb 11 19:03:10 2003 +++ squid-2.5.STABLE6/lib/Makefile.in Tue Jun 8 05:37:22 2004 @@ -14,7 +14,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.57.2.5 2003/02/12 02:03:10 hno Exp $ +# $Id: Makefile.in,v 1.57.2.7 2004/06/08 11:37:22 hno Exp $ # SHELL = @SHELL@ @@ -83,6 +83,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -93,6 +94,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/lib/rfc1035.c squid-2.5.STABLE6/lib/rfc1035.c --- squid-2.5.STABLE5/lib/rfc1035.c Fri Apr 25 06:09:57 2003 +++ squid-2.5.STABLE6/lib/rfc1035.c Sun Apr 11 03:14:52 2004 @@ -1,6 +1,6 @@ /* - * $Id: rfc1035.c,v 1.22.2.4 2003/04/25 12:09:57 hno Exp $ + * $Id: rfc1035.c,v 1.22.2.5 2004/04/11 09:14:52 hno Exp $ * * Low level DNS protocol routines * AUTHOR: Duane Wessels @@ -337,7 +337,7 @@ break; if (len > (ns - no - 1)) /* label won't fit */ return 1; - if ((*off) + len > sz) /* message is too short */ + if ((*off) + len >= sz) /* message is too short */ return 1; memcpy(name + no, buf + (*off), len); (*off) += len; diff -ruN squid-2.5.STABLE5/scripts/Makefile.in squid-2.5.STABLE6/scripts/Makefile.in --- squid-2.5.STABLE5/scripts/Makefile.in Tue Feb 11 19:03:12 2003 +++ squid-2.5.STABLE6/scripts/Makefile.in Tue Jun 8 05:37:22 2004 @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/snmplib/Makefile.in squid-2.5.STABLE6/snmplib/Makefile.in --- squid-2.5.STABLE5/snmplib/Makefile.in Tue Feb 11 19:03:12 2003 +++ squid-2.5.STABLE6/snmplib/Makefile.in Tue Jun 8 05:37:22 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/Makefile.in squid-2.5.STABLE6/src/Makefile.in --- squid-2.5.STABLE5/src/Makefile.in Tue Feb 11 19:03:14 2003 +++ squid-2.5.STABLE6/src/Makefile.in Tue Jun 8 05:37:22 2004 @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.225.2.12 2003/02/12 02:03:14 hno Exp $ +# $Id: Makefile.in,v 1.225.2.14 2004/06/08 11:37:22 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -87,6 +87,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -97,6 +98,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/MemBuf.c squid-2.5.STABLE6/src/MemBuf.c --- squid-2.5.STABLE5/src/MemBuf.c Fri Apr 20 15:26:22 2001 +++ squid-2.5.STABLE6/src/MemBuf.c Sun Jun 6 09:07:16 2004 @@ -1,6 +1,6 @@ /* - * $Id: MemBuf.c,v 1.28 2001/04/20 21:26:22 hno Exp $ + * $Id: MemBuf.c,v 1.28.2.2 2004/06/06 15:07:16 hno Exp $ * * DEBUG: section 59 auto-growing Memory Buffer with printf * AUTHOR: Alex Rousskov @@ -98,9 +98,17 @@ * } */ - #include "squid.h" +#ifdef VA_COPY +#undef VA_COPY +#endif +#if defined HAVE_VA_COPY +#define VA_COPY va_copy +#elif defined HAVE___VA_COPY +#define VA_COPY __va_copy +#endif + /* local constants */ /* default values for buffer sizes, used by memBufDefInit */ @@ -228,6 +236,9 @@ void memBufVPrintf(MemBuf * mb, const char *fmt, va_list vargs) { +#if defined VA_COPY + va_list ap; +#endif int sz = 0; assert(mb && fmt); assert(mb->buf); @@ -236,7 +247,17 @@ while (mb->capacity <= mb->max_capacity) { mb_size_t free_space = mb->capacity - mb->size; /* put as much as we can */ + +#if defined VA_COPY + VA_COPY(ap, vargs); /* Fix of bug 753. The value of vargs is undefined + * * after vsnprintf() returns. Make a copy of vargs + * * incase we loop around and call vsnprintf() again. + */ + sz = vsnprintf(mb->buf + mb->size, free_space, fmt, ap); + va_end(ap); +#else sz = vsnprintf(mb->buf + mb->size, free_space, fmt, vargs); +#endif /* check for possible overflow */ /* snprintf on Linuz returns -1 on overflows */ /* snprintf on FreeBSD returns at least free_space on overflows */ diff -ruN squid-2.5.STABLE5/src/access_log.c squid-2.5.STABLE6/src/access_log.c --- squid-2.5.STABLE5/src/access_log.c Mon Jul 28 02:59:28 2003 +++ squid-2.5.STABLE6/src/access_log.c Mon Jun 7 15:20:34 2004 @@ -1,6 +1,6 @@ /* - * $Id: access_log.c,v 1.72.2.4 2003/07/28 08:59:28 adrian Exp $ + * $Id: access_log.c,v 1.72.2.5 2004/06/07 21:20:34 hno Exp $ * * DEBUG: section 46 Access Log * AUTHOR: Duane Wessels @@ -245,14 +245,14 @@ client = inet_ntoa(al->cache.caddr); user = accessLogFormatName(al->cache.authuser ? al->cache.authuser : al->cache.rfc931); - logfilePrintf(logfile, "%9d.%03d %6d %s %s/%03d %ld %s %s %s %s%s/%s %s", + logfilePrintf(logfile, "%9d.%03d %6d %s %s/%03d %lu %s %s %s %s%s/%s %s", (int) current_time.tv_sec, (int) current_time.tv_usec / 1000, al->cache.msec, client, log_tags[al->cache.code], al->http.code, - (long int) al->cache.size, + (unsigned long) al->cache.size, al->private.method_str, al->url, user && *user ? user : dash_str, diff -ruN squid-2.5.STABLE5/src/auth/Makefile.in squid-2.5.STABLE6/src/auth/Makefile.in --- squid-2.5.STABLE5/src/auth/Makefile.in Tue Feb 11 19:03:15 2003 +++ squid-2.5.STABLE6/src/auth/Makefile.in Tue Jun 8 05:37:22 2004 @@ -15,7 +15,7 @@ # Makefile for authentication modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.6.2.5 2003/02/12 02:03:15 hno Exp $ +# $Id: Makefile.in,v 1.6.2.7 2004/06/08 11:37:22 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/auth/basic/Makefile.in squid-2.5.STABLE6/src/auth/basic/Makefile.in --- squid-2.5.STABLE5/src/auth/basic/Makefile.in Tue Feb 11 19:03:19 2003 +++ squid-2.5.STABLE6/src/auth/basic/Makefile.in Tue Jun 8 05:37:22 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/auth/basic/auth_basic.c squid-2.5.STABLE6/src/auth/basic/auth_basic.c --- squid-2.5.STABLE5/src/auth/basic/auth_basic.c Wed Feb 18 10:50:51 2004 +++ squid-2.5.STABLE6/src/auth/basic/auth_basic.c Sat Apr 17 19:29:52 2004 @@ -1,5 +1,5 @@ /* - * $Id: auth_basic.c,v 1.14.2.5 2004/02/18 17:50:51 hno Exp $ + * $Id: auth_basic.c,v 1.14.2.6 2004/04/18 01:29:52 hno Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Duane Wessels @@ -421,7 +421,7 @@ /* decode the username */ /* trim BASIC from string */ - while (!xisspace(*proxy_auth)) + while (xisgraph(*proxy_auth)) proxy_auth++; local_basic.passwd = NULL; diff -ruN squid-2.5.STABLE5/src/auth/digest/Makefile.in squid-2.5.STABLE6/src/auth/digest/Makefile.in --- squid-2.5.STABLE5/src/auth/digest/Makefile.in Tue Feb 11 19:03:20 2003 +++ squid-2.5.STABLE6/src/auth/digest/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/auth/digest/auth_digest.c squid-2.5.STABLE6/src/auth/digest/auth_digest.c --- squid-2.5.STABLE5/src/auth/digest/auth_digest.c Thu Feb 19 05:28:01 2004 +++ squid-2.5.STABLE6/src/auth/digest/auth_digest.c Sat Apr 17 19:29:52 2004 @@ -1,6 +1,6 @@ /* - * $Id: auth_digest.c,v 1.10.2.11 2004/02/19 12:28:01 hno Exp $ + * $Id: auth_digest.c,v 1.10.2.12 2004/04/18 01:29:52 hno Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Robert Collins @@ -764,7 +764,8 @@ authenticateDigestDirection(auth_user_request_t * auth_user_request) { digest_request_h *digest_request = auth_user_request->scheme_data; - /* null auth_user is checked for by authenticateDirection */ + if (!digest_request) + return -2; switch (digest_request->flags.credentials_ok) { case 0: /* not checked */ return -1; @@ -790,6 +791,8 @@ if (!auth_user_request) return; digest_request = auth_user_request->scheme_data; + if (!digest_request) + return; /* don't add to authentication error pages */ if ((!accel && rep->sline.status == HTTP_PROXY_AUTHENTICATION_REQUIRED) || (accel && rep->sline.status == HTTP_UNAUTHORIZED)) @@ -1136,7 +1139,7 @@ digest_request = authDigestRequestNew(); /* trim DIGEST from string */ - while (!xisspace(*proxy_auth)) + while (xisgraph(*proxy_auth)) proxy_auth++; /* Trim leading whitespace before decoding */ diff -ruN squid-2.5.STABLE5/src/auth/ntlm/Makefile.in squid-2.5.STABLE6/src/auth/ntlm/Makefile.in --- squid-2.5.STABLE5/src/auth/ntlm/Makefile.in Tue Feb 11 19:03:22 2003 +++ squid-2.5.STABLE6/src/auth/ntlm/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/auth/ntlm/auth_ntlm.c squid-2.5.STABLE6/src/auth/ntlm/auth_ntlm.c --- squid-2.5.STABLE5/src/auth/ntlm/auth_ntlm.c Tue Feb 24 10:11:52 2004 +++ squid-2.5.STABLE6/src/auth/ntlm/auth_ntlm.c Sat Apr 17 19:29:52 2004 @@ -1,6 +1,6 @@ /* - * $Id: auth_ntlm.c,v 1.17.2.9 2004/02/24 17:11:52 hno Exp $ + * $Id: auth_ntlm.c,v 1.17.2.12 2004/04/18 01:29:52 hno Exp $ * * DEBUG: section 29 NTLM Authenticator * AUTHOR: Robert Collins @@ -481,7 +481,6 @@ debug(29, 2) ("AuthenticateNTLMHandleReply: invalid callback data. Releasing helper '%p'.\n", srv); cbdataUnlock(r->data); authenticateStateFree(r); - helperStatefulReleaseServer(srv); return; } if (!reply) { @@ -657,7 +656,7 @@ assert(ntlm_request); assert(handler); assert(data); - assert(auth_user->auth_type = AUTH_NTLM); + assert(auth_user->auth_type == AUTH_NTLM); debug(29, 9) ("authenticateNTLMStart: auth state '%d'\n", ntlm_request->auth_state); switch (ntlm_request->auth_state) { case AUTHENTICATE_STATE_NEGOTIATE: @@ -672,7 +671,7 @@ fatal("Invalid authenticate state for NTLMStart"); } - while (!xisspace(*sent_string)) /*trim NTLM */ + while (xisgraph(*sent_string)) /*trim NTLM */ sent_string++; while (xisspace(*sent_string)) /*trim leading spaces */ diff -ruN squid-2.5.STABLE5/src/authenticate.c squid-2.5.STABLE6/src/authenticate.c --- squid-2.5.STABLE5/src/authenticate.c Wed Feb 18 11:51:16 2004 +++ squid-2.5.STABLE6/src/authenticate.c Sat Apr 17 19:29:51 2004 @@ -1,6 +1,6 @@ /* - * $Id: authenticate.c,v 1.36.2.14 2004/02/18 18:51:16 hno Exp $ + * $Id: authenticate.c,v 1.36.2.15 2004/04/18 01:29:51 hno Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Duane Wessels @@ -94,7 +94,11 @@ /* we're configured to use this scheme - but is it active ? */ if ((i = authenticateAuthSchemeId(proxy_auth)) != -1) { authscheme_list[i].decodeauth(auth_user_request, proxy_auth); - auth_user_request->auth_user->auth_module = i + 1; + if (auth_user_request->auth_user) { + auth_user_request->auth_user->auth_module = i + 1; + } else { + debug(29, 1) ("authenticateDecodeAuth: Invalid proxy-auth header, '%s'\n", proxy_auth); + } return; } } diff -ruN squid-2.5.STABLE5/src/cache_cf.c squid-2.5.STABLE6/src/cache_cf.c --- squid-2.5.STABLE5/src/cache_cf.c Sat Dec 6 10:19:36 2003 +++ squid-2.5.STABLE6/src/cache_cf.c Thu Apr 29 17:56:50 2004 @@ -1,6 +1,6 @@ /* - * $Id: cache_cf.c,v 1.396.2.16 2003/12/06 17:19:36 hno Exp $ + * $Id: cache_cf.c,v 1.396.2.17 2004/04/29 23:56:50 hno Exp $ * * DEBUG: section 3 Configuration File Parsing * AUTHOR: Harvest Derived @@ -502,6 +502,10 @@ self_destruct(); if ((token = strtok(NULL, w_space)) == NULL) self_destruct(); + if (strcmp(token, "none") == 0 || strcmp(token, "-1") == 0) { + *bptr = (size_t) - 1; + return; + } d = atof(token); m = u; /* default to 'units' if none specified */ if (0.0 == d) diff -ruN squid-2.5.STABLE5/src/cf.data.pre squid-2.5.STABLE6/src/cf.data.pre --- squid-2.5.STABLE5/src/cf.data.pre Tue Feb 10 14:01:21 2004 +++ squid-2.5.STABLE6/src/cf.data.pre Fri Apr 30 14:40:39 2004 @@ -1,6 +1,6 @@ # -# $Id: cf.data.pre,v 1.245.2.61 2004/02/10 21:01:21 hno Exp $ +# $Id: cf.data.pre,v 1.245.2.66 2004/04/30 20:40:39 wessels Exp $ # # # SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -801,7 +801,13 @@ Q2 specifies the number of unacknowledged messages when Squid starts blocking. If this many messages are in the queues, - Squid blocks until it recevies some replies. Default is 72 + Squid blocks until it receives some replies. Default is 72 + + When Q1 < Q2 (the default), the cache directory is optimized + for lower response time at the expense of a decrease in hit + ratio. If Q1 > Q2, the cache directory is optimized for + higher hit ratio at the expense of an increase in response + time. The coss store type: @@ -862,14 +868,14 @@ DOC_END -NAME: cache_swap_log +NAME: cache_swap_log cache_swap_state TYPE: string LOC: Config.Log.swap DEFAULT: none DOC_START - Location for the cache "swap.log." This log file holds the - metadata of objects saved on disk. It is used to rebuild the - cache during startup. Normally this file resides in each + Location for the cache "swap.state" file. This log file holds + the metadata of objects saved on disk. It is used to rebuild + the cache during startup. Normally this file resides in each 'cache_dir' directory, but you may specify an alternate pathname here. Note you must give a full filename, not just a directory. Since this is the index for the whole object @@ -1342,8 +1348,8 @@ "program" cmdline Specify the command for the external authenticator. Such a program reads a line containing "username":"realm" and replies with the - appropriate H(A1) value base64 encoded. See rfc 2616 for the - definition of H(A1). + appropriate H(A1) value base64 encoded or ERR if the user (or his H(A1) + hash) does not exists. See rfc 2616 for the definition of H(A1). By default, the digest authentication scheme is not used unless a program is specified. @@ -2548,8 +2554,8 @@ DOC_START If you are running Squid as an accelerator and have a single backend server then set this to on. This causes Squid to forward the request - to this server irregardles of what any redirectors or Host headers - says. + to this server, regardles of what any redirectors or Host headers + say. Leave this at off if you have multiple backend servers, and use a redirector (or host table or private DNS) to map the requests to the diff -ruN squid-2.5.STABLE5/src/client_side.c squid-2.5.STABLE6/src/client_side.c --- squid-2.5.STABLE5/src/client_side.c Wed Feb 18 11:51:16 2004 +++ squid-2.5.STABLE6/src/client_side.c Mon May 31 16:57:09 2004 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.561.2.54 2004/02/18 18:51:16 hno Exp $ + * $Id: client_side.c,v 1.561.2.55 2004/05/31 22:57:09 hno Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -3386,6 +3386,7 @@ { int *N = &incoming_sockets_accepted; int fd = -1; + fde *F; ConnStateData *connState = NULL; struct sockaddr_in peer; struct sockaddr_in me; @@ -3403,7 +3404,8 @@ sock, xstrerror()); break; } - debug(33, 4) ("httpAccept: FD %d: accepted\n", fd); + F = &fd_table[fd]; + debug(33, 4) ("httpAccept: FD %d: accepted port %d client %s:%d\n", fd, F->local_port, F->ipaddr, F->remote_port); connState = cbdataAlloc(ConnStateData); connState->peer = peer; connState->log_addr = peer.sin_addr; @@ -3488,6 +3490,7 @@ https_port_data *https_port = data; SSL_CTX *sslContext = https_port->sslContext; int fd = -1; + fde *F; ConnStateData *connState = NULL; struct sockaddr_in peer; struct sockaddr_in me; @@ -3514,10 +3517,12 @@ break; } SSL_set_fd(ssl, fd); - fd_table[fd].ssl = ssl; - fd_table[fd].read_method = &ssl_read_method; - fd_table[fd].write_method = &ssl_write_method; - debug(50, 5) ("httpsAccept: FD %d accepted, starting SSL negotiation.\n", fd); + F = &fd_table[fd]; + F->ssl = ssl; + F->read_method = &ssl_read_method; + F->write_method = &ssl_write_method; + debug(33, 4) ("httpsAccept: FD %d: accepted port %d client %s:%d\n", fd, F->local_port, F->ipaddr, F->remote_port); + debug(50, 5) ("httpsAccept: FD %d: starting SSL negotiation.\n", fd); connState = cbdataAlloc(ConnStateData); connState->peer = peer; diff -ruN squid-2.5.STABLE5/src/dns_internal.c squid-2.5.STABLE6/src/dns_internal.c --- squid-2.5.STABLE5/src/dns_internal.c Sat Dec 6 10:19:37 2003 +++ squid-2.5.STABLE6/src/dns_internal.c Mon May 31 17:33:52 2004 @@ -1,6 +1,6 @@ /* - * $Id: dns_internal.c,v 1.45.2.2 2003/12/06 17:19:37 hno Exp $ + * $Id: dns_internal.c,v 1.45.2.3 2004/05/31 23:33:52 hno Exp $ * * DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c * AUTHOR: Duane Wessels @@ -656,14 +656,16 @@ if (0 == nns) idnsParseWIN32Registry(); #endif - if (0 == nns) - fatal("Could not find any nameservers.\n" + if (0 == nns) { + debug(78, 1) ("Warning: Could not find any nameservers. Trying to use localhost\n"); #if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_) - " Please check your TCP-IP settings or /etc/resolv.conf file\n" + debug(78, 1) ("Please check your TCP-IP settings or /etc/resolv.conf file\n"); #else - " Please check your /etc/resolv.conf file\n" + debug(78, 1) ("Please check your /etc/resolv.conf file\n"); #endif - " or use the 'dns_nameservers' option in squid.conf."); + debug(78, 1) ("or use the 'dns_nameservers' option in squid.conf."); + idnsAddNameserver("127.0.0.1"); + } if (!init) { memDataInit(MEM_IDNS_QUERY, "idns_query", sizeof(idns_query), 0); cachemgrRegister("idns", diff -ruN squid-2.5.STABLE5/src/errorpage.c squid-2.5.STABLE6/src/errorpage.c --- squid-2.5.STABLE5/src/errorpage.c Thu Nov 6 09:13:03 2003 +++ squid-2.5.STABLE6/src/errorpage.c Mon Mar 29 02:41:36 2004 @@ -1,6 +1,6 @@ /* - * $Id: errorpage.c,v 1.167.2.9 2003/11/06 16:13:03 hno Exp $ + * $Id: errorpage.c,v 1.167.2.10 2004/03/29 09:41:36 hno Exp $ * * DEBUG: section 4 Error Generation * AUTHOR: Duane Wessels @@ -606,9 +606,11 @@ httpBuildVersion(&version, 1, 0); if (strchr(name, ':')) { /* Redirection */ - char *quoted_url = rfc1738_escape_part(errorConvert('u', err)); httpReplySetHeaders(rep, version, HTTP_MOVED_TEMPORARILY, NULL, "text/html", 0, 0, squid_curtime); - httpHeaderPutStrf(&rep->header, HDR_LOCATION, name, quoted_url); + if (err->request) { + char *quoted_url = rfc1738_escape_part(urlCanonical(err->request)); + httpHeaderPutStrf(&rep->header, HDR_LOCATION, name, quoted_url); + } httpHeaderPutStrf(&rep->header, HDR_X_SQUID_ERROR, "%d %s\n", err->http_status, "Access Denied"); } else { MemBuf content = errorBuildContent(err); diff -ruN squid-2.5.STABLE5/src/fs/Makefile.in squid-2.5.STABLE6/src/fs/Makefile.in --- squid-2.5.STABLE5/src/fs/Makefile.in Tue Feb 11 19:03:24 2003 +++ squid-2.5.STABLE6/src/fs/Makefile.in Tue Jun 8 05:37:23 2004 @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.8.2.6 2003/02/12 02:03:24 hno Exp $ +# $Id: Makefile.in,v 1.8.2.8 2004/06/08 11:37:23 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/aufs/Makefile.in squid-2.5.STABLE6/src/fs/aufs/Makefile.in --- squid-2.5.STABLE5/src/fs/aufs/Makefile.in Tue Feb 11 19:03:26 2003 +++ squid-2.5.STABLE6/src/fs/aufs/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/aufs/store_io_aufs.c squid-2.5.STABLE6/src/fs/aufs/store_io_aufs.c --- squid-2.5.STABLE5/src/fs/aufs/store_io_aufs.c Mon Jul 21 16:34:53 2003 +++ squid-2.5.STABLE6/src/fs/aufs/store_io_aufs.c Sat Jun 5 13:42:14 2004 @@ -363,7 +363,7 @@ #if ASYNC_WRITE static void -storeAufsWriteDone(int fd, void *my_data, int len, int errflag) +storeAufsWriteDone(int fd, void *my_data, const char *buf, int aio_return, int aio_errno) #else static void storeAufsWriteDone(int fd, int errflag, size_t len, void *my_data) @@ -372,16 +372,17 @@ static int loop_detect = 0; storeIOState *sio = my_data; squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate; - debug(79, 3) ("storeAufsWriteDone: dirno %d, fileno %08X, FD %d, len %ld, err=%d\n", - sio->swap_dirn, sio->swap_filen, fd, (long int) len, errflag); #if ASYNC_WRITE + int errflag; + int len = aio_return; /* Translate from errno to Squid disk error */ - errno = errflag; - if (errflag) - errflag = errno == ENOSPC ? DISK_NO_SPACE_LEFT : DISK_ERROR; + if (aio_errno) + errflag = aio_errno == ENOSPC ? DISK_NO_SPACE_LEFT : DISK_ERROR; else errflag = DISK_OK; #endif + debug(79, 3) ("storeAufsWriteDone: dirno %d, fileno %08X, FD %d, len %ld, err=%d\n", + sio->swap_dirn, sio->swap_filen, fd, (long int) len, errflag); assert(++loop_detect < 10); aiostate->flags.writing = 0; if (errflag) { @@ -393,7 +394,7 @@ sio->offset += len; #if ASYNC_WRITE if (!storeAufsKickWriteQueue(sio)) - 0; + (void) 0; else if (aiostate->flags.close_request) storeAufsIOCallback(sio, errflag); #else diff -ruN squid-2.5.STABLE5/src/fs/coss/Makefile.in squid-2.5.STABLE6/src/fs/coss/Makefile.in --- squid-2.5.STABLE5/src/fs/coss/Makefile.in Tue Feb 11 19:03:27 2003 +++ squid-2.5.STABLE6/src/fs/coss/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/diskd/Makefile.in squid-2.5.STABLE6/src/fs/diskd/Makefile.in --- squid-2.5.STABLE5/src/fs/diskd/Makefile.in Tue Feb 11 19:03:32 2003 +++ squid-2.5.STABLE6/src/fs/diskd/Makefile.in Tue Jun 8 05:37:23 2004 @@ -16,7 +16,7 @@ # # Makefile for the DISKD storage driver for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6.2.5 2003/02/12 02:03:32 hno Exp $ +# $Id: Makefile.in,v 1.6.2.7 2004/06/08 11:37:23 hno Exp $ # SHELL = @SHELL@ @@ -85,6 +85,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -95,6 +96,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/null/Makefile.in squid-2.5.STABLE6/src/fs/null/Makefile.in --- squid-2.5.STABLE5/src/fs/null/Makefile.in Tue Feb 11 19:03:32 2003 +++ squid-2.5.STABLE6/src/fs/null/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/ufs/Makefile.in squid-2.5.STABLE6/src/fs/ufs/Makefile.in --- squid-2.5.STABLE5/src/fs/ufs/Makefile.in Tue Feb 11 19:03:33 2003 +++ squid-2.5.STABLE6/src/fs/ufs/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/fs/ufs/store_dir_ufs.c squid-2.5.STABLE6/src/fs/ufs/store_dir_ufs.c --- squid-2.5.STABLE5/src/fs/ufs/store_dir_ufs.c Wed Jan 8 20:38:48 2003 +++ squid-2.5.STABLE6/src/fs/ufs/store_dir_ufs.c Mon May 31 16:03:31 2004 @@ -1,6 +1,6 @@ /* - * $Id: store_dir_ufs.c,v 1.39.2.7 2003/01/09 03:38:48 hno Exp $ + * $Id: store_dir_ufs.c,v 1.39.2.8 2004/05/31 22:03:31 hno Exp $ * * DEBUG: section 47 Store Directory Routines * AUTHOR: Duane Wessels @@ -1355,8 +1355,8 @@ int storeUfsDirCheckObj(SwapDir * SD, const StoreEntry * e) { - /* Return 999 (99.9%) constant load */ - return 999; + ufsinfo_t *ufsinfo = SD->fsdata; + return 500 + ufsinfo->open_files / 2; } /* diff -ruN squid-2.5.STABLE5/src/fs/ufs/store_io_ufs.c squid-2.5.STABLE6/src/fs/ufs/store_io_ufs.c --- squid-2.5.STABLE5/src/fs/ufs/store_io_ufs.c Thu Aug 8 14:17:42 2002 +++ squid-2.5.STABLE6/src/fs/ufs/store_io_ufs.c Mon May 31 16:03:31 2004 @@ -1,6 +1,6 @@ /* - * $Id: store_io_ufs.c,v 1.9.2.1 2002/08/08 20:17:42 hno Exp $ + * $Id: store_io_ufs.c,v 1.9.2.2 2004/05/31 22:03:31 hno Exp $ * * DEBUG: section 79 Storage Manager UFS Interface * AUTHOR: Duane Wessels @@ -50,6 +50,7 @@ storeUfsOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback, STIOCB * callback, void *callback_data) { + ufsinfo_t *ufsinfo = (ufsinfo_t *) SD->fsdata; sfileno f = e->swap_filen; char *path = storeUfsDirFullPath(SD, f, NULL); storeIOState *sio; @@ -80,6 +81,7 @@ if (fstat(fd, &sb) == 0) sio->st_size = sb.st_size; store_open_disk_fd++; + ufsinfo->open_files++; /* We should update the heap/dlink position here ! */ return sio; @@ -126,6 +128,7 @@ ((ufsstate_t *) (sio->fsstate))->flags.reading = 0; ((ufsstate_t *) (sio->fsstate))->flags.close_request = 0; store_open_disk_fd++; + ufsinfo->open_files++; /* now insert into the replacement policy */ storeUfsDirReplAdd(SD, e); @@ -246,8 +249,11 @@ ufsstate_t *ufsstate = (ufsstate_t *) sio->fsstate; debug(79, 3) ("storeUfsIOCallback: errflag=%d\n", errflag); if (ufsstate->fd > -1) { + SwapDir *SD = INDEXSD(sio->swap_dirn); + ufsinfo_t *ufsinfo = (ufsinfo_t *) SD->fsdata; file_close(ufsstate->fd); store_open_disk_fd--; + ufsinfo->open_files--; } if (cbdataValid(sio->callback_data)) sio->callback(sio->callback_data, errflag, sio); diff -ruN squid-2.5.STABLE5/src/fs/ufs/store_ufs.h squid-2.5.STABLE6/src/fs/ufs/store_ufs.h --- squid-2.5.STABLE5/src/fs/ufs/store_ufs.h Thu May 11 18:29:21 2000 +++ squid-2.5.STABLE6/src/fs/ufs/store_ufs.h Mon May 31 16:03:31 2004 @@ -13,6 +13,7 @@ int l2; fileMap *map; int suggest; + int open_files; }; struct _ufsstate_t { diff -ruN squid-2.5.STABLE5/src/ftp.c squid-2.5.STABLE6/src/ftp.c --- squid-2.5.STABLE5/src/ftp.c Tue Feb 24 16:31:22 2004 +++ squid-2.5.STABLE6/src/ftp.c Mon May 31 17:14:37 2004 @@ -1,6 +1,6 @@ /* - * $Id: ftp.c,v 1.316.2.13 2004/02/24 23:31:22 hno Exp $ + * $Id: ftp.c,v 1.316.2.14 2004/05/31 23:14:37 hno Exp $ * * DEBUG: section 9 File Transfer Protocol (FTP) * AUTHOR: Harvest Derived @@ -367,10 +367,10 @@ int i, j, k; char *title; storeBuffer(e); + storeAppendPrintf(e, "\n"); storeAppendPrintf(e, "\n", version_string); storeAppendPrintf(e, "\n", mkrfc1123(squid_curtime)); - storeAppendPrintf(e, "\n"); storeAppendPrintf(e, "\n"); storeAppendPrintf(e, "FTP Directory: %s\n", html_quote(strBuf(ftpState->title_url))); diff -ruN squid-2.5.STABLE5/src/helper.c squid-2.5.STABLE6/src/helper.c --- squid-2.5.STABLE5/src/helper.c Mon Feb 9 02:03:49 2004 +++ squid-2.5.STABLE6/src/helper.c Thu Mar 11 08:26:30 2004 @@ -1,6 +1,6 @@ /* - * $Id: helper.c,v 1.34.2.15 2004/02/09 09:03:49 hno Exp $ + * $Id: helper.c,v 1.34.2.16 2004/03/11 15:26:30 hno Exp $ * * DEBUG: section 84 Helper process maintenance * AUTHOR: Harvest Derived? @@ -743,19 +743,19 @@ hlp->stats.queue_size++; if (hlp->stats.queue_size < hlp->n_running) return; - if (hlp->stats.queue_size < hlp->n_running) - return; + if (hlp->stats.queue_size > hlp->stats.max_queue_size) + hlp->stats.max_queue_size = hlp->stats.queue_size; if (squid_curtime - hlp->last_queue_warn < 30) return; if (shutting_down || reconfiguring) return; - hlp->last_queue_warn = squid_curtime; debug(84, 1) ("WARNING: All %s processes are busy.\n", hlp->id_name); debug(84, 1) ("WARNING: up to %d pending requests queued\n", hlp->stats.max_queue_size); if (hlp->stats.queue_size > hlp->n_running * 2) fatalf("Too many queued %s requests (%d on %d)", hlp->id_name, hlp->stats.queue_size, hlp->n_running); - if (hlp->stats.max_queue_size > 1) + if (squid_curtime - hlp->last_queue_warn < 300) debug(84, 1) ("Consider increasing the number of %s processes to at least %d in your config file.\n", hlp->id_name, hlp->n_running + hlp->stats.max_queue_size); + hlp->last_queue_warn = squid_curtime; hlp->stats.max_queue_size = hlp->stats.queue_size; } @@ -775,11 +775,11 @@ return; if (shutting_down || reconfiguring) return; - hlp->last_queue_warn = squid_curtime; debug(84, 1) ("WARNING: All %s processes are busy.\n", hlp->id_name); debug(84, 1) ("WARNING: up to %d pending requests queued\n", hlp->stats.max_queue_size); - if (hlp->stats.max_queue_size > 1) + if (squid_curtime - hlp->last_queue_warn < 300) debug(84, 1) ("Consider increasing the number of %s processes to at least %d in your config file.\n", hlp->id_name, hlp->n_running + hlp->stats.max_queue_size); + hlp->last_queue_warn = squid_curtime; hlp->stats.max_queue_size = hlp->stats.queue_size; } diff -ruN squid-2.5.STABLE5/src/http.c squid-2.5.STABLE6/src/http.c --- squid-2.5.STABLE5/src/http.c Fri Jan 30 16:09:12 2004 +++ squid-2.5.STABLE6/src/http.c Tue Jun 8 04:54:07 2004 @@ -1,6 +1,6 @@ /* - * $Id: http.c,v 1.384.2.12 2004/01/30 23:09:12 hno Exp $ + * $Id: http.c,v 1.384.2.16 2004/06/08 10:54:07 hno Exp $ * * DEBUG: section 11 Hypertext Transfer Protocol (HTTP) * AUTHOR: Harvest Derived @@ -65,7 +65,9 @@ if (httpState == NULL) return; if (httpState->body_buf) { - clientAbortBody(httpState->orig_request); + if (httpState->orig_request->body_connection) { + clientAbortBody(httpState->orig_request); + } if (httpState->body_buf) { memFree(httpState->body_buf, MEM_8K_BUF); httpState->body_buf = NULL; @@ -348,6 +350,13 @@ char *name = xmalloc(ilen + 1); xstrncpy(name, item, ilen + 1); Tolower(name); + if (strcmp(name, "*") == 0) { + /* Can not handle "Vary: *" withtout ETag support */ + safe_free(name); + stringClean(&vary); + stringClean(&vstr); + break; + } strListAdd(&vstr, name, ','); hdr = httpHeaderGetByName(&request->header, name); safe_free(name); @@ -435,35 +444,36 @@ debug(11, 3) ("httpProcessReplyHeader: HTTP CODE: %d\n", reply->sline.status); if (neighbors_do_private_keys) httpMaybeRemovePublic(entry, reply->sline.status); - switch (httpCachableReply(httpState)) { - case 1: - if (httpHeaderHas(&reply->header, HDR_VARY) + if (httpHeaderHas(&reply->header, HDR_VARY) #if X_ACCELERATOR_VARY - || httpHeaderHas(&reply->header, HDR_X_ACCELERATOR_VARY) + || httpHeaderHas(&reply->header, HDR_X_ACCELERATOR_VARY) #endif - ) { - const char *vary = httpMakeVaryMark(httpState->orig_request, reply); - if (vary) { - entry->mem_obj->vary_headers = xstrdup(vary); - /* Kill the old base object if a change in variance is detected */ - httpMakePublic(entry); - } else { - httpMakePrivate(entry); - } - } else { - httpMakePublic(entry); + ) { + const char *vary = httpMakeVaryMark(httpState->orig_request, reply); + if (!vary) { + httpMakePrivate(entry); + goto no_cache; } + entry->mem_obj->vary_headers = xstrdup(vary); + } + switch (httpCachableReply(httpState)) { + case 1: + httpMakePublic(entry); break; case 0: httpMakePrivate(entry); break; case -1: - httpCacheNegatively(entry); + if (Config.negativeTtl > 0) + httpCacheNegatively(entry); + else + httpMakePrivate(entry); break; default: assert(0); break; } + no_cache: if (reply->cache_control) { if (EBIT_TEST(reply->cache_control->mask, CC_PROXY_REVALIDATE)) EBIT_SET(entry->flags, ENTRY_REVALIDATE); @@ -708,10 +718,12 @@ if (errflag == COMM_ERR_CLOSING) return; if (errflag) { - err = errorCon(ERR_WRITE_ERROR, HTTP_INTERNAL_SERVER_ERROR); - err->xerrno = errno; - err->request = requestLink(httpState->orig_request); - errorAppendEntry(entry, err); + if (entry->mem_obj->inmem_hi == 0) { + err = errorCon(ERR_WRITE_ERROR, HTTP_INTERNAL_SERVER_ERROR); + err->xerrno = errno; + err->request = requestLink(httpState->orig_request); + errorAppendEntry(entry, err); + } comm_close(fd); return; } else { @@ -1103,6 +1115,15 @@ } static void +httpRequestBodyHandler2(void *data) +{ + HttpStateData *httpState = (HttpStateData *) data; + char *buf = httpState->body_buf; + httpState->body_buf = NULL; + comm_write(httpState->fd, buf, httpState->body_buf_sz, httpSendRequestEntry, data, memFree8K); +} + +static void httpRequestBodyHandler(char *buf, ssize_t size, void *data) { HttpStateData *httpState = (HttpStateData *) data; @@ -1118,6 +1139,12 @@ comm_close(httpState->fd); return; } + httpState->body_buf = buf; + httpState->body_buf_sz = size; + /* Give response some time to propagate before sending rest + * of request in case of error */ + eventAdd("POST delay on response", httpRequestBodyHandler2, httpState, 2.0, 1); + return; } comm_write(httpState->fd, buf, size, httpSendRequestEntry, data, memFree8K); } else if (size == 0) { @@ -1147,10 +1174,12 @@ if (errflag == COMM_ERR_CLOSING) return; if (errflag) { - err = errorCon(ERR_WRITE_ERROR, HTTP_INTERNAL_SERVER_ERROR); - err->xerrno = errno; - err->request = requestLink(httpState->orig_request); - errorAppendEntry(entry, err); + if (entry->mem_obj->inmem_hi == 0) { + err = errorCon(ERR_WRITE_ERROR, HTTP_INTERNAL_SERVER_ERROR); + err->xerrno = errno; + err->request = requestLink(httpState->orig_request); + errorAppendEntry(entry, err); + } comm_close(fd); return; } diff -ruN squid-2.5.STABLE5/src/mib.txt squid-2.5.STABLE6/src/mib.txt --- squid-2.5.STABLE5/src/mib.txt Fri May 2 03:48:42 2003 +++ squid-2.5.STABLE6/src/mib.txt Mon May 31 16:39:00 2004 @@ -2,7 +2,7 @@ SQUID-MIB DEFINITIONS ::= BEGIN -- --- $Id: mib.txt,v 1.25.4.2 2003/05/02 09:48:42 hno Exp $ +-- $Id: mib.txt,v 1.25.4.3 2004/05/31 22:39:00 hno Exp $ -- IMPORTS @@ -228,7 +228,7 @@ ::= { cacheSysPerf 8 } cacheCurrentUnlinkRequests OBJECT-TYPE - SYNTAX Gauge32 + SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION diff -ruN squid-2.5.STABLE5/src/repl/Makefile.in squid-2.5.STABLE6/src/repl/Makefile.in --- squid-2.5.STABLE5/src/repl/Makefile.in Tue Feb 11 19:03:38 2003 +++ squid-2.5.STABLE6/src/repl/Makefile.in Tue Jun 8 05:37:23 2004 @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.7.2.6 2003/02/12 02:03:38 hno Exp $ +# $Id: Makefile.in,v 1.7.2.8 2004/06/08 11:37:23 hno Exp $ # SHELL = @SHELL@ @@ -84,6 +84,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -94,6 +95,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/repl/heap/Makefile.in squid-2.5.STABLE6/src/repl/heap/Makefile.in --- squid-2.5.STABLE5/src/repl/heap/Makefile.in Tue Feb 11 19:03:39 2003 +++ squid-2.5.STABLE6/src/repl/heap/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/repl/lru/Makefile.in squid-2.5.STABLE6/src/repl/lru/Makefile.in --- squid-2.5.STABLE5/src/repl/lru/Makefile.in Tue Feb 11 19:03:42 2003 +++ squid-2.5.STABLE6/src/repl/lru/Makefile.in Tue Jun 8 05:37:23 2004 @@ -79,6 +79,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBDLMALLOC = @LIBDLMALLOC@ LIBREGEX = @LIBREGEX@ +LIBSASL = @LIBSASL@ LIB_MALLOC = @LIB_MALLOC@ LN = @LN@ LN_S = @LN_S@ @@ -89,6 +90,7 @@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PERL = @PERL@ +PKGCONFIG = @PKGCONFIG@ RANLIB = @RANLIB@ REGEXLIB = @REGEXLIB@ REPL_LIBS = @REPL_LIBS@ diff -ruN squid-2.5.STABLE5/src/snmp_agent.c squid-2.5.STABLE6/src/snmp_agent.c --- squid-2.5.STABLE5/src/snmp_agent.c Tue Jun 24 15:08:42 2003 +++ squid-2.5.STABLE6/src/snmp_agent.c Mon May 31 16:39:00 2004 @@ -1,6 +1,6 @@ /* - * $Id: snmp_agent.c,v 1.83.2.2 2003/06/24 21:08:42 wessels Exp $ + * $Id: snmp_agent.c,v 1.83.2.3 2004/05/31 22:39:00 hno Exp $ * * DEBUG: section 49 SNMP Interface * AUTHOR: Kostas Anagnostakis @@ -285,7 +285,7 @@ case PERF_SYS_CURUNLREQ: Answer = snmp_var_new_integer(Var->name, Var->name_length, (snint) statCounter.unlink.requests, - SMI_GAUGE32); + SMI_COUNTER32); break; case PERF_SYS_CURUNUSED_FD: Answer = snmp_var_new_integer(Var->name, Var->name_length, diff -ruN squid-2.5.STABLE5/src/ssl.c squid-2.5.STABLE6/src/ssl.c --- squid-2.5.STABLE5/src/ssl.c Wed Aug 6 07:49:02 2003 +++ squid-2.5.STABLE6/src/ssl.c Mon Jun 7 15:20:34 2004 @@ -1,6 +1,6 @@ /* - * $Id: ssl.c,v 1.118.2.4 2003/08/06 13:49:02 hno Exp $ + * $Id: ssl.c,v 1.118.2.6 2004/06/07 21:20:34 hno Exp $ * * DEBUG: section 26 Secure Sockets Layer Proxy * AUTHOR: Duane Wessels @@ -218,7 +218,7 @@ if (!ignoreErrno(errno)) comm_close(fd); } else if (len == 0) { - comm_close(sslState->server.fd); + comm_close(fd); } if (cbdataValid(sslState)) sslSetSelect(sslState); @@ -326,7 +326,10 @@ sslState->server.len -= len; /* increment total object size */ if (sslState->size_ptr) - *sslState->size_ptr += len; +#if SIZEOF_SIZE_T == 4 + if (*sslState->size_ptr < 0x7FFF0000) +#endif + *sslState->size_ptr += len; if (sslState->server.len > 0) { /* we didn't write the whole thing */ xmemmove(sslState->server.buf, @@ -376,10 +379,13 @@ { SslStateData *sslState = data; assert(sslState != NULL); + /* temporary lock to save our own feets (comm_close -> sslClientClosed -> Free) */ + cbdataLock(sslState); if (sslState->client.fd > -1) comm_close(sslState->client.fd); if (sslState->server.fd > -1) comm_close(sslState->server.fd); + cbdataUnlock(sslState); } @@ -432,6 +438,33 @@ } } +static void +sslConnectTimeout(int fd, void *data) +{ + SslStateData *sslState = data; + request_t *request = sslState->request; + ErrorState *err = NULL; + if (sslState->servers->peer) + hierarchyNote(&sslState->request->hier, sslState->servers->code, + sslState->servers->peer->host); + else if (Config.onoff.log_ip_on_direct) + hierarchyNote(&sslState->request->hier, sslState->servers->code, + fd_table[sslState->server.fd].ipaddr); + else + hierarchyNote(&sslState->request->hier, sslState->servers->code, + sslState->host); + comm_close(fd); + err = errorCon(ERR_CONNECT_FAIL, HTTP_SERVICE_UNAVAILABLE); + *sslState->status_ptr = HTTP_SERVICE_UNAVAILABLE; + err->xerrno = ETIMEDOUT; + err->host = xstrdup(sslState->host); + err->port = sslState->port; + err->request = requestLink(request); + err->callback = sslErrorComplete; + err->callback_data = sslState; + errorSend(sslState->client.fd, err); +} + CBDATA_TYPE(SslStateData); void sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr) @@ -526,7 +559,7 @@ sslState); commSetTimeout(sslState->server.fd, Config.Timeout.connect, - sslTimeout, + sslConnectTimeout, sslState); peerSelect(request, NULL, diff -ruN squid-2.5.STABLE5/src/store.c squid-2.5.STABLE6/src/store.c --- squid-2.5.STABLE5/src/store.c Wed Sep 24 16:30:22 2003 +++ squid-2.5.STABLE6/src/store.c Mon May 31 15:28:30 2004 @@ -1,6 +1,6 @@ /* - * $Id: store.c,v 1.544.2.5 2003/09/24 22:30:22 wessels Exp $ + * $Id: store.c,v 1.544.2.6 2004/05/31 21:28:30 hno Exp $ * * DEBUG: section 20 Storage Manager * AUTHOR: Harvest Derived @@ -985,16 +985,16 @@ long int i; /* Calculate size of hash table (maximum currently 64k buckets). */ i = Config.Swap.maxSize / Config.Store.avgObjectSize; - debug(20, 1) ("Swap maxSize %ld KB, estimated %ld objects\n", - (long int) Config.Swap.maxSize, i); + debug(20, 1) ("Swap maxSize %lu KB, estimated %ld objects\n", + (unsigned long int) Config.Swap.maxSize, i); i /= Config.Store.objectsPerBucket; debug(20, 1) ("Target number of buckets: %ld\n", i); /* ideally the full scan period should be configurable, for the * moment it remains at approximately 24 hours. */ store_hash_buckets = storeKeyHashBuckets(i); debug(20, 1) ("Using %d Store buckets\n", store_hash_buckets); - debug(20, 1) ("Max Mem size: %ld KB\n", (long int) Config.memMaxSize >> 10); - debug(20, 1) ("Max Swap size: %ld KB\n", (long int) Config.Swap.maxSize); + debug(20, 1) ("Max Mem size: %lu KB\n", (unsigned long int) (Config.memMaxSize >> 10)); + debug(20, 1) ("Max Swap size: %lu KB\n", (unsigned long int) Config.Swap.maxSize); } void diff -ruN squid-2.5.STABLE5/src/structs.h squid-2.5.STABLE6/src/structs.h --- squid-2.5.STABLE5/src/structs.h Wed Feb 4 10:42:28 2004 +++ squid-2.5.STABLE6/src/structs.h Sun Apr 18 17:43:30 2004 @@ -1,6 +1,6 @@ /* - * $Id: structs.h,v 1.408.2.23 2004/02/04 17:42:28 hno Exp $ + * $Id: structs.h,v 1.408.2.24 2004/04/18 23:43:30 hno Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -986,6 +986,7 @@ http_state_flags flags; FwdState *fwd; char *body_buf; + int body_buf_sz; }; struct _icpUdpData {