From: robertc <> Date: Wed, 28 Nov 2001 15:01:41 +0000 (+0000) Subject: Latest bugfixes from the NTLM development branch. X-Git-Tag: SQUID_3_0_PRE1~1274 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c641669a1f54db30f5bd364b089d56a319a0d0f;p=thirdparty%2Fsquid.git Latest bugfixes from the NTLM development branch. These include * A memory leak in the auth infrastructure. * Debugging and reliability fixes to the NTLMSSP helper. * The brand spanking new winbindd helper developed by Kinkie with input from the SAMBA team. This helper should eliminate the occasional errors currently plaguing NTLM with the NTLMSSP helper. It's included for completeness, as it has no squid-internal changes, but the actual helper needs some serious user bashing to be called stable. --- diff --git a/Makefile.in b/Makefile.in index 2f39d23a93..907edfc8bc 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.3 2001/10/03 14:56:50 hno Exp $ +# $Id: Makefile.in,v 1.4 2001/11/28 08:01:41 robertc Exp $ # SHELL = @SHELL@ @@ -76,7 +76,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/configure b/configure index 19610bd76e..390d10c945 100755 --- a/configure +++ b/configure @@ -967,7 +967,7 @@ fi # Define the identity of the package. PACKAGE=Squid -VERSION=2.5-DEVEL +VERSION=2.5-ntlm cat >> confdefs.h <&6 -echo "configure:3737: checking for $ac_hdr" >&5 +echo "configure:3742: 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:3747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3752: \"$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* @@ -3771,12 +3776,12 @@ done echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3775: checking for working const" >&5 +echo "configure:3780: 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:3834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3846,14 +3851,14 @@ EOF fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3850: checking whether byte ordering is bigendian" >&5 +echo "configure:3855: 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 @@ -3864,11 +3869,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:3868: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3873: \"$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 @@ -3879,7 +3884,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:3883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3899,7 +3904,7 @@ 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3921: \"$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 @@ -3937,20 +3942,20 @@ fi echo $ac_n "checking if ANSI prototypes work""... $ac_c" 1>&6 -echo "configure:3941: checking if ANSI prototypes work" >&5 +echo "configure:3946: 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:3959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ansi_prototypes="yes" else @@ -3972,13 +3977,13 @@ EOF fi echo $ac_n "checking for tm->tm_gmtoff""... $ac_c" 1>&6 -echo "configure:3976: checking for tm->tm_gmtoff" >&5 +echo "configure:3981: 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 @@ -3987,7 +3992,7 @@ struct tm foo; foo.tm_gmtoff = 0; ; return 0; } EOF -if { (eval echo configure:3991: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_tm_gmoff="yes" else @@ -4009,13 +4014,13 @@ EOF fi echo $ac_n "checking for struct mallinfo""... $ac_c" 1>&6 -echo "configure:4013: checking for struct mallinfo" >&5 +echo "configure:4018: 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 @@ -4033,7 +4038,7 @@ struct mallinfo foo; foo.keepcost = 0; ; return 0; } EOF -if { (eval echo configure:4037: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_mallinfo="yes" else @@ -4055,13 +4060,13 @@ EOF fi echo $ac_n "checking for extended mallinfo""... $ac_c" 1>&6 -echo "configure:4059: checking for extended mallinfo" >&5 +echo "configure:4064: 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 @@ -4070,7 +4075,7 @@ struct mallinfo foo; foo.mxfast = 0; ; return 0; } EOF -if { (eval echo configure:4074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ext_mallinfo="yes" else @@ -4092,13 +4097,13 @@ EOF fi echo $ac_n "checking for struct rusage""... $ac_c" 1>&6 -echo "configure:4096: checking for struct rusage" >&5 +echo "configure:4101: 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:4120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_struct_rusage="yes" else @@ -4133,13 +4138,13 @@ EOF fi echo $ac_n "checking for ip->ip_hl""... $ac_c" 1>&6 -echo "configure:4137: checking for ip->ip_hl" >&5 +echo "configure:4142: 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 @@ -4158,7 +4163,7 @@ struct iphdr ip; ip.ip_hl= 0; ; return 0; } EOF -if { (eval echo configure:4162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_ip_hl="yes" else @@ -4180,7 +4185,7 @@ EOF fi echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4184: checking size of void *" >&5 +echo "configure:4189: 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 @@ -4188,7 +4193,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4200,7 +4205,7 @@ main() exit(0); } EOF -if { (eval echo configure:4204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4209: \"$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 @@ -4220,7 +4225,7 @@ EOF echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4224: checking size of short" >&5 +echo "configure:4229: 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 @@ -4228,7 +4233,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4240,7 +4245,7 @@ main() exit(0); } EOF -if { (eval echo configure:4244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4249: \"$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 @@ -4260,7 +4265,7 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4264: checking size of int" >&5 +echo "configure:4269: 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 @@ -4268,7 +4273,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4280,7 +4285,7 @@ main() exit(0); } EOF -if { (eval echo configure:4284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4289: \"$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 @@ -4300,7 +4305,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4304: checking size of long" >&5 +echo "configure:4309: 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 @@ -4308,7 +4313,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4320,7 +4325,7 @@ main() exit(0); } EOF -if { (eval echo configure:4324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4329: \"$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 @@ -4340,7 +4345,7 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4344: checking size of long long" >&5 +echo "configure:4349: 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 @@ -4348,7 +4353,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4360,7 +4365,7 @@ main() exit(0); } EOF -if { (eval echo configure:4364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4369: \"$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 @@ -4380,7 +4385,7 @@ EOF echo $ac_n "checking size of __int64""... $ac_c" 1>&6 -echo "configure:4384: checking size of __int64" >&5 +echo "configure:4389: 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 @@ -4388,7 +4393,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4400,7 +4405,7 @@ main() exit(0); } EOF -if { (eval echo configure:4404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4409: \"$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 @@ -4420,7 +4425,7 @@ EOF echo $ac_n "checking size of int16_t""... $ac_c" 1>&6 -echo "configure:4424: checking size of int16_t" >&5 +echo "configure:4429: 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 @@ -4428,7 +4433,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4440,7 +4445,7 @@ main() exit(0); } EOF -if { (eval echo configure:4444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4449: \"$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 @@ -4460,7 +4465,7 @@ EOF echo $ac_n "checking size of uint16_t""... $ac_c" 1>&6 -echo "configure:4464: checking size of uint16_t" >&5 +echo "configure:4469: 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 @@ -4468,7 +4473,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4480,7 +4485,7 @@ main() exit(0); } EOF -if { (eval echo configure:4484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4489: \"$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 @@ -4500,7 +4505,7 @@ EOF echo $ac_n "checking size of u_int16_t""... $ac_c" 1>&6 -echo "configure:4504: checking size of u_int16_t" >&5 +echo "configure:4509: 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 @@ -4508,7 +4513,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4520,7 +4525,7 @@ main() exit(0); } EOF -if { (eval echo configure:4524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4529: \"$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 @@ -4540,7 +4545,7 @@ EOF echo $ac_n "checking size of int32_t""... $ac_c" 1>&6 -echo "configure:4544: checking size of int32_t" >&5 +echo "configure:4549: 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 @@ -4548,7 +4553,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4560,7 +4565,7 @@ main() exit(0); } EOF -if { (eval echo configure:4564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4569: \"$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 @@ -4580,7 +4585,7 @@ EOF echo $ac_n "checking size of uint32_t""... $ac_c" 1>&6 -echo "configure:4584: checking size of uint32_t" >&5 +echo "configure:4589: 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 @@ -4588,7 +4593,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4600,7 +4605,7 @@ main() exit(0); } EOF -if { (eval echo configure:4604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4609: \"$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 @@ -4620,7 +4625,7 @@ EOF echo $ac_n "checking size of u_int32_t""... $ac_c" 1>&6 -echo "configure:4624: checking size of u_int32_t" >&5 +echo "configure:4629: 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 @@ -4628,7 +4633,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4640,7 +4645,7 @@ main() exit(0); } EOF -if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4649: \"$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 @@ -4660,7 +4665,7 @@ EOF echo $ac_n "checking size of int64_t""... $ac_c" 1>&6 -echo "configure:4664: checking size of int64_t" >&5 +echo "configure:4669: 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 @@ -4668,7 +4673,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4680,7 +4685,7 @@ main() exit(0); } EOF -if { (eval echo configure:4684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4689: \"$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 @@ -4700,7 +4705,7 @@ EOF echo $ac_n "checking size of uint64_t""... $ac_c" 1>&6 -echo "configure:4704: checking size of uint64_t" >&5 +echo "configure:4709: 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 @@ -4708,7 +4713,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4720,7 +4725,7 @@ main() exit(0); } EOF -if { (eval echo configure:4724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4729: \"$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 @@ -4740,7 +4745,7 @@ EOF echo $ac_n "checking size of u_int64_t""... $ac_c" 1>&6 -echo "configure:4744: checking size of u_int64_t" >&5 +echo "configure:4749: 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 @@ -4748,7 +4753,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -4760,7 +4765,7 @@ main() exit(0); } EOF -if { (eval echo configure:4764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4769: \"$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 @@ -4782,12 +4787,12 @@ EOF if test "x$ac_cv_sizeof_short" = "x2"; then echo $ac_n "checking for int16_t""... $ac_c" 1>&6 -echo "configure:4786: checking for int16_t" >&5 +echo "configure:4791: 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 < #if STDC_HEADERS @@ -4816,12 +4821,12 @@ fi elif test "x$ac_cv_sizeof_int" = "x2"; then echo $ac_n "checking for int16_t""... $ac_c" 1>&6 -echo "configure:4820: checking for int16_t" >&5 +echo "configure:4825: 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 < #if STDC_HEADERS @@ -4851,12 +4856,12 @@ fi fi if test "x$ac_cv_sizeof_uint16_t" = "x2"; then echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6 -echo "configure:4855: checking for u_int16_t" >&5 +echo "configure:4860: 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 < #if STDC_HEADERS @@ -4885,12 +4890,12 @@ fi elif test "x$ac_cv_sizeof_short" = "x2"; then echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6 -echo "configure:4889: checking for u_int16_t" >&5 +echo "configure:4894: 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 < #if STDC_HEADERS @@ -4919,12 +4924,12 @@ fi elif test "x$ac_cv_sizeof_int" = "x2"; then echo $ac_n "checking for u_int16_t""... $ac_c" 1>&6 -echo "configure:4923: checking for u_int16_t" >&5 +echo "configure:4928: 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 < #if STDC_HEADERS @@ -4954,12 +4959,12 @@ fi fi if test "x$ac_cv_sizeof_int" = "x4"; then echo $ac_n "checking for int32_t""... $ac_c" 1>&6 -echo "configure:4958: checking for int32_t" >&5 +echo "configure:4963: 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 < #if STDC_HEADERS @@ -4988,12 +4993,12 @@ fi elif "x$ac_cv_sizeof_long" = "x4"; then echo $ac_n "checking for int32_t""... $ac_c" 1>&6 -echo "configure:4992: checking for int32_t" >&5 +echo "configure:4997: 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 < #if STDC_HEADERS @@ -5023,12 +5028,12 @@ fi fi if test "x$ac_cv_sizeof_uint32_t" = "x4"; then echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6 -echo "configure:5027: checking for u_int32_t" >&5 +echo "configure:5032: 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 < #if STDC_HEADERS @@ -5057,12 +5062,12 @@ fi elif test "x$ac_cv_sizeof_int" = "x4"; then echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6 -echo "configure:5061: checking for u_int32_t" >&5 +echo "configure:5066: 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 < #if STDC_HEADERS @@ -5091,12 +5096,12 @@ fi elif test "x$ac_cv_sizeof_long" = "x4"; then echo $ac_n "checking for u_int32_t""... $ac_c" 1>&6 -echo "configure:5095: checking for u_int32_t" >&5 +echo "configure:5100: 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 < #if STDC_HEADERS @@ -5126,12 +5131,12 @@ fi fi if test "x$ac_cv_sizeof_long" = "x8"; then echo $ac_n "checking for int64_t""... $ac_c" 1>&6 -echo "configure:5130: checking for int64_t" >&5 +echo "configure:5135: 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 < #if STDC_HEADERS @@ -5160,12 +5165,12 @@ fi elif test "x$ac_cv_sizeof_long_long" = "x8"; then echo $ac_n "checking for int64_t""... $ac_c" 1>&6 -echo "configure:5164: checking for int64_t" >&5 +echo "configure:5169: 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 < #if STDC_HEADERS @@ -5194,12 +5199,12 @@ fi elif test "x$ac_cv_sizeof___int64" = "x8"; then echo $ac_n "checking for int64_t""... $ac_c" 1>&6 -echo "configure:5198: checking for int64_t" >&5 +echo "configure:5203: 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 < #if STDC_HEADERS @@ -5229,12 +5234,12 @@ fi fi if test "x$ac_cv_sizeof_uint64_t" = "x8"; then echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6 -echo "configure:5233: checking for u_int64_t" >&5 +echo "configure:5238: 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 < #if STDC_HEADERS @@ -5263,12 +5268,12 @@ fi elif test "x$ac_cv_sizeof_long" = "x8"; then echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6 -echo "configure:5267: checking for u_int64_t" >&5 +echo "configure:5272: 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 < #if STDC_HEADERS @@ -5297,12 +5302,12 @@ fi elif test "x$ac_cv_sizeof_long_long" = "x8"; then echo $ac_n "checking for u_int64_t""... $ac_c" 1>&6 -echo "configure:5301: checking for u_int64_t" >&5 +echo "configure:5306: 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 < #if STDC_HEADERS @@ -5331,12 +5336,12 @@ fi elif test "x$ac_cv_sizeof___int64" = "x8"; then echo $ac_n "checking for int64_t""... $ac_c" 1>&6 -echo "configure:5335: checking for int64_t" >&5 +echo "configure:5340: 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 < #if STDC_HEADERS @@ -5366,12 +5371,12 @@ fi fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:5370: checking for pid_t" >&5 +echo "configure:5375: 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 @@ -5399,12 +5404,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5403: checking for size_t" >&5 +echo "configure:5408: 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 @@ -5432,12 +5437,12 @@ EOF fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:5436: checking for ssize_t" >&5 +echo "configure:5441: 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 @@ -5465,12 +5470,12 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:5469: checking for off_t" >&5 +echo "configure:5474: 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 @@ -5498,12 +5503,12 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:5502: checking for mode_t" >&5 +echo "configure:5507: 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 @@ -5531,12 +5536,12 @@ EOF fi echo $ac_n "checking for fd_mask""... $ac_c" 1>&6 -echo "configure:5535: checking for fd_mask" >&5 +echo "configure:5540: 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 @@ -5567,19 +5572,19 @@ fi # 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:5571: checking for working alloca.h" >&5 +echo "configure:5576: 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:5583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5588: \"$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 @@ -5600,12 +5605,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:5604: checking for alloca" >&5 +echo "configure:5609: 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:5642: \"$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 @@ -5665,12 +5670,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:5669: checking whether alloca needs Cray hooks" >&5 +echo "configure:5674: 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 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5699: checking for $ac_func" >&5 +echo "configure:5704: 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:5732: \"$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 @@ -5750,7 +5755,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:5754: checking stack direction for C alloca" >&5 +echo "configure:5759: 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 @@ -5758,7 +5763,7 @@ else 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:5786: \"$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 @@ -5801,13 +5806,13 @@ fi echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:5805: checking for socklen_t" >&5 +echo "configure:5810: 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 @@ -5838,13 +5843,13 @@ EOF fi echo $ac_n "checking for mtyp_t""... $ac_c" 1>&6 -echo "configure:5842: checking for mtyp_t" >&5 +echo "configure:5847: 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 @@ -5872,7 +5877,7 @@ EOF fi echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:5876: checking for main in -lnsl" >&5 +echo "configure:5881: 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 @@ -5880,14 +5885,14 @@ else 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:5896: \"$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 @@ -5915,7 +5920,7 @@ else fi echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6 -echo "configure:5919: checking for main in -lsocket" >&5 +echo "configure:5924: 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 @@ -5923,14 +5928,14 @@ else 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:5939: \"$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 @@ -5958,11 +5963,53 @@ else fi +echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6 +echo "configure:5968: 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 < +#include +#include +#include +#include +int main() { + + struct sockaddr_un sunaddr; + sunaddr.sun_family = AF_UNIX; + +; return 0; } +EOF +if { (eval echo configure:5989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + squid_cv_unixsocket=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + squid_cv_unixsocket=no +fi +rm -f conftest* +fi + +echo "$ac_t""$squid_cv_unixsocket" 1>&6 +if test x"$squid_cv_unixsocket" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_UNIXSOCKET 1 +EOF + +fi + if test "x$ac_cv_enabled_dlmalloc" = "xyes" ; then echo "skipping libmalloc check (--enable-dlmalloc specified)" else echo $ac_n "checking for main in -lgnumalloc""... $ac_c" 1>&6 -echo "configure:5966: checking for main in -lgnumalloc" >&5 +echo "configure:6013: 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 @@ -5970,14 +6017,14 @@ else 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:6028: \"$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 @@ -6020,7 +6067,7 @@ fi *) echo $ac_n "checking for main in -lmalloc""... $ac_c" 1>&6 -echo "configure:6024: checking for main in -lmalloc" >&5 +echo "configure:6071: 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 @@ -6028,14 +6075,14 @@ else 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:6086: \"$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 @@ -6068,7 +6115,7 @@ fi fi echo $ac_n "checking for main in -lbsd""... $ac_c" 1>&6 -echo "configure:6072: checking for main in -lbsd" >&5 +echo "configure:6119: 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 @@ -6076,14 +6123,14 @@ else 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:6134: \"$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 @@ -6111,7 +6158,7 @@ else fi echo $ac_n "checking for main in -lregex""... $ac_c" 1>&6 -echo "configure:6115: checking for main in -lregex" >&5 +echo "configure:6162: 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 @@ -6119,14 +6166,14 @@ else 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:6177: \"$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 @@ -6147,7 +6194,7 @@ else fi echo $ac_n "checking for gethostbyname in -lbind""... $ac_c" 1>&6 -echo "configure:6151: checking for gethostbyname in -lbind" >&5 +echo "configure:6198: 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 @@ -6155,7 +6202,7 @@ else 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:6217: \"$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 @@ -6200,7 +6247,7 @@ if test $ac_cv_lib_bind_gethostbyname = "no" ; then ;; *) echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:6204: checking for inet_aton in -lresolv" >&5 +echo "configure:6251: 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 @@ -6208,7 +6255,7 @@ else 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:6270: \"$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 @@ -6235,7 +6282,7 @@ fi 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:6239: checking for inet_aton in -l44bsd" >&5 +echo "configure:6286: 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 @@ -6243,7 +6290,7 @@ else 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:6305: \"$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 @@ -6286,7 +6333,7 @@ else fi echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6 -echo "configure:6290: checking for main in -lresolv" >&5 +echo "configure:6337: 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 @@ -6294,14 +6341,14 @@ else 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:6352: \"$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 @@ -6332,7 +6379,7 @@ fi esac fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:6336: checking for main in -lm" >&5 +echo "configure:6383: 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 @@ -6340,14 +6387,14 @@ else 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:6398: \"$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 @@ -6376,7 +6423,7 @@ fi echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:6380: checking for crypt in -lcrypt" >&5 +echo "configure:6427: 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 @@ -6384,7 +6431,7 @@ else 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:6446: \"$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 @@ -6418,7 +6465,7 @@ fi echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:6422: checking for dlopen in -ldl" >&5 +echo "configure:6469: 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 @@ -6426,7 +6473,7 @@ else 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:6488: \"$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 @@ -6460,7 +6507,7 @@ fi echo $ac_n "checking for main in -lpthread""... $ac_c" 1>&6 -echo "configure:6464: checking for main in -lpthread" >&5 +echo "configure:6511: 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 @@ -6468,14 +6515,14 @@ else 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:6526: \"$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 @@ -6498,7 +6545,7 @@ fi echo $ac_n "checking for aio_read in -lrt""... $ac_c" 1>&6 -echo "configure:6502: checking for aio_read in -lrt" >&5 +echo "configure:6549: 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 @@ -6506,7 +6553,7 @@ else 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:6568: \"$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 @@ -6542,7 +6589,7 @@ fi case "$host" in *-pc-sco3.2*) echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:6546: checking for strftime in -lintl" >&5 +echo "configure:6593: 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 @@ -6550,7 +6597,7 @@ else 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:6612: \"$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 @@ -6746,12 +6793,12 @@ for ac_func in \ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6750: checking for $ac_func" >&5 +echo "configure:6797: 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:6825: \"$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 @@ -6800,7 +6847,7 @@ done echo $ac_n "checking if setresuid is implemented""... $ac_c" 1>&6 -echo "configure:6804: checking if setresuid is implemented" >&5 +echo "configure:6851: 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 @@ -6808,7 +6855,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < @@ -6821,7 +6868,7 @@ else } EOF -if { (eval echo configure:6825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6872: \"$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 @@ -6867,7 +6914,7 @@ fi if test "$IPF_TRANSPARENT" ; then echo $ac_n "checking if IP-Filter header files are installed""... $ac_c" 1>&6 -echo "configure:6871: checking if IP-Filter header files are installed" >&5 +echo "configure:6918: 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" || @@ -6908,7 +6955,7 @@ fi if test "$LINUX_NETFILTER" ; then echo $ac_n "checking if Linux 2.4 kernel header files are installed""... $ac_c" 1>&6 -echo "configure:6912: checking if Linux 2.4 kernel header files are installed" >&5 +echo "configure:6959: 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" @@ -6942,13 +6989,13 @@ if test -z "$USE_GNUREGEX" ; then esac fi echo $ac_n "checking if GNUregex needs to be compiled""... $ac_c" 1>&6 -echo "configure:6946: checking if GNUregex needs to be compiled" >&5 +echo "configure:6993: 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 @@ -6956,7 +7003,7 @@ int main() { regex_t t; regcomp(&t,"",0); ; return 0; } EOF -if { (eval echo configure:6960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* USE_GNUREGEX="no" else @@ -6987,12 +7034,12 @@ for ac_func in \ do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6991: checking for $ac_func" >&5 +echo "configure:7038: 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:7066: \"$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 @@ -7043,12 +7090,12 @@ done echo $ac_n "checking Default FD_SETSIZE value""... $ac_c" 1>&6 -echo "configure:7047: checking Default FD_SETSIZE value" >&5 +echo "configure:7094: 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:7124: \"$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 @@ -7092,7 +7139,7 @@ EOF echo $ac_n "checking Maximum number of filedescriptors we can open""... $ac_c" 1>&6 -echo "configure:7096: checking Maximum number of filedescriptors we can open" >&5 +echo "configure:7143: checking Maximum number of filedescriptors we can open" >&5 TLDFLAGS="$LDFLAGS" case $host in i386-unknown-freebsd*) @@ -7104,7 +7151,7 @@ if test "$cross_compiling" = yes; then SQUID_MAXFD=256 else cat > conftest.$ac_ext < @@ -7164,7 +7211,7 @@ main() { } EOF -if { (eval echo configure:7168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7215: \"$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 @@ -7191,12 +7238,12 @@ fi LDFLAGS="$TLDFLAGS" echo $ac_n "checking Default UDP send buffer size""... $ac_c" 1>&6 -echo "configure:7195: checking Default UDP send buffer size" >&5 +echo "configure:7242: checking Default UDP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -7217,7 +7264,7 @@ main () } EOF -if { (eval echo configure:7221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7268: \"$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 @@ -7236,12 +7283,12 @@ EOF echo $ac_n "checking Default UDP receive buffer size""... $ac_c" 1>&6 -echo "configure:7240: checking Default UDP receive buffer size" >&5 +echo "configure:7287: checking Default UDP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_UDP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -7262,7 +7309,7 @@ main () } EOF -if { (eval echo configure:7266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7313: \"$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 @@ -7281,12 +7328,12 @@ EOF echo $ac_n "checking Default TCP send buffer size""... $ac_c" 1>&6 -echo "configure:7285: checking Default TCP send buffer size" >&5 +echo "configure:7332: checking Default TCP send buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_SNDBUF=16384 else cat > conftest.$ac_ext < @@ -7307,7 +7354,7 @@ main () } EOF -if { (eval echo configure:7311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7358: \"$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 @@ -7326,12 +7373,12 @@ EOF echo $ac_n "checking Default TCP receive buffer size""... $ac_c" 1>&6 -echo "configure:7330: checking Default TCP receive buffer size" >&5 +echo "configure:7377: checking Default TCP receive buffer size" >&5 if test "$cross_compiling" = yes; then SQUID_TCP_SO_RCVBUF=16384 else cat > conftest.$ac_ext < @@ -7352,7 +7399,7 @@ main () } EOF -if { (eval echo configure:7356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7403: \"$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 @@ -7371,19 +7418,19 @@ EOF echo $ac_n "checking if sys_errlist is already defined""... $ac_c" 1>&6 -echo "configure:7375: checking if sys_errlist is already defined" >&5 +echo "configure:7422: 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:7387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_needs_sys_errlist="no" else @@ -7405,16 +7452,16 @@ EOF fi echo $ac_n "checking for libresolv _dns_ttl_ hack""... $ac_c" 1>&6 -echo "configure:7409: checking for libresolv _dns_ttl_ hack" >&5 +echo "configure:7456: 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:7465: \"$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 @@ -7430,12 +7477,12 @@ fi rm -f conftest* echo $ac_n "checking if inet_ntoa() actually works""... $ac_c" 1>&6 -echo "configure:7434: checking if inet_ntoa() actually works" >&5 +echo "configure:7481: checking if inet_ntoa() actually works" >&5 if test "$cross_compiling" = yes; then INET_NTOA_RESULT="broken" else cat > conftest.$ac_ext < @@ -7454,7 +7501,7 @@ main () } EOF -if { (eval echo configure:7458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7505: \"$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 @@ -7480,9 +7527,9 @@ fi if test "$ac_cv_header_sys_statvfs_h" = "yes" ; then echo $ac_n "checking for working statvfs() interface""... $ac_c" 1>&6 -echo "configure:7484: checking for working statvfs() interface" >&5 +echo "configure:7531: checking for working statvfs() interface" >&5 cat > conftest.$ac_ext < @@ -7499,7 +7546,7 @@ statvfs("/tmp", &sfs); ; return 0; } EOF -if { (eval echo configure:7503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_func_statvfs=yes else @@ -7519,12 +7566,12 @@ fi fi echo $ac_n "checking for _res.nsaddr_list""... $ac_c" 1>&6 -echo "configure:7523: checking for _res.nsaddr_list" >&5 +echo "configure:7570: 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:7598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_nsaddr_list="yes" else @@ -7569,12 +7616,12 @@ fi if test $ac_cv_have_res_nsaddr_list = "no" ; then echo $ac_n "checking for _res.ns_list""... $ac_c" 1>&6 -echo "configure:7573: checking for _res.ns_list" >&5 +echo "configure:7620: 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:7648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_res_ns_list="yes" else @@ -7772,6 +7819,7 @@ trap 'rm -fr `echo "\ src/auth/ntlm/helpers/no_check/Makefile \ src/auth/ntlm/helpers/NTLMSSP/Makefile \ src/auth/ntlm/helpers/NTLMSSP/smbval/Makefile \ + src/auth/ntlm/helpers/winbind/Makefile \ contrib/Makefile \ snmplib/Makefile \ icons/Makefile \ @@ -7988,6 +8036,7 @@ CONFIG_FILES=\${CONFIG_FILES-"\ src/auth/ntlm/helpers/no_check/Makefile \ src/auth/ntlm/helpers/NTLMSSP/Makefile \ src/auth/ntlm/helpers/NTLMSSP/smbval/Makefile \ + src/auth/ntlm/helpers/winbind/Makefile \ contrib/Makefile \ snmplib/Makefile \ icons/Makefile \ diff --git a/configure.in b/configure.in index 338e3a3128..69936f67a3 100644 --- a/configure.in +++ b/configure.in @@ -3,15 +3,15 @@ dnl Configuration input file for Squid dnl dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) dnl -dnl $Id: configure.in,v 1.243 2001/11/28 03:02:33 robertc Exp $ +dnl $Id: configure.in,v 1.244 2001/11/28 08:01:43 robertc Exp $ dnl dnl dnl AC_INIT(src/main.c) AC_CONFIG_AUX_DIR(cfgaux) -AM_INIT_AUTOMAKE(Squid, 2.5-DEVEL) +AM_INIT_AUTOMAKE(Squid, 2.5-ntlm) AM_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.243 $)dnl +AC_REVISION($Revision: 1.244 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AM_MAINTAINER_MODE @@ -1102,6 +1102,7 @@ AC_CHECK_HEADERS( \ sys/socket.h \ sys/stat.h \ sys/statvfs.h \ + syscall.h \ sys/syscall.h \ sys/time.h \ sys/types.h \ @@ -1111,11 +1112,15 @@ AC_CHECK_HEADERS( \ syslog.h \ time.h \ unistd.h \ + utime.h \ varargs.h \ byteswap.h \ glib.h \ stdint.h \ inttypes.h \ + grp.h \ + nss_common.h \ + nss.h ) AC_C_CONST @@ -1320,6 +1325,24 @@ dnl Check for needed libraries AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(socket, main) +dnl Ripped from the Samba sources +AC_CACHE_CHECK([for unix domain sockets],squid_cv_unixsocket, [ + AC_TRY_COMPILE([ +#include +#include +#include +#include +#include ], +[ + struct sockaddr_un sunaddr; + sunaddr.sun_family = AF_UNIX; +], + squid_cv_unixsocket=yes,squid_cv_unixsocket=no)]) +if test x"$squid_cv_unixsocket" = x"yes"; then + AC_DEFINE(HAVE_UNIXSOCKET) +fi +dnl end rip + if test "x$ac_cv_enabled_dlmalloc" = "xyes" ; then echo "skipping libmalloc check (--enable-dlmalloc specified)" else @@ -2080,6 +2103,7 @@ AC_OUTPUT([\ src/auth/ntlm/helpers/no_check/Makefile \ src/auth/ntlm/helpers/NTLMSSP/Makefile \ src/auth/ntlm/helpers/NTLMSSP/smbval/Makefile \ + src/auth/ntlm/helpers/winbind/Makefile \ contrib/Makefile \ snmplib/Makefile \ icons/Makefile \ diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 7a0ce0d46c..967b4b07d3 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/LDAP/Makefile.in b/helpers/basic_auth/LDAP/Makefile.in index d463a4ad76..9dc37253d3 100644 --- a/helpers/basic_auth/LDAP/Makefile.in +++ b/helpers/basic_auth/LDAP/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/MSNT/Makefile.in b/helpers/basic_auth/MSNT/Makefile.in index 1ac91cf2b9..7990bafc1d 100644 --- a/helpers/basic_auth/MSNT/Makefile.in +++ b/helpers/basic_auth/MSNT/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.5 2001/10/03 14:56:58 hno Exp $ +# $Id: Makefile.in,v 1.6 2001/11/28 08:01:50 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/Makefile.in b/helpers/basic_auth/Makefile.in index 71039d04f0..d0f31b46f1 100644 --- a/helpers/basic_auth/Makefile.in +++ b/helpers/basic_auth/Makefile.in @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.5 2001/10/03 14:56:57 hno Exp $ +# $Id: Makefile.in,v 1.6 2001/11/28 08:01:49 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/NCSA/Makefile.in b/helpers/basic_auth/NCSA/Makefile.in index 3768f6c417..1016c4da71 100644 --- a/helpers/basic_auth/NCSA/Makefile.in +++ b/helpers/basic_auth/NCSA/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:56:59 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:01:50 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/PAM/Makefile.in b/helpers/basic_auth/PAM/Makefile.in index 3e1847d8f7..2736098700 100644 --- a/helpers/basic_auth/PAM/Makefile.in +++ b/helpers/basic_auth/PAM/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.5 2001/10/03 14:56:59 hno Exp $ +# $Id: Makefile.in,v 1.6 2001/11/28 08:01:51 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/SMB/Makefile.in b/helpers/basic_auth/SMB/Makefile.in index 4376f3b7ee..effac8c0ff 100644 --- a/helpers/basic_auth/SMB/Makefile.in +++ b/helpers/basic_auth/SMB/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.5 2001/10/03 14:57:00 hno Exp $ +# $Id: Makefile.in,v 1.6 2001/11/28 08:01:52 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -85,7 +85,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/YP/Makefile.in b/helpers/basic_auth/YP/Makefile.in index 45c07d9377..e7f6e0bd46 100644 --- a/helpers/basic_auth/YP/Makefile.in +++ b/helpers/basic_auth/YP/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.7 2001/10/03 14:57:01 hno Exp $ +# $Id: Makefile.in,v 1.8 2001/11/28 08:01:52 robertc Exp $ # # @@ -79,7 +79,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/getpwnam/Makefile.in b/helpers/basic_auth/getpwnam/Makefile.in index ac00c25e26..b1f2464dee 100644 --- a/helpers/basic_auth/getpwnam/Makefile.in +++ b/helpers/basic_auth/getpwnam/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:01 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:01:53 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/basic_auth/multi-domain-NTLM/Makefile.in b/helpers/basic_auth/multi-domain-NTLM/Makefile.in index fcf5a9ba23..a787e3346e 100644 --- a/helpers/basic_auth/multi-domain-NTLM/Makefile.in +++ b/helpers/basic_auth/multi-domain-NTLM/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.3 2001/10/03 14:57:02 hno Exp $ +# $Id: Makefile.in,v 1.4 2001/11/28 08:01:54 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/digest_auth/Makefile.in b/helpers/digest_auth/Makefile.in index d86a65941a..2128e1a692 100644 --- a/helpers/digest_auth/Makefile.in +++ b/helpers/digest_auth/Makefile.in @@ -15,7 +15,7 @@ # Makefile for digest auth helpers in the Squid Object Cache server # -# $Id: Makefile.in,v 1.4 2001/10/03 14:57:03 hno Exp $ +# $Id: Makefile.in,v 1.5 2001/11/28 08:01:55 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/digest_auth/password/Makefile.in b/helpers/digest_auth/password/Makefile.in index 720bb57ab1..0c63e88802 100644 --- a/helpers/digest_auth/password/Makefile.in +++ b/helpers/digest_auth/password/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:04 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:01:56 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/ntlm_auth/Makefile.am b/helpers/ntlm_auth/Makefile.am index 217f73f4d8..465648d65f 100644 --- a/helpers/ntlm_auth/Makefile.am +++ b/helpers/ntlm_auth/Makefile.am @@ -1,7 +1,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.am,v 1.1 2001/08/31 11:19:25 robertc Exp $ +# $Id: Makefile.am,v 1.2 2001/11/28 08:01:58 robertc Exp $ # -DIST_SUBDIRS = fakeauth no_check NTLMSSP +DIST_SUBDIRS = fakeauth no_check NTLMSSP winbind SUBDIRS = @NTLM_AUTH_HELPERS@ diff --git a/helpers/ntlm_auth/Makefile.in b/helpers/ntlm_auth/Makefile.in index 20d0ae689a..d52c73a70e 100644 --- a/helpers/ntlm_auth/Makefile.in +++ b/helpers/ntlm_auth/Makefile.in @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.4 2001/10/03 14:57:05 hno Exp $ +# $Id: Makefile.in,v 1.5 2001/11/28 08:01:58 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -123,7 +124,7 @@ am__quote = @am__quote@ install_sh = @install_sh@ makesnmplib = @makesnmplib@ -DIST_SUBDIRS = fakeauth no_check NTLMSSP +DIST_SUBDIRS = fakeauth no_check NTLMSSP winbind SUBDIRS = @NTLM_AUTH_HELPERS@ subdir = src/auth/ntlm/helpers mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs diff --git a/helpers/ntlm_auth/SMB/Makefile.in b/helpers/ntlm_auth/SMB/Makefile.in index 9dd86a76e2..4b44772597 100644 --- a/helpers/ntlm_auth/SMB/Makefile.in +++ b/helpers/ntlm_auth/SMB/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:06 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:01:59 robertc Exp $ # SHELL = @SHELL@ @@ -78,7 +78,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/ntlm_auth/SMB/libntlmssp.c b/helpers/ntlm_auth/SMB/libntlmssp.c index 010be05ca3..fee7336ff3 100644 --- a/helpers/ntlm_auth/SMB/libntlmssp.c +++ b/helpers/ntlm_auth/SMB/libntlmssp.c @@ -13,6 +13,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. */ +typedef unsigned char uchar; #include "ntlm.h" #include "util.h" /* from Squid */ @@ -69,7 +70,10 @@ int SMB_Logon_Server(SMB_Handle_Type Con_Handle, char *UserName, char *PassWord, #endif /* DEBUG */ +#define ENCODED_PASS_LEN 24 static char challenge[NONCE_LEN]; +static char lmencoded_empty_pass[ENCODED_PASS_LEN], + ntencoded_empty_pass[ENCODED_PASS_LEN]; SMB_Handle_Type handle = NULL; /* Disconnects from the DC. A reconnection will be done upon the next request @@ -101,12 +105,12 @@ is_dc_ok(char *domain, char *domain_controller) } +static char errstr[1001]; /* returns 0 on success, > 0 on failure */ static int init_challenge(char *domain, char *domain_controller) { int smberr; - char errstr[100]; if (handle != NULL) { return 0; @@ -114,7 +118,7 @@ init_challenge(char *domain, char *domain_controller) debug("Connecting to server %s domain %s\n", domain_controller, domain); handle = SMB_Connect_Server(NULL, domain_controller, domain); smberr = SMB_Get_Last_Error(); - SMB_Get_Error_Msg(smberr, errstr, 100); + SMB_Get_Error_Msg(smberr, errstr, 1000); if (handle == NULL) { /* couldn't connect */ @@ -134,16 +138,23 @@ init_challenge(char *domain, char *domain_controller) return 3; } memcpy(challenge, handle->Encrypt_Key, NONCE_LEN); + SMBencrypt("",challenge,lmencoded_empty_pass); + SMBNTencrypt("",challenge,ntencoded_empty_pass); return 0; } +static char my_domain[100], my_domain_controller[100]; const char * make_challenge(char *domain, char *domain_controller) { - if (init_challenge(domain, domain_controller) > 0) { + /* trying to circumvent some strange problem wih pointers in SMBLib */ + /* Ugly as hell, but the lib is going to be dropped... */ + strcpy(my_domain,domain); + strcpy(my_domain_controller,domain_controller); + if (init_challenge(my_domain, my_domain_controller) > 0) { return NULL; } - return ntlm_make_challenge(domain, domain_controller, challenge, NONCE_LEN); + return ntlm_make_challenge(my_domain, my_domain_controller, challenge, NONCE_LEN); } #define min(A,B) (Almresponse); - if (tmp.str == NULL) { - fprintf(stderr, "No auth at all. Returning no-auth\n"); - ntlm_errno = NTLM_LOGON_ERROR; - return NULL; - } - memcpy(pass, tmp.str, tmp.l); - pass[25] = '\0'; /* debug("fetching domain\n"); */ tmp = ntlm_fetch_string((char *) auth, auth_length, &auth->domain); - if (tmp.str == NULL) { + if (tmp.str == NULL || tmp.l == 0) { debug("No domain supplied. Returning no-auth\n"); ntlm_errno = NTLM_LOGON_ERROR; return NULL; @@ -217,7 +220,7 @@ ntlm_check_auth(ntlm_authenticate * auth, int auth_length) /* debug("fetching user name\n"); */ tmp = ntlm_fetch_string((char *) auth, auth_length, &auth->user); - if (tmp.str == NULL) { + if (tmp.str == NULL || tmp.l == 0) { debug("No username supplied. Returning no-auth\n"); ntlm_errno = NTLM_LOGON_ERROR; return NULL; @@ -225,6 +228,47 @@ ntlm_check_auth(ntlm_authenticate * auth, int auth_length) memcpy(user, tmp.str, tmp.l); *(user + tmp.l) = '\0'; + + /* 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; + } + + memcpy(pass, tmp.str, tmp.l); + pass[25] = '\0'; + +#if 1 + debug ("Empty LM pass detection: user: '%s', ours:'%s', his: '%s'" + "(length: %d)\n", + user,lmencoded_empty_pass,tmp.str,tmp.l); + if (memcmp(tmp.str,lmencoded_empty_pass,ENCODED_PASS_LEN)==0) { + fprintf(stderr,"Empty LM password supplied for user %s\\%s. " + "No-auth\n",domain,user); + ntlm_errno=NTLM_LOGON_ERROR; + return NULL; + } + + tmp = ntlm_fetch_string ((char *) auth, auth_length, &auth->ntresponse); + if (tmp.str != NULL && tmp.l != 0) { + debug ("Empty NT pass detection: user: '%s', ours:'%s', his: '%s'" + "(length: %d)\n", + user,ntencoded_empty_pass,tmp.str,tmp.l); + if (memcmp(tmp.str,lmencoded_empty_pass,ENCODED_PASS_LEN)==0) { + fprintf(stderr,"Empty NT password supplied for user %s\\%s. " + "No-auth\n",domain,user); + ntlm_errno=NTLM_LOGON_ERROR; + return NULL; + } + } +#endif + + /* TODO: check against empty password!!!!! */ + + + debug("checking domain: '%s', user: '%s', pass='%s'\n", domain, user, pass); rv = SMB_Logon_Server(handle, user, pass, domain, 1); diff --git a/helpers/ntlm_auth/SMB/ntlm.h b/helpers/ntlm_auth/SMB/ntlm.h index cb50453f03..e839741d11 100644 --- a/helpers/ntlm_auth/SMB/ntlm.h +++ b/helpers/ntlm_auth/SMB/ntlm.h @@ -34,7 +34,7 @@ * define this if you want debugging */ #ifndef DEBUG -/* #define DEBUG */ +#define DEBUG #endif #define DEAD_DC_RETRY_INTERVAL 30 @@ -51,10 +51,12 @@ #include #include static char *__foo; -#define debug(X...) fprintf(stderr,"ntlm-auth[%d](%s:%d): ", getpid(), \ +extern char debug_enabled; +#define debug(X...) if (debug_enabled) { \ + fprintf(stderr,"ntlm-auth[%d](%s:%d): ", getpid(), \ ((__foo=strrchr(__FILE__,'/'))==NULL?__FILE__:__foo+1),\ __LINE__);\ - fprintf(stderr,X) + fprintf(stderr,X); } #else /* DEBUG */ #define debug(X...) /* */ #endif /* DEBUG */ diff --git a/helpers/ntlm_auth/SMB/ntlm_auth.c b/helpers/ntlm_auth/SMB/ntlm_auth.c index ff9cd37333..e496110f12 100644 --- a/helpers/ntlm_auth/SMB/ntlm_auth.c +++ b/helpers/ntlm_auth/SMB/ntlm_auth.c @@ -133,17 +133,18 @@ void usage() { fprintf(stderr, - "%s usage:\n%s [-b] [-f] domain\\controller [domain\\controller ...]\n-b, if specified, enables load-balancing among controllers\n-f, if specified, enables failover among controllers (DEPRECATED and always active)\n-l, if specified, changes behavior on domain controller failyures to\tlast-ditch\n\nYou MUST specify at least one Domain Controller.\nYou can use either \\ or / as separator between the domain name \n\tand the controller name\n", + "%s usage:\n%s [-b] [-f] [-d] domain\\controller [domain\\controller ...]\n-b, if specified, enables load-balancing among controllers\n-f, if specified, enables failover among controllers (DEPRECATED and always active)\n-l, if specified, changes behavior on domain controller failyures to\tlast-ditch.-d enables debugging statements if DEBUG was defined at build-time.\n\nYou MUST specify at least one Domain Controller.\nYou can use either \\ or / as separator between the domain name \n\tand the controller name\n", my_program_name, my_program_name); } +char debug_enabled=0; void process_options(int argc, char *argv[]) { int opt, j, had_error = 0; dc *new_dc = NULL, *last_dc = NULL; - while (-1 != (opt = getopt(argc, argv, "bfl"))) { + while (-1 != (opt = getopt(argc, argv, "bfld"))) { switch (opt) { case 'b': load_balance = 1; @@ -157,6 +158,9 @@ process_options(int argc, char *argv[]) last_ditch_enabled = 1; break; #endif + case 'd': + debug_enabled=1; + break; default: fprintf(stderr, "unknown option: -%c. Exiting\n", opt); usage(); @@ -323,6 +327,10 @@ manage_request() } if (cred == NULL) { int smblib_err, smb_errorclass, smb_errorcode, nb_error; + if (ntlm_errno == NTLM_LOGON_ERROR) { /* hackish */ + SEND("NA Logon Failure"); + return; + } /* there was an error. We have two errno's to look at. * libntlmssp's erno is insufficient, we'll have to look at * the actual SMB library error codes, to acually figure diff --git a/helpers/ntlm_auth/SMB/smbval/Makefile.in b/helpers/ntlm_auth/SMB/smbval/Makefile.in index a805a7bfc6..594d372b9e 100644 --- a/helpers/ntlm_auth/SMB/smbval/Makefile.in +++ b/helpers/ntlm_auth/SMB/smbval/Makefile.in @@ -74,7 +74,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/ntlm_auth/SMB/smbval/smblib.c b/helpers/ntlm_auth/SMB/smbval/smblib.c index 506b3384e4..996141bdcd 100644 --- a/helpers/ntlm_auth/SMB/smbval/smblib.c +++ b/helpers/ntlm_auth/SMB/smbval/smblib.c @@ -451,7 +451,7 @@ SMB_Logon_Server(SMB_Handle_Type Con_Handle, char *UserName, SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_mbs_offset, SMBLIB_MAX_XMIT); SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_mmc_offset, 0); - SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_vcn_offset, 0); + SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_vcn_offset, 1); /* Thanks Tridge! */ SIVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_snk_offset, 0); SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_cipl_offset, pass_len); SSVAL(SMB_Hdr(pkt), SMB_ssetpNTLM_cspl_offset, 0); diff --git a/helpers/ntlm_auth/fakeauth/Makefile.in b/helpers/ntlm_auth/fakeauth/Makefile.in index b7773aafb0..ee5728897c 100644 --- a/helpers/ntlm_auth/fakeauth/Makefile.in +++ b/helpers/ntlm_auth/fakeauth/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:07 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:02:01 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/helpers/ntlm_auth/no_check/Makefile.in b/helpers/ntlm_auth/no_check/Makefile.in index 422a2d81ac..def143c93f 100644 --- a/helpers/ntlm_auth/no_check/Makefile.in +++ b/helpers/ntlm_auth/no_check/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:07 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:02:01 robertc Exp $ # # Uncomment and customize the following to suit your needs: # @@ -80,7 +80,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/include/autoconf.h.in b/include/autoconf.h.in index 85a5393567..2b1bbe4aba 100644 --- a/include/autoconf.h.in +++ b/include/autoconf.h.in @@ -1,4 +1,4 @@ -/* include/autoconf.h.in. Generated automatically from configure.in by autoheader. */ +/* include/autoconf.h.in. Generated automatically from configure.in by autoheader 2.13. */ /* * All configurable options are enabled by using --enable-.... * when running configure. See configure --help for a list @@ -362,6 +362,11 @@ */ #undef LINUX_NETFILTER +/* + * Do we have unix sockets? (required for the winbind ntlm helper + */ +#undef HAVE_UNIXSOCKET + #undef int16_t #undef u_int16_t @@ -685,6 +690,12 @@ /* Define if you have the header file. */ #undef HAVE_NETINET_TCP_H +/* Define if you have the header file. */ +#undef HAVE_NSS_H + +/* Define if you have the header file. */ +#undef HAVE_NSS_COMMON_H + /* Define if you have the header file. */ #undef HAVE_OPENSSL_ERR_H @@ -787,6 +798,9 @@ /* Define if you have the header file. */ #undef HAVE_SYS_WAIT_H +/* Define if you have the header file. */ +#undef HAVE_SYSCALL_H + /* Define if you have the header file. */ #undef HAVE_SYSLOG_H @@ -796,6 +810,9 @@ /* Define if you have the header file. */ #undef HAVE_UNISTD_H +/* Define if you have the header file. */ +#undef HAVE_UTIME_H + /* Define if you have the header file. */ #undef HAVE_VARARGS_H diff --git a/lib/Makefile.in b/lib/Makefile.in index 4d7839fc0a..12fcc180e5 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ # -# $Id: Makefile.in,v 1.55 2001/11/21 23:47:12 hno Exp $ +# $Id: Makefile.in,v 1.56 2001/11/28 08:01:44 robertc Exp $ # SHELL = @SHELL@ @@ -76,7 +76,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/scripts/Makefile.in b/scripts/Makefile.in index b0c275a487..42714052f0 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/snmplib/Makefile.in b/snmplib/Makefile.in index 5c83e1c8ef..ae1b7a0a01 100644 --- a/snmplib/Makefile.in +++ b/snmplib/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/snmplib/mib.c b/snmplib/mib.c index 14da2d396b..0e07d96c36 100644 --- a/snmplib/mib.c +++ b/snmplib/mib.c @@ -83,7 +83,6 @@ SOFTWARE. #include "util.h" #include "snprintf.h" - static struct snmp_mib_tree *get_symbol(oid *objid, int objidlen, struct snmp_mib_tree *subtree, char *buf); oid RFC1066_MIB[] = diff --git a/src/auth/Makefile.in b/src/auth/Makefile.in index 74a00a702c..a9fe20e5c1 100644 --- a/src/auth/Makefile.in +++ b/src/auth/Makefile.in @@ -15,7 +15,7 @@ # Makefile for authentication modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.4 2001/10/03 14:56:56 hno Exp $ +# $Id: Makefile.in,v 1.5 2001/11/28 08:01:48 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/auth/basic/Makefile.in b/src/auth/basic/Makefile.in index b39a6ab012..8f1a7ab6cc 100644 --- a/src/auth/basic/Makefile.in +++ b/src/auth/basic/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/auth/digest/Makefile.in b/src/auth/digest/Makefile.in index 0e8bc0a597..f54074c54c 100644 --- a/src/auth/digest/Makefile.in +++ b/src/auth/digest/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/auth/ntlm/Makefile.in b/src/auth/ntlm/Makefile.in index b20444f5ab..14057e6273 100644 --- a/src/auth/ntlm/Makefile.in +++ b/src/auth/ntlm/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/auth/ntlm/auth_ntlm.cc b/src/auth/ntlm/auth_ntlm.cc index 8d0fbeff9b..d958c6c3b9 100644 --- a/src/auth/ntlm/auth_ntlm.cc +++ b/src/auth/ntlm/auth_ntlm.cc @@ -1,6 +1,6 @@ /* - * $Id: auth_ntlm.cc,v 1.15 2001/10/24 05:26:16 hno Exp $ + * $Id: auth_ntlm.cc,v 1.16 2001/11/28 08:01:57 robertc Exp $ * * DEBUG: section 29 NTLM Authenticator * AUTHOR: Robert Collins @@ -284,8 +284,9 @@ authenticateNTLMDirection(auth_user_request_t * auth_user_request) /* null auth_user is checked for by authenticateDirection */ switch (ntlm_request->auth_state) { case AUTHENTICATE_STATE_NONE: /* no progress at all. */ - if (ntlm_request->flags.credentials_ok != 2) - debug(29, 1) ("authenticateNTLMDirection: called before NTLM Authenticate!. Report a bug to squid-dev. au %p\n", auth_user_request); + debug(29, 1) ("authenticateNTLMDirection: called before NTLM Authenticate!. Report a bug to squid-dev. au %x\n", auth_user_request); + /* fall thru */ + case AUTHENTICATE_STATE_FAILED: return -2; case AUTHENTICATE_STATE_NEGOTIATE: /* send to helper */ case AUTHENTICATE_STATE_RESPONSE: /*send to helper */ @@ -321,6 +322,7 @@ authenticateNTLMFixErrorHeader(auth_user_request_t * auth_user_request, HttpRepl ntlm_request = auth_user_request->scheme_data; switch (ntlm_request->auth_state) { case AUTHENTICATE_STATE_NONE: + case AUTHENTICATE_STATE_FAILED: debug(29, 9) ("authenticateNTLMFixErrorHeader: Sending type:%d header: 'NTLM'\n", type); httpHeaderPutStrf(&rep->header, type, "NTLM"); /* drop the connection */ @@ -442,6 +444,9 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) return S_HELPER_RELEASE; } if (!reply) { + /* TODO: this occurs when a helper crashes. We should clean up that helpers resources + * and queued requests. + */ fatal("authenticateNTLMHandleReply: called with no result string\n"); } /* seperate out the useful data */ @@ -486,7 +491,6 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) assert(ntlm_request->auth_state == AUTHENTICATE_STATE_RESPONSE); ntlm_user->username = xstrndup(reply, MAX_LOGIN_SZ); ntlm_request->authserver = NULL; - ntlm_request->flags.credentials_ok = 1; /* login ok */ #ifdef NTLM_FAIL_OPEN } else if (strncasecmp(reply, "LD ", 3) == 0) { /* This is a variant of BH, which rather than deny access @@ -508,16 +512,12 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) ntlm_user = auth_user_request->auth_user->scheme_data; assert(ntlm_user != NULL); result = S_HELPER_RELEASE; - /* we only expect OK when finishing the handshake */ + /* we only expect LD when finishing the handshake */ assert(ntlm_request->auth_state == AUTHENTICATE_STATE_RESPONSE); ntlm_user->username = xstrndup(reply, MAX_LOGIN_SZ); helperstate = helperStatefulServerGetData(ntlm_request->authserver); ntlm_request->authserver = NULL; - ntlm_request->flags.credentials_ok = 1; /* login ok */ /* BH code: mark helper as broken */ - /* Not a valid helper response to a YR request. Assert so the helper - * programmer will fix their bugs! */ - assert(ntlm_request->auth_state != AUTHENTICATE_STATE_NEGOTIATE); /* mark it for starving */ helperstate->starve = 1; #endif @@ -534,9 +534,8 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) /* todo: action of Negotiate state on error */ result = S_HELPER_RELEASE; /*some error has occured. no more requests */ ntlm_request->authserver = NULL; - ntlm_request->flags.credentials_ok = 2; /* Login/Usercode failed */ debug(29, 4) ("authenticateNTLMHandleReply: Error validating user via NTLM. Error returned '%s'\n", reply); - ntlm_request->auth_state = AUTHENTICATE_STATE_NONE; + ntlm_request->auth_state = AUTHENTICATE_STATE_FAILED; if ((t = strchr(reply, ' '))) /* strip after a space */ *t = '\0'; } else if (strncasecmp(reply, "NA", 2) == 0) { @@ -564,31 +563,29 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) if (ntlm_request->auth_state == AUTHENTICATE_STATE_NEGOTIATE) { /* The helper broke on YR. It automatically * resets */ - ntlm_request->flags.credentials_ok = 3; /* cannot process */ - debug(29, 1) ("authenticateNTLMHandleReply: Error obtaining challenge from helper: %p. Error returned '%s'\n", lastserver, reply); + debug(29, 1) ("authenticateNTLMHandleReply: Error obtaining challenge from helper: %d. Error returned '%s'\n", lastserver, reply); /* mark it for starving */ helperstate->starve = 1; /* resubmit the request. This helper is currently busy, so we will get - * a different one. */ + * a different one. Our auth state stays the same */ authenticateNTLMStart(auth_user_request, r->handler, r->data); /* don't call the callback */ cbdataUnlock(r->data); authenticateStateFree(r); debug(29, 9) ("NTLM HandleReply, telling stateful helper : %d\n", result); return result; - } else { - /* the helper broke on a KK */ - /* first the standard KK stuff */ - ntlm_request->flags.credentials_ok = 2; /* Login/Usercode failed */ - debug(29, 4) ("authenticateNTLMHandleReply: Error validating user via NTLM. Error returned '%s'\n", reply); - if ((t = strchr(reply, ' '))) /* strip after a space */ - *t = '\0'; - /* now we mark the helper for resetting. */ - helperstate->starve = 1; - } - ntlm_request->auth_state = AUTHENTICATE_STATE_NONE; + } + /* the helper broke on a KK */ + /* first the standard KK stuff */ + debug(29, 4) ("authenticateNTLMHandleReply: Error validating user via NTLM. Error returned '%s'\n", reply); + if ((t = strchr(reply, ' '))) /* strip after a space */ + *t = '\0'; + /* now we mark the helper for resetting. */ + helperstate->starve = 1; + ntlm_request->auth_state = AUTHENTICATE_STATE_FAILED; } else { /* TODO: only work with auth_user here if it exists */ + /* TODO: take the request state into consideration */ assert(r->auth_user_request != NULL); assert(r->auth_user_request->auth_user->auth_type == AUTH_NTLM); auth_user_request = r->auth_user_request; @@ -598,10 +595,10 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply) ntlm_request = auth_user_request->scheme_data; assert((ntlm_user != NULL) && (ntlm_request != NULL)); debug(29, 1) ("authenticateNTLMHandleReply: *** Unsupported helper response ***, '%s'\n", reply); + /* **** NOTE THIS CODE IS EFFECTIVELY UNTESTED **** */ /* restart the authentication process */ ntlm_request->auth_state = AUTHENTICATE_STATE_NONE; - ntlm_request->flags.credentials_ok = 3; /* cannot process */ - assert(ntlm_request->authserver ? ntlm_request->authserver == lastserver : 1); + assert (ntlm_request->authserver ? ntlm_request->authserver == lastserver : 1); ntlm_request->authserver = NULL; } r->handler(r->data, NULL); @@ -963,10 +960,6 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques case AUTHENTICATE_STATE_NONE: /* we've recieved a negotiate request. pass to a helper */ debug(29, 9) ("authenticateNTLMAuthenticateUser: auth state ntlm none. %s\n", proxy_auth); - if (ntlm_request->flags.credentials_ok == 2) { - /* the authentication fialed badly... */ - return; - } ntlm_request->auth_state = AUTHENTICATE_STATE_NEGOTIATE; ntlm_request->ntlmnegotiate = xstrndup(proxy_auth, NTLM_CHALLENGE_SZ + 5); conn->auth_type = AUTH_NTLM; @@ -1023,7 +1016,6 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques /* get the existing entries details */ ntlm_user = auth_user->scheme_data; debug(29, 9) ("Username to be used is %s\n", ntlm_user->username); - ntlm_request->flags.credentials_ok = 1; /* authenticated ok */ /* on ntlm auth we do not unlock the auth_user until the * connection is dropped. Thank MS for this quirk */ auth_user->expiretime = current_time.tv_sec; @@ -1069,12 +1061,15 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques /* set these to now because this is either a new login from an * existing user or a new user */ auth_user->expiretime = current_time.tv_sec; - ntlm_request->flags.credentials_ok = 1; /*authenticated ok */ return; break; case AUTHENTICATE_STATE_DONE: fatal("authenticateNTLMAuthenticateUser: unexpect auth state DONE! Report a bug to the squid developers.\n"); + break; + case AUTHENTICATE_STATE_FAILED: + /* we've failed somewhere in authentication */ + debug(29, 9) ("authenticateNTLMAuthenticateUser: auth state ntlm failed. %s\n", proxy_auth); + return; } - return; } diff --git a/src/auth/ntlm/auth_ntlm.h b/src/auth/ntlm/auth_ntlm.h index a82e522446..13a191edab 100644 --- a/src/auth/ntlm/auth_ntlm.h +++ b/src/auth/ntlm/auth_ntlm.h @@ -8,6 +8,15 @@ #define DefaultAuthenticateChildrenMax 32 /* 32 processes */ +typedef enum { + AUTHENTICATE_STATE_NONE, + AUTHENTICATE_STATE_NEGOTIATE, + AUTHENTICATE_STATE_CHALLENGE, + AUTHENTICATE_STATE_RESPONSE, + AUTHENTICATE_STATE_DONE, + AUTHENTICATE_STATE_FAILED +} auth_state_t; /* connection level auth state */ + /* Generic */ typedef struct { void *data; @@ -22,9 +31,6 @@ struct _ntlm_user { }; struct _ntlm_request { - struct { - unsigned int credentials_ok:2; /*0=unchecked,1=ok,2=failed */ - } flags; /* what negotiate string did the client use? */ char *ntlmnegotiate; /* what challenge did we give the client? */ diff --git a/src/authenticate.cc b/src/authenticate.cc index f5812b28d4..aa32f81275 100644 --- a/src/authenticate.cc +++ b/src/authenticate.cc @@ -1,6 +1,6 @@ /* - * $Id: authenticate.cc,v 1.35 2001/10/25 18:08:47 hno Exp $ + * $Id: authenticate.cc,v 1.36 2001/11/28 08:01:46 robertc Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Duane Wessels @@ -235,6 +235,7 @@ authenticateAuthUserRequestFree(auth_user_request_t * auth_user_request) assert(auth_user_request->scheme_data == NULL); if (auth_user_request->message) xfree(auth_user_request->message); + memPoolFree(auth_user_request_pool, auth_user_request); } char * @@ -676,11 +677,6 @@ void authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated, int internal) /* send the auth types we are configured to support (and have compiled in!) */ { -/* auth_type_t auth_type=err->auth_type; - * auth_state_t auth_state=err->auth_state; - * char *authchallenge=err->authchallenge; - * auth_user_request_t *auth_user_request=err->auth_user_request; - */ int type = 0; switch (rep->sline.status) { case HTTP_PROXY_AUTHENTICATION_REQUIRED: diff --git a/src/enums.h b/src/enums.h index fe1a80be79..bbf8f75227 100644 --- a/src/enums.h +++ b/src/enums.h @@ -1,6 +1,6 @@ /* - * $Id: enums.h,v 1.201 2001/11/17 11:09:24 hno Exp $ + * $Id: enums.h,v 1.202 2001/11/28 08:01:46 robertc Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -526,14 +526,6 @@ typedef enum { AUTH_BROKEN /* known type, but broken data */ } auth_type_t; -typedef enum { - AUTHENTICATE_STATE_NONE, - AUTHENTICATE_STATE_NEGOTIATE, - AUTHENTICATE_STATE_CHALLENGE, - AUTHENTICATE_STATE_RESPONSE, - AUTHENTICATE_STATE_DONE -} auth_state_t; /* connection level auth state */ - /* stateful helper callback response codes */ typedef enum { S_HELPER_UNKNOWN, diff --git a/src/fs/Makefile.in b/src/fs/Makefile.in index 2c8fe0f309..628df40aef 100644 --- a/src/fs/Makefile.in +++ b/src/fs/Makefile.in @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.6 2001/10/03 14:57:08 hno Exp $ +# $Id: Makefile.in,v 1.7 2001/11/28 08:02:02 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/fs/aufs/Makefile.in b/src/fs/aufs/Makefile.in index 9c8407c9b4..c63bad7d5c 100644 --- a/src/fs/aufs/Makefile.in +++ b/src/fs/aufs/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/fs/coss/Makefile.in b/src/fs/coss/Makefile.in index f2d8fdd42e..318ef57081 100644 --- a/src/fs/coss/Makefile.in +++ b/src/fs/coss/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/fs/diskd/Makefile.in b/src/fs/diskd/Makefile.in index 07fc9763d0..043007efa9 100644 --- a/src/fs/diskd/Makefile.in +++ b/src/fs/diskd/Makefile.in @@ -16,7 +16,7 @@ # # Makefile for the DISKD storage driver for the Squid Object Cache server # -# $Id: Makefile.in,v 1.4 2001/10/03 14:57:10 hno Exp $ +# $Id: Makefile.in,v 1.5 2001/11/28 08:02:04 robertc Exp $ # SHELL = @SHELL@ @@ -78,7 +78,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/fs/null/Makefile.in b/src/fs/null/Makefile.in index aaa90929ab..c02d396901 100644 --- a/src/fs/null/Makefile.in +++ b/src/fs/null/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/fs/ufs/Makefile.in b/src/fs/ufs/Makefile.in index d7c3e570f6..6065e4a287 100644 --- a/src/fs/ufs/Makefile.in +++ b/src/fs/ufs/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/helper.cc b/src/helper.cc index ac7d4fb607..afb2b78d8c 100644 --- a/src/helper.cc +++ b/src/helper.cc @@ -1,6 +1,6 @@ /* - * $Id: helper.cc,v 1.33 2001/10/24 07:45:35 hno Exp $ + * $Id: helper.cc,v 1.34 2001/11/28 08:01:46 robertc Exp $ * * DEBUG: section 29 Helper process maintenance * AUTHOR: Harvest Derived? @@ -670,6 +670,7 @@ helperStatefulServerFree(int fd, void *data) helperStatefulRequestFree(r); srv->request = NULL; } + /* TODO: walk the local queue of requests and carry them all out */ if (srv->wfd != srv->rfd && srv->wfd != -1) comm_close(srv->wfd); dlinkDelete(&srv->link, &hlp->servers); diff --git a/src/repl/Makefile.in b/src/repl/Makefile.in index 28caa70071..9dc1e2c82d 100644 --- a/src/repl/Makefile.in +++ b/src/repl/Makefile.in @@ -15,7 +15,7 @@ # Makefile for storage modules in the Squid Object Cache server # -# $Id: Makefile.in,v 1.5 2001/10/03 14:57:11 hno Exp $ +# $Id: Makefile.in,v 1.6 2001/11/28 08:02:05 robertc Exp $ # SHELL = @SHELL@ @@ -77,7 +77,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/repl/heap/Makefile.in b/src/repl/heap/Makefile.in index 1f55760cc5..d5b9ee1fbe 100644 --- a/src/repl/heap/Makefile.in +++ b/src/repl/heap/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/src/repl/lru/Makefile.in b/src/repl/lru/Makefile.in index 969e7633ac..b8228aad4e 100644 --- a/src/repl/lru/Makefile.in +++ b/src/repl/lru/Makefile.in @@ -72,7 +72,8 @@ CRYPTLIB = @CRYPTLIB@ DEPDIR = @DEPDIR@ DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@ DLLIB = @DLLIB@ -ERR_LANGUAGE = @ERR_LANGUAGE@ +ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@ +ERR_LANGUAGES = @ERR_LANGUAGES@ EXEEXT = @EXEEXT@ FALSE = @FALSE@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@