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