diff -u -r -N squid-5.0.5/acinclude/lib-checks.m4 squid-5.0.6/acinclude/lib-checks.m4
--- squid-5.0.5/acinclude/lib-checks.m4 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/acinclude/lib-checks.m4 2021-05-10 21:02:34.000000000 +1200
@@ -71,10 +71,13 @@
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_STORE_CTX_GET0_CERT, "Define to 1 if the X509_STORE_CTX_get0_cert() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_VERIFY_PARAM_GET_DEPTH, "Define to 1 if the X509_VERIFY_PARAM_get_depth() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_STORE_CTX_GET0_UNTRUSTED, "Define to 1 if the X509_STORE_CTX_get0_untrusted() OpenSSL API function exists")
+ AH_TEMPLATE(HAVE_X509_VERIFY_PARAM_SET_AUTH_LEVEL, "Define to 1 if the X509_VERIFY_PARAM_set_auth_level() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_UP_REF, "Define to 1 if the X509_up_ref() OpenSSL API function exists")
+ AH_TEMPLATE(HAVE_LIBCRYPTO_X509_CHAIN_UP_REF, "Define to 1 if the X509_chain_up_ref() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_CRL_UP_REF, "Define to 1 if the X509_CRL_up_ref() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_DH_UP_REF, "Define to 1 if the DH_up_ref() OpenSSL API function exists")
AH_TEMPLATE(HAVE_LIBCRYPTO_X509_GET0_SIGNATURE, "Define to 1 if the X509_get0_signature() OpenSSL API function exists")
+ AH_TEMPLATE(HAVE_SSL_GET0_PARAM, "Define to 1 of the SSL_get0_param() OpenSSL API function exists")
SQUID_STATE_SAVE(check_openssl_libcrypto_api)
LIBS="$LIBS $SSLLIB"
AC_CHECK_LIB(crypto, OPENSSL_LH_strhash, AC_DEFINE(HAVE_LIBCRYPTO_OPENSSL_LH_STRHASH, 1))
@@ -87,10 +90,13 @@
AC_CHECK_LIB(crypto, X509_STORE_CTX_get0_cert, AC_DEFINE(HAVE_LIBCRYPTO_X509_STORE_CTX_GET0_CERT, 1))
AC_CHECK_LIB(crypto, X509_VERIFY_PARAM_get_depth, AC_DEFINE(HAVE_LIBCRYPTO_X509_VERIFY_PARAM_GET_DEPTH, 1))
AC_CHECK_LIB(crypto, X509_STORE_CTX_get0_untrusted, AC_DEFINE(HAVE_LIBCRYPTO_X509_STORE_CTX_GET0_UNTRUSTED, 1))
+ AC_CHECK_LIB(crypto, X509_VERIFY_PARAM_set_auth_level, AC_DEFINE(HAVE_X509_VERIFY_PARAM_SET_AUTH_LEVEL))
AC_CHECK_LIB(crypto, X509_up_ref, AC_DEFINE(HAVE_LIBCRYPTO_X509_UP_REF, 1))
+ AC_CHECK_LIB(crypto, X509_chain_up_ref, AC_DEFINE(HAVE_LIBCRYPTO_X509_CHAIN_UP_REF, 1))
AC_CHECK_LIB(crypto, X509_CRL_up_ref, AC_DEFINE(HAVE_LIBCRYPTO_X509_CRL_UP_REF, 1))
AC_CHECK_LIB(crypto, DH_up_ref, AC_DEFINE(HAVE_LIBCRYPTO_DH_UP_REF, 1))
AC_CHECK_LIB(crypto, X509_get0_signature, AC_DEFINE(HAVE_LIBCRYPTO_X509_GET0_SIGNATURE, 1), AC_DEFINE(SQUID_CONST_X509_GET0_SIGNATURE_ARGS,))
+ AC_CHECK_LIB(crypto, SSL_get0_param, AC_DEFINE(HAVE_SSL_GET0_PARAM, 1))
SQUID_STATE_ROLLBACK(check_openssl_libcrypto_api)
])
diff -u -r -N squid-5.0.5/acinclude/os-deps.m4 squid-5.0.6/acinclude/os-deps.m4
--- squid-5.0.5/acinclude/os-deps.m4 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/acinclude/os-deps.m4 2021-05-10 21:02:34.000000000 +1200
@@ -792,6 +792,7 @@
AC_CACHE_CHECK([for operational CPU clock access],
squid_cv_cpu_profiler_works,
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
+#include
#if defined(__GNUC__) && ( defined(__i386) || defined(__i386__) )
// okay
#elif defined(__GNUC__) && ( defined(__x86_64) || defined(__x86_64__) )
@@ -800,6 +801,8 @@
// okay
#elif defined(_M_IX86) && defined(_MSC_VER) /* x86 platform on Microsoft C Compiler ONLY */
// okay
+#elif defined(HAVE_CLOCK_GETTIME_NSEC_NP) && defined(CLOCK_MONOTONIC_RAW)
+// okay
#else
#error This CPU is unsupported. No profiling available here.
#endif
diff -u -r -N squid-5.0.5/ChangeLog squid-5.0.6/ChangeLog
--- squid-5.0.5/ChangeLog 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/ChangeLog 2021-05-10 21:02:34.000000000 +1200
@@ -1,3 +1,18 @@
+Changes in squid-5.0.6 (10 May 2021):
+
+ - Bug 5057: Generated response lacks status code
+ - TLS: Handling missing issuer certificates for TLSv1.3
+ - TLS: Detail certificate validation errors during TLS handshake
+ - TLS: Detail client closures of CONNECT tunnels during TLS handshake
+ - TLS: %ssl::negotiated_version for TLS/1.3
+ - HTTP: Allow 1xx and 204 responses with Transfer-Encoding headers
+ - Maintenance: Start following Inclusive Naming Initiative advice
+ - Maintenance: Sort source file lists in Makefiles
+ - Maintenance: Support plugin-style scripts for source format enforcement
+ - Cleanup: Deduplicating IPC strand messages
+ - ... and some compile and debugging fixes
+ - ... and all fixes from 4.15
+
Changes in squid-5.0.5 (02 Feb 2021):
- HTTP: Do not send Connection:keep-alive/close in HTTP Upgrade requests
@@ -90,6 +105,22 @@
- ... and much code cleanup and polishing
- ... and all fixes from 4.10
+Changes in squid-4.15 (10 May 2021):
+
+ - Bug 5112: Excessively loud chunked reply parsing error reporting
+ - Bug 5106: Broken cache manager URL parsing
+ - Bug 5104: Memory leak in RFC 2169 response parsing
+ - Bug 3556: "FD ... is not an open socket" for accept() problems
+ - Profiling: CPU timing implemented for MAC non-x86
+ - Fix HttpHeaderStats definition to include hoErrorDetail
+ - Fix Squid-to-client write_timeout triggers client_lifetime timeout
+ - Limit HeaderLookupTable_t::lookup() to BadHdr and specific IDs
+ - Handle more Range requests
+ - Handle more partial responses
+ - Stop processing a response if the Store entry is gone
+ - ... and some portability fixes
+ - ... and some documentation updates
+
Changes in squid-4.14 (02 Feb 2021):
- Regression Fix: support for non-lowercase Transfer-Encoding value
diff -u -r -N squid-5.0.5/compat/Makefile.am squid-5.0.6/compat/Makefile.am
--- squid-5.0.5/compat/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/compat/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -16,25 +16,25 @@
noinst_LTLIBRARIES = libcompatsquid.la
libcompatsquid_la_SOURCES = \
+ GnuRegex.c \
+ GnuRegex.h \
assert.cc \
assert.h \
cmsg.h \
compat.cc \
compat.h \
compat_shared.h \
- cpu.h \
cppunit.h \
+ cpu.h \
debug.cc \
debug.h \
- eui64_aton.h \
eui64_aton.c \
+ eui64_aton.h \
fdsetsize.h \
getaddrinfo.cc \
getaddrinfo.h \
getnameinfo.cc \
getnameinfo.h \
- GnuRegex.c \
- GnuRegex.h \
inet_ntop.cc \
inet_ntop.h \
inet_pton.cc \
@@ -42,19 +42,37 @@
initgroups.h \
memrchr.cc \
memrchr.h \
+ mswindows.cc \
openssl.h \
+ os/aix.h \
+ os/android.h \
+ os/dragonfly.h \
+ os/freebsd.h \
+ os/hpux.h \
+ os/linux.h \
+ os/macosx.h \
+ os/mswindows.h \
+ os/netbsd.h \
+ os/next.h \
+ os/openbsd.h \
+ os/opensolaris_10_netdb.h \
+ os/os2.h \
+ os/qnx.h \
+ os/sgi.h \
+ os/solaris.h \
+ os/sunos.h \
osdetect.h \
psignal.h \
shm.cc \
shm.h \
- statvfs.h \
statvfs.cc \
+ statvfs.h \
stdio.h \
stdvarargs.h \
+ strnrchr.c \
+ strnrchr.h \
strnstr.cc \
strtoll.h \
- strnrchr.h \
- strnrchr.c \
tempnam.h \
types.h \
valgrind.h \
@@ -66,35 +84,16 @@
xstring.cc \
xstring.h \
xstrto.cc \
- xstrto.h \
- \
- os/aix.h \
- os/android.h \
- os/dragonfly.h \
- os/freebsd.h \
- os/hpux.h \
- os/linux.h \
- os/macosx.h \
- os/mswindows.h \
- mswindows.cc \
- os/netbsd.h \
- os/next.h \
- os/openbsd.h \
- os/opensolaris_10_netdb.h \
- os/os2.h \
- os/qnx.h \
- os/sgi.h \
- os/solaris.h \
- os/sunos.h
+ xstrto.h
libcompatsquid_la_LIBADD= $(LTLIBOBJS)
check_PROGRAMS += testPreCompiler
TESTS += testPreCompiler
-testPreCompiler_SOURCES= \
- testPreCompiler.h \
- testPreCompiler.cc
+testPreCompiler_SOURCES = \
+ testPreCompiler.cc \
+ testPreCompiler.h
testPreCompiler_LDADD= $(LIBCPPUNIT_LIBS)
testPreCompiler_LDFLAGS=
diff -u -r -N squid-5.0.5/compat/Makefile.in squid-5.0.6/compat/Makefile.in
--- squid-5.0.5/compat/Makefile.in 2021-02-08 13:40:44.000000000 +1300
+++ squid-5.0.6/compat/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -169,11 +169,11 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libcompatsquid_la_DEPENDENCIES = $(LTLIBOBJS)
-am_libcompatsquid_la_OBJECTS = assert.lo compat.lo debug.lo \
- eui64_aton.lo getaddrinfo.lo getnameinfo.lo GnuRegex.lo \
- inet_ntop.lo inet_pton.lo memrchr.lo shm.lo statvfs.lo \
- strnstr.lo strnrchr.lo xalloc.lo xstrerror.lo xstring.lo \
- xstrto.lo mswindows.lo
+am_libcompatsquid_la_OBJECTS = GnuRegex.lo assert.lo compat.lo \
+ debug.lo eui64_aton.lo getaddrinfo.lo getnameinfo.lo \
+ inet_ntop.lo inet_pton.lo memrchr.lo mswindows.lo shm.lo \
+ statvfs.lo strnrchr.lo strnstr.lo xalloc.lo xstrerror.lo \
+ xstring.lo xstrto.lo
libcompatsquid_la_OBJECTS = $(am_libcompatsquid_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -760,25 +760,25 @@
# Port Specific Configurations
noinst_LTLIBRARIES = libcompatsquid.la
libcompatsquid_la_SOURCES = \
+ GnuRegex.c \
+ GnuRegex.h \
assert.cc \
assert.h \
cmsg.h \
compat.cc \
compat.h \
compat_shared.h \
- cpu.h \
cppunit.h \
+ cpu.h \
debug.cc \
debug.h \
- eui64_aton.h \
eui64_aton.c \
+ eui64_aton.h \
fdsetsize.h \
getaddrinfo.cc \
getaddrinfo.h \
getnameinfo.cc \
getnameinfo.h \
- GnuRegex.c \
- GnuRegex.h \
inet_ntop.cc \
inet_ntop.h \
inet_pton.cc \
@@ -786,19 +786,37 @@
initgroups.h \
memrchr.cc \
memrchr.h \
+ mswindows.cc \
openssl.h \
+ os/aix.h \
+ os/android.h \
+ os/dragonfly.h \
+ os/freebsd.h \
+ os/hpux.h \
+ os/linux.h \
+ os/macosx.h \
+ os/mswindows.h \
+ os/netbsd.h \
+ os/next.h \
+ os/openbsd.h \
+ os/opensolaris_10_netdb.h \
+ os/os2.h \
+ os/qnx.h \
+ os/sgi.h \
+ os/solaris.h \
+ os/sunos.h \
osdetect.h \
psignal.h \
shm.cc \
shm.h \
- statvfs.h \
statvfs.cc \
+ statvfs.h \
stdio.h \
stdvarargs.h \
+ strnrchr.c \
+ strnrchr.h \
strnstr.cc \
strtoll.h \
- strnrchr.h \
- strnrchr.c \
tempnam.h \
types.h \
valgrind.h \
@@ -810,31 +828,12 @@
xstring.cc \
xstring.h \
xstrto.cc \
- xstrto.h \
- \
- os/aix.h \
- os/android.h \
- os/dragonfly.h \
- os/freebsd.h \
- os/hpux.h \
- os/linux.h \
- os/macosx.h \
- os/mswindows.h \
- mswindows.cc \
- os/netbsd.h \
- os/next.h \
- os/openbsd.h \
- os/opensolaris_10_netdb.h \
- os/os2.h \
- os/qnx.h \
- os/sgi.h \
- os/solaris.h \
- os/sunos.h
+ xstrto.h
libcompatsquid_la_LIBADD = $(LTLIBOBJS)
testPreCompiler_SOURCES = \
- testPreCompiler.h \
- testPreCompiler.cc
+ testPreCompiler.cc \
+ testPreCompiler.h
testPreCompiler_LDADD = $(LIBCPPUNIT_LIBS)
testPreCompiler_LDFLAGS =
diff -u -r -N squid-5.0.5/compat/openssl.h squid-5.0.6/compat/openssl.h
--- squid-5.0.5/compat/openssl.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/compat/openssl.h 2021-05-10 21:02:34.000000000 +1200
@@ -222,6 +222,29 @@
#endif /* CRYPTO_LOCK_X509 */
#endif /* X509_up_ref */
+#if !HAVE_LIBCRYPTO_X509_CHAIN_UP_REF
+ inline STACK_OF(X509) *
+ X509_chain_up_ref(STACK_OF(X509) *chain)
+ {
+ if (STACK_OF(X509) *newChain = sk_X509_dup(chain)) {
+ bool error = false;
+ int i;
+ for (i = 0; !error && i < sk_X509_num(newChain); i++) {
+ X509 *cert = sk_X509_value(newChain, i);
+ if (!X509_up_ref(cert))
+ error = true;
+ }
+ if (!error)
+ return newChain;
+
+ for (int k = 0; k < i; k++)
+ X509_free(sk_X509_value(newChain, k));
+ sk_X509_free(newChain);
+ }
+ return nullptr;
+ }
+#endif /* X509_chain_up_ref */
+
#if !HAVE_LIBCRYPTO_X509_VERIFY_PARAM_GET_DEPTH
inline int
X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param)
@@ -230,6 +253,13 @@
}
#endif
+#if !HAVE_SSL_GET0_PARAM
+ inline X509_VERIFY_PARAM *
+ SSL_get0_param(SSL *ssl)
+ {
+ return ssl->param;
+ }
+#endif
} /* extern "C" */
inline void
diff -u -r -N squid-5.0.5/configure squid-5.0.6/configure
--- squid-5.0.5/configure 2021-02-08 13:40:49.000000000 +1300
+++ squid-5.0.6/configure 2021-05-10 22:57:57.000000000 +1200
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Revision.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Squid Web Proxy 5.0.5.
+# Generated by GNU Autoconf 2.69 for Squid Web Proxy 5.0.6.
#
# Report bugs to .
#
@@ -595,8 +595,8 @@
# Identity of this package.
PACKAGE_NAME='Squid Web Proxy'
PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='5.0.5'
-PACKAGE_STRING='Squid Web Proxy 5.0.5'
+PACKAGE_VERSION='5.0.6'
+PACKAGE_STRING='Squid Web Proxy 5.0.6'
PACKAGE_BUGREPORT='http://bugs.squid-cache.org/'
PACKAGE_URL=''
@@ -1662,7 +1662,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Squid Web Proxy 5.0.5 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 5.0.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1733,7 +1733,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Squid Web Proxy 5.0.5:";;
+ short | recursive ) echo "Configuration of Squid Web Proxy 5.0.6:";;
esac
cat <<\_ACEOF
@@ -2166,7 +2166,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Squid Web Proxy configure 5.0.5
+Squid Web Proxy configure 5.0.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3270,7 +3270,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Squid Web Proxy $as_me 5.0.5, which was
+It was created by Squid Web Proxy $as_me 5.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4132,7 +4132,7 @@
# Define the identity of the package.
PACKAGE='squid'
- VERSION='5.0.5'
+ VERSION='5.0.6'
cat >>confdefs.h <<_ACEOF
@@ -24254,6 +24254,9 @@
+
+
+
# save state, key is check_openssl_libcrypto_api
check_openssl_libcrypto_api_CFLAGS="${CFLAGS}"
check_openssl_libcrypto_api_CXXFLAGS="${CXXFLAGS}"
@@ -24680,6 +24683,47 @@
fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_VERIFY_PARAM_set_auth_level in -lcrypto" >&5
+$as_echo_n "checking for X509_VERIFY_PARAM_set_auth_level in -lcrypto... " >&6; }
+if ${ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypto $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char X509_VERIFY_PARAM_set_auth_level ();
+int
+main ()
+{
+return X509_VERIFY_PARAM_set_auth_level ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level=yes
+else
+ ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level" >&5
+$as_echo "$ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level" >&6; }
+if test "x$ac_cv_lib_crypto_X509_VERIFY_PARAM_set_auth_level" = xyes; then :
+ $as_echo "#define HAVE_X509_VERIFY_PARAM_SET_AUTH_LEVEL 1" >>confdefs.h
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_up_ref in -lcrypto" >&5
$as_echo_n "checking for X509_up_ref in -lcrypto... " >&6; }
if ${ac_cv_lib_crypto_X509_up_ref+:} false; then :
@@ -24721,6 +24765,47 @@
fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_chain_up_ref in -lcrypto" >&5
+$as_echo_n "checking for X509_chain_up_ref in -lcrypto... " >&6; }
+if ${ac_cv_lib_crypto_X509_chain_up_ref+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypto $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char X509_chain_up_ref ();
+int
+main ()
+{
+return X509_chain_up_ref ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_crypto_X509_chain_up_ref=yes
+else
+ ac_cv_lib_crypto_X509_chain_up_ref=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_X509_chain_up_ref" >&5
+$as_echo "$ac_cv_lib_crypto_X509_chain_up_ref" >&6; }
+if test "x$ac_cv_lib_crypto_X509_chain_up_ref" = xyes; then :
+ $as_echo "#define HAVE_LIBCRYPTO_X509_CHAIN_UP_REF 1" >>confdefs.h
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X509_CRL_up_ref in -lcrypto" >&5
$as_echo_n "checking for X509_CRL_up_ref in -lcrypto... " >&6; }
if ${ac_cv_lib_crypto_X509_CRL_up_ref+:} false; then :
@@ -24847,6 +24932,47 @@
fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_get0_param in -lcrypto" >&5
+$as_echo_n "checking for SSL_get0_param in -lcrypto... " >&6; }
+if ${ac_cv_lib_crypto_SSL_get0_param+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypto $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char SSL_get0_param ();
+int
+main ()
+{
+return SSL_get0_param ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_crypto_SSL_get0_param=yes
+else
+ ac_cv_lib_crypto_SSL_get0_param=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_SSL_get0_param" >&5
+$as_echo "$ac_cv_lib_crypto_SSL_get0_param" >&6; }
+if test "x$ac_cv_lib_crypto_SSL_get0_param" = xyes; then :
+ $as_echo "#define HAVE_SSL_GET0_PARAM 1" >>confdefs.h
+
+fi
+
# rollback state, key is check_openssl_libcrypto_api
CFLAGS="${check_openssl_libcrypto_api_CFLAGS}"
@@ -37760,6 +37886,17 @@
# Default OFF. This is a debug feature. Only check and enable if forced ON.
if test "x$enable_cpu_profiling" = "xyes"; then
+ for ac_func in clock_gettime_nsec_np
+do :
+ ac_fn_cxx_check_func "$LINENO" "clock_gettime_nsec_np" "ac_cv_func_clock_gettime_nsec_np"
+if test "x$ac_cv_func_clock_gettime_nsec_np" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_CLOCK_GETTIME_NSEC_NP 1
+_ACEOF
+
+fi
+done
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for operational CPU clock access" >&5
$as_echo_n "checking for operational CPU clock access... " >&6; }
@@ -37769,6 +37906,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include
#if defined(__GNUC__) && ( defined(__i386) || defined(__i386__) )
// okay
#elif defined(__GNUC__) && ( defined(__x86_64) || defined(__x86_64__) )
@@ -37777,6 +37915,8 @@
// okay
#elif defined(_M_IX86) && defined(_MSC_VER) /* x86 platform on Microsoft C Compiler ONLY */
// okay
+#elif defined(HAVE_CLOCK_GETTIME_NSEC_NP) && defined(CLOCK_MONOTONIC_RAW)
+// okay
#else
#error This CPU is unsupported. No profiling available here.
#endif
@@ -44207,7 +44347,7 @@
rm -f core
-ac_config_files="$ac_config_files Makefile compat/Makefile contrib/Makefile doc/Makefile doc/manuals/Makefile doc/release-notes/Makefile errors/Makefile icons/Makefile lib/Makefile lib/libTrie/Makefile lib/libTrie/test/Makefile lib/ntlmauth/Makefile lib/profiler/Makefile lib/rfcnb/Makefile lib/smblib/Makefile lib/snmplib/Makefile scripts/Makefile src/Makefile src/acl/Makefile src/acl/external/Makefile src/acl/external/AD_group/Makefile src/acl/external/delayer/Makefile src/acl/external/eDirectory_userip/Makefile src/acl/external/file_userip/Makefile src/acl/external/kerberos_ldap_group/Makefile src/acl/external/kerberos_sid_group/Makefile src/acl/external/LDAP_group/Makefile src/acl/external/LM_group/Makefile src/acl/external/session/Makefile src/acl/external/SQL_session/Makefile src/acl/external/unix_group/Makefile src/acl/external/wbinfo_group/Makefile src/acl/external/time_quota/Makefile src/adaptation/Makefile src/adaptation/icap/Makefile src/adaptation/ecap/Makefile src/anyp/Makefile src/auth/Makefile src/auth/basic/Makefile src/auth/basic/DB/Makefile src/auth/basic/fake/Makefile src/auth/basic/getpwnam/Makefile src/auth/basic/LDAP/Makefile src/auth/basic/NCSA/Makefile src/auth/basic/NIS/Makefile src/auth/basic/PAM/Makefile src/auth/basic/POP3/Makefile src/auth/basic/RADIUS/Makefile src/auth/basic/SASL/Makefile src/auth/basic/SMB/Makefile src/auth/basic/SMB_LM/Makefile src/auth/basic/SSPI/Makefile src/auth/digest/Makefile src/auth/digest/eDirectory/Makefile src/auth/digest/file/Makefile src/auth/digest/LDAP/Makefile src/auth/negotiate/Makefile src/auth/negotiate/kerberos/Makefile src/auth/negotiate/SSPI/Makefile src/auth/negotiate/wrapper/Makefile src/auth/ntlm/Makefile src/auth/ntlm/fake/Makefile src/auth/ntlm/SMB_LM/Makefile src/auth/ntlm/SSPI/Makefile src/base/Makefile src/clients/Makefile src/comm/Makefile src/dns/Makefile src/DiskIO/Makefile src/DiskIO/AIO/Makefile src/DiskIO/Blocking/Makefile src/DiskIO/DiskDaemon/Makefile src/DiskIO/DiskThreads/Makefile src/DiskIO/IpcIo/Makefile src/DiskIO/Mmapped/Makefile src/esi/Makefile src/eui/Makefile src/format/Makefile src/fs/Makefile src/ftp/Makefile src/helper/Makefile src/http/Makefile src/http/one/Makefile src/http/url_rewriters/Makefile src/http/url_rewriters/fake/Makefile src/http/url_rewriters/LFS/Makefile src/icmp/Makefile src/ident/Makefile src/ip/Makefile src/ipc/Makefile src/log/Makefile src/log/DB/Makefile src/log/file/Makefile src/mem/Makefile src/mgr/Makefile src/parser/Makefile src/proxyp/Makefile src/repl/Makefile src/sbuf/Makefile src/security/Makefile src/security/cert_generators/Makefile src/security/cert_generators/file/Makefile src/security/cert_validators/Makefile src/security/cert_validators/fake/Makefile src/servers/Makefile src/snmp/Makefile src/ssl/Makefile src/store/Makefile src/store/id_rewriters/Makefile src/store/id_rewriters/file/Makefile test-suite/Makefile tools/Makefile tools/apparmor/Makefile tools/helper-mux/Makefile tools/purge/Makefile tools/squidclient/Makefile tools/systemd/Makefile tools/sysvinit/Makefile"
+ac_config_files="$ac_config_files Makefile compat/Makefile contrib/Makefile doc/Makefile doc/manuals/Makefile doc/release-notes/Makefile errors/Makefile icons/Makefile lib/Makefile lib/libTrie/Makefile lib/libTrie/test/Makefile lib/ntlmauth/Makefile lib/profiler/Makefile lib/rfcnb/Makefile lib/smblib/Makefile lib/snmplib/Makefile scripts/Makefile src/Makefile src/acl/Makefile src/acl/external/Makefile src/acl/external/AD_group/Makefile src/acl/external/delayer/Makefile src/acl/external/eDirectory_userip/Makefile src/acl/external/file_userip/Makefile src/acl/external/kerberos_ldap_group/Makefile src/acl/external/kerberos_sid_group/Makefile src/acl/external/LDAP_group/Makefile src/acl/external/LM_group/Makefile src/acl/external/session/Makefile src/acl/external/SQL_session/Makefile src/acl/external/unix_group/Makefile src/acl/external/wbinfo_group/Makefile src/acl/external/time_quota/Makefile src/adaptation/Makefile src/adaptation/icap/Makefile src/adaptation/ecap/Makefile src/anyp/Makefile src/auth/Makefile src/auth/basic/Makefile src/auth/basic/DB/Makefile src/auth/basic/fake/Makefile src/auth/basic/getpwnam/Makefile src/auth/basic/LDAP/Makefile src/auth/basic/NCSA/Makefile src/auth/basic/NIS/Makefile src/auth/basic/PAM/Makefile src/auth/basic/POP3/Makefile src/auth/basic/RADIUS/Makefile src/auth/basic/SASL/Makefile src/auth/basic/SMB/Makefile src/auth/basic/SMB_LM/Makefile src/auth/basic/SSPI/Makefile src/auth/digest/Makefile src/auth/digest/eDirectory/Makefile src/auth/digest/file/Makefile src/auth/digest/LDAP/Makefile src/auth/negotiate/Makefile src/auth/negotiate/kerberos/Makefile src/auth/negotiate/SSPI/Makefile src/auth/negotiate/wrapper/Makefile src/auth/ntlm/Makefile src/auth/ntlm/fake/Makefile src/auth/ntlm/SMB_LM/Makefile src/auth/ntlm/SSPI/Makefile src/base/Makefile src/clients/Makefile src/comm/Makefile src/dns/Makefile src/DiskIO/Makefile src/DiskIO/AIO/Makefile src/DiskIO/Blocking/Makefile src/DiskIO/DiskDaemon/Makefile src/DiskIO/DiskThreads/Makefile src/DiskIO/IpcIo/Makefile src/DiskIO/Mmapped/Makefile src/error/Makefile src/esi/Makefile src/eui/Makefile src/format/Makefile src/fs/Makefile src/ftp/Makefile src/helper/Makefile src/http/Makefile src/http/one/Makefile src/http/url_rewriters/Makefile src/http/url_rewriters/fake/Makefile src/http/url_rewriters/LFS/Makefile src/icmp/Makefile src/ident/Makefile src/ip/Makefile src/ipc/Makefile src/log/Makefile src/log/DB/Makefile src/log/file/Makefile src/mem/Makefile src/mgr/Makefile src/parser/Makefile src/proxyp/Makefile src/repl/Makefile src/sbuf/Makefile src/security/Makefile src/security/cert_generators/Makefile src/security/cert_generators/file/Makefile src/security/cert_validators/Makefile src/security/cert_validators/fake/Makefile src/servers/Makefile src/snmp/Makefile src/ssl/Makefile src/store/Makefile src/store/id_rewriters/Makefile src/store/id_rewriters/file/Makefile test-suite/Makefile tools/Makefile tools/apparmor/Makefile tools/helper-mux/Makefile tools/purge/Makefile tools/squidclient/Makefile tools/systemd/Makefile tools/sysvinit/Makefile"
# must configure libltdl subdir unconditionally for "make distcheck" to work
@@ -44953,7 +45093,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Squid Web Proxy $as_me 5.0.5, which was
+This file was extended by Squid Web Proxy $as_me 5.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -45019,7 +45159,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Squid Web Proxy config.status 5.0.5
+Squid Web Proxy config.status 5.0.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -45607,6 +45747,7 @@
"src/DiskIO/DiskThreads/Makefile") CONFIG_FILES="$CONFIG_FILES src/DiskIO/DiskThreads/Makefile" ;;
"src/DiskIO/IpcIo/Makefile") CONFIG_FILES="$CONFIG_FILES src/DiskIO/IpcIo/Makefile" ;;
"src/DiskIO/Mmapped/Makefile") CONFIG_FILES="$CONFIG_FILES src/DiskIO/Mmapped/Makefile" ;;
+ "src/error/Makefile") CONFIG_FILES="$CONFIG_FILES src/error/Makefile" ;;
"src/esi/Makefile") CONFIG_FILES="$CONFIG_FILES src/esi/Makefile" ;;
"src/eui/Makefile") CONFIG_FILES="$CONFIG_FILES src/eui/Makefile" ;;
"src/format/Makefile") CONFIG_FILES="$CONFIG_FILES src/format/Makefile" ;;
diff -u -r -N squid-5.0.5/configure.ac squid-5.0.6/configure.ac
--- squid-5.0.5/configure.ac 2021-02-08 13:40:49.000000000 +1300
+++ squid-5.0.6/configure.ac 2021-05-10 22:57:57.000000000 +1200
@@ -5,7 +5,7 @@
## Please see the COPYING and CONTRIBUTORS files for details.
##
-AC_INIT([Squid Web Proxy],[5.0.5],[http://bugs.squid-cache.org/],[squid])
+AC_INIT([Squid Web Proxy],[5.0.6],[http://bugs.squid-cache.org/],[squid])
AC_PREREQ(2.61)
AC_CONFIG_HEADERS([include/autoconf.h])
AC_CONFIG_AUX_DIR(cfgaux)
@@ -2779,6 +2779,7 @@
])
# Default OFF. This is a debug feature. Only check and enable if forced ON.
if test "x$enable_cpu_profiling" = "xyes"; then
+ AC_CHECK_FUNCS(clock_gettime_nsec_np)
SQUID_CHECK_FUNCTIONAL_CPU_PROFILER
if test "x$squid_cv_cpu_profiler_works" = "xno"; then
AC_MSG_ERROR([CPU profiling will not be functional in this build.])
@@ -3900,6 +3901,7 @@
src/DiskIO/DiskThreads/Makefile
src/DiskIO/IpcIo/Makefile
src/DiskIO/Mmapped/Makefile
+ src/error/Makefile
src/esi/Makefile
src/eui/Makefile
src/format/Makefile
diff -u -r -N squid-5.0.5/CONTRIBUTORS squid-5.0.6/CONTRIBUTORS
--- squid-5.0.5/CONTRIBUTORS 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/CONTRIBUTORS 2021-05-10 21:02:34.000000000 +1200
@@ -105,6 +105,7 @@
Dan Searle
Dan Searle
Dave Dykstra
+ David Carlier
David Hill
David Isaacs
David J N Begley
@@ -250,6 +251,7 @@
Jorge Ivan Burgos Aguilar
Jose Luis Godoy
Jose-Marcio Martins da Cruz
+ Joshua Rogers
Joshua Root
Joshua Root
JPP
diff -u -r -N squid-5.0.5/doc/debug-sections.txt squid-5.0.6/doc/debug-sections.txt
--- squid-5.0.5/doc/debug-sections.txt 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/doc/debug-sections.txt 2021-05-10 21:02:34.000000000 +1200
@@ -18,6 +18,7 @@
section 03 Configuration File Parsing
section 03 Configuration Settings
section 04 Error Generation
+section 04 Error Management
section 05 Comm
section 05 Disk I/O pipe manager
section 05 Listener Socket Handler
@@ -139,6 +140,7 @@
section 82 External ACL
section 83 SSL accelerator support
section 83 SSL-Bump Server/Peer negotiation
+section 83 TLS I/O
section 83 TLS Server/Peer negotiation
section 83 TLS session management
section 84 Helper process maintenance
diff -u -r -N squid-5.0.5/doc/release-notes/release-5.html squid-5.0.6/doc/release-notes/release-5.html
--- squid-5.0.5/doc/release-notes/release-5.html 2021-02-08 13:46:34.000000000 +1300
+++ squid-5.0.6/doc/release-notes/release-5.html 2021-05-10 23:02:18.000000000 +1200
@@ -3,10 +3,10 @@
- Squid 5.0.5 release notes
+ Squid 5.0.6 release notes
-Squid 5.0.5 release notes
+Squid 5.0.6 release notes
Squid Developers
@@ -61,7 +61,7 @@
-The Squid Team are pleased to announce the release of Squid-5.0.5 for testing.
+The Squid Team are pleased to announce the release of Squid-5.0.6 for testing.
This new release is available for download from
http://www.squid-cache.org/Versions/v5/ or the
mirrors.
@@ -341,8 +341,12 @@
protocol version 2 TLV values.
New master_xaction code to display Squids internal
transaction ID.
-New CF value for %Ss code to indicate the response
+
New CF value for Ss code to indicate the response
was handled by Collapsed Forwarding.
+New TLS/1.3 value for ssl::>negotiated_version
+code to indicate the request was received from client using TLS/1.3.
+New TLS/1.3 value for ssl::<negotiated_version
+code to indicate the response was received from server using TLS/1.3.
Codes rm, <rm and >rm display "-"
instead of the made-up method NONE.
diff -u -r -N squid-5.0.5/errors/af/error-details.txt squid-5.0.6/errors/af/error-details.txt
--- squid-5.0.5/errors/af/error-details.txt 2021-02-08 13:41:31.000000000 +1300
+++ squid-5.0.6/errors/af/error-details.txt 2021-05-10 22:58:39.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ar/error-details.txt squid-5.0.6/errors/ar/error-details.txt
--- squid-5.0.5/errors/ar/error-details.txt 2021-02-08 13:41:36.000000000 +1300
+++ squid-5.0.6/errors/ar/error-details.txt 2021-05-10 22:58:44.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/az/error-details.txt squid-5.0.6/errors/az/error-details.txt
--- squid-5.0.5/errors/az/error-details.txt 2021-02-08 13:41:41.000000000 +1300
+++ squid-5.0.6/errors/az/error-details.txt 2021-05-10 22:58:49.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/bg/error-details.txt squid-5.0.6/errors/bg/error-details.txt
--- squid-5.0.5/errors/bg/error-details.txt 2021-02-08 13:41:46.000000000 +1300
+++ squid-5.0.6/errors/bg/error-details.txt 2021-05-10 22:58:54.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ca/error-details.txt squid-5.0.6/errors/ca/error-details.txt
--- squid-5.0.5/errors/ca/error-details.txt 2021-02-08 13:41:51.000000000 +1300
+++ squid-5.0.6/errors/ca/error-details.txt 2021-05-10 22:58:58.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/cs/error-details.txt squid-5.0.6/errors/cs/error-details.txt
--- squid-5.0.5/errors/cs/error-details.txt 2021-02-08 13:41:56.000000000 +1300
+++ squid-5.0.6/errors/cs/error-details.txt 2021-05-10 22:59:03.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/da/error-details.txt squid-5.0.6/errors/da/error-details.txt
--- squid-5.0.5/errors/da/error-details.txt 2021-02-08 13:42:01.000000000 +1300
+++ squid-5.0.6/errors/da/error-details.txt 2021-05-10 22:59:08.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/de/error-details.txt squid-5.0.6/errors/de/error-details.txt
--- squid-5.0.5/errors/de/error-details.txt 2021-02-08 13:42:06.000000000 +1300
+++ squid-5.0.6/errors/de/error-details.txt 2021-05-10 22:59:13.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/el/error-details.txt squid-5.0.6/errors/el/error-details.txt
--- squid-5.0.5/errors/el/error-details.txt 2021-02-08 13:42:12.000000000 +1300
+++ squid-5.0.6/errors/el/error-details.txt 2021-05-10 22:59:18.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/en/error-details.txt squid-5.0.6/errors/en/error-details.txt
--- squid-5.0.5/errors/en/error-details.txt 2021-02-08 13:42:19.000000000 +1300
+++ squid-5.0.6/errors/en/error-details.txt 2021-05-10 22:59:23.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/es/error-details.txt squid-5.0.6/errors/es/error-details.txt
--- squid-5.0.5/errors/es/error-details.txt 2021-02-08 13:42:34.000000000 +1300
+++ squid-5.0.6/errors/es/error-details.txt 2021-05-10 22:59:32.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/es-mx/error-details.txt squid-5.0.6/errors/es-mx/error-details.txt
--- squid-5.0.5/errors/es-mx/error-details.txt 2021-02-08 13:42:27.000000000 +1300
+++ squid-5.0.6/errors/es-mx/error-details.txt 2021-05-10 22:59:28.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/et/error-details.txt squid-5.0.6/errors/et/error-details.txt
--- squid-5.0.5/errors/et/error-details.txt 2021-02-08 13:42:41.000000000 +1300
+++ squid-5.0.6/errors/et/error-details.txt 2021-05-10 22:59:37.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/fa/error-details.txt squid-5.0.6/errors/fa/error-details.txt
--- squid-5.0.5/errors/fa/error-details.txt 2021-02-08 13:42:48.000000000 +1300
+++ squid-5.0.6/errors/fa/error-details.txt 2021-05-10 22:59:42.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/fi/error-details.txt squid-5.0.6/errors/fi/error-details.txt
--- squid-5.0.5/errors/fi/error-details.txt 2021-02-08 13:42:55.000000000 +1300
+++ squid-5.0.6/errors/fi/error-details.txt 2021-05-10 22:59:47.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/fr/error-details.txt squid-5.0.6/errors/fr/error-details.txt
--- squid-5.0.5/errors/fr/error-details.txt 2021-02-08 13:43:02.000000000 +1300
+++ squid-5.0.6/errors/fr/error-details.txt 2021-05-10 22:59:52.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/he/error-details.txt squid-5.0.6/errors/he/error-details.txt
--- squid-5.0.5/errors/he/error-details.txt 2021-02-08 13:43:09.000000000 +1300
+++ squid-5.0.6/errors/he/error-details.txt 2021-05-10 22:59:57.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/hu/error-details.txt squid-5.0.6/errors/hu/error-details.txt
--- squid-5.0.5/errors/hu/error-details.txt 2021-02-08 13:43:16.000000000 +1300
+++ squid-5.0.6/errors/hu/error-details.txt 2021-05-10 23:00:01.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/hy/error-details.txt squid-5.0.6/errors/hy/error-details.txt
--- squid-5.0.5/errors/hy/error-details.txt 2021-02-08 13:43:23.000000000 +1300
+++ squid-5.0.6/errors/hy/error-details.txt 2021-05-10 23:00:06.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/id/error-details.txt squid-5.0.6/errors/id/error-details.txt
--- squid-5.0.5/errors/id/error-details.txt 2021-02-08 13:43:30.000000000 +1300
+++ squid-5.0.6/errors/id/error-details.txt 2021-05-10 23:00:11.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/it/error-details.txt squid-5.0.6/errors/it/error-details.txt
--- squid-5.0.5/errors/it/error-details.txt 2021-02-08 13:43:37.000000000 +1300
+++ squid-5.0.6/errors/it/error-details.txt 2021-05-10 23:00:16.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ja/error-details.txt squid-5.0.6/errors/ja/error-details.txt
--- squid-5.0.5/errors/ja/error-details.txt 2021-02-08 13:43:44.000000000 +1300
+++ squid-5.0.6/errors/ja/error-details.txt 2021-05-10 23:00:21.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ka/error-details.txt squid-5.0.6/errors/ka/error-details.txt
--- squid-5.0.5/errors/ka/error-details.txt 2021-02-08 13:43:51.000000000 +1300
+++ squid-5.0.6/errors/ka/error-details.txt 2021-05-10 23:00:26.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ko/error-details.txt squid-5.0.6/errors/ko/error-details.txt
--- squid-5.0.5/errors/ko/error-details.txt 2021-02-08 13:43:58.000000000 +1300
+++ squid-5.0.6/errors/ko/error-details.txt 2021-05-10 23:00:31.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/lt/error-details.txt squid-5.0.6/errors/lt/error-details.txt
--- squid-5.0.5/errors/lt/error-details.txt 2021-02-08 13:44:05.000000000 +1300
+++ squid-5.0.6/errors/lt/error-details.txt 2021-05-10 23:00:35.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/lv/error-details.txt squid-5.0.6/errors/lv/error-details.txt
--- squid-5.0.5/errors/lv/error-details.txt 2021-02-08 13:44:12.000000000 +1300
+++ squid-5.0.6/errors/lv/error-details.txt 2021-05-10 23:00:40.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ms/error-details.txt squid-5.0.6/errors/ms/error-details.txt
--- squid-5.0.5/errors/ms/error-details.txt 2021-02-08 13:44:19.000000000 +1300
+++ squid-5.0.6/errors/ms/error-details.txt 2021-05-10 23:00:45.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/nl/error-details.txt squid-5.0.6/errors/nl/error-details.txt
--- squid-5.0.5/errors/nl/error-details.txt 2021-02-08 13:44:26.000000000 +1300
+++ squid-5.0.6/errors/nl/error-details.txt 2021-05-10 23:00:50.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/oc/error-details.txt squid-5.0.6/errors/oc/error-details.txt
--- squid-5.0.5/errors/oc/error-details.txt 2021-02-08 13:44:33.000000000 +1300
+++ squid-5.0.6/errors/oc/error-details.txt 2021-05-10 23:00:55.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/pl/error-details.txt squid-5.0.6/errors/pl/error-details.txt
--- squid-5.0.5/errors/pl/error-details.txt 2021-02-08 13:44:40.000000000 +1300
+++ squid-5.0.6/errors/pl/error-details.txt 2021-05-10 23:01:00.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/pt/error-details.txt squid-5.0.6/errors/pt/error-details.txt
--- squid-5.0.5/errors/pt/error-details.txt 2021-02-08 13:44:54.000000000 +1300
+++ squid-5.0.6/errors/pt/error-details.txt 2021-05-10 23:01:09.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/pt-br/error-details.txt squid-5.0.6/errors/pt-br/error-details.txt
--- squid-5.0.5/errors/pt-br/error-details.txt 2021-02-08 13:44:47.000000000 +1300
+++ squid-5.0.6/errors/pt-br/error-details.txt 2021-05-10 23:01:04.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ro/error-details.txt squid-5.0.6/errors/ro/error-details.txt
--- squid-5.0.5/errors/ro/error-details.txt 2021-02-08 13:45:01.000000000 +1300
+++ squid-5.0.6/errors/ro/error-details.txt 2021-05-10 23:01:14.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/ru/error-details.txt squid-5.0.6/errors/ru/error-details.txt
--- squid-5.0.5/errors/ru/error-details.txt 2021-02-08 13:45:08.000000000 +1300
+++ squid-5.0.6/errors/ru/error-details.txt 2021-05-10 23:01:19.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/sk/error-details.txt squid-5.0.6/errors/sk/error-details.txt
--- squid-5.0.5/errors/sk/error-details.txt 2021-02-08 13:45:15.000000000 +1300
+++ squid-5.0.6/errors/sk/error-details.txt 2021-05-10 23:01:24.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/sl/error-details.txt squid-5.0.6/errors/sl/error-details.txt
--- squid-5.0.5/errors/sl/error-details.txt 2021-02-08 13:45:22.000000000 +1300
+++ squid-5.0.6/errors/sl/error-details.txt 2021-05-10 23:01:29.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/sr-cyrl/error-details.txt squid-5.0.6/errors/sr-cyrl/error-details.txt
--- squid-5.0.5/errors/sr-cyrl/error-details.txt 2021-02-08 13:45:29.000000000 +1300
+++ squid-5.0.6/errors/sr-cyrl/error-details.txt 2021-05-10 23:01:34.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/sr-latn/error-details.txt squid-5.0.6/errors/sr-latn/error-details.txt
--- squid-5.0.5/errors/sr-latn/error-details.txt 2021-02-08 13:45:36.000000000 +1300
+++ squid-5.0.6/errors/sr-latn/error-details.txt 2021-05-10 23:01:38.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/sv/error-details.txt squid-5.0.6/errors/sv/error-details.txt
--- squid-5.0.5/errors/sv/error-details.txt 2021-02-08 13:45:44.000000000 +1300
+++ squid-5.0.6/errors/sv/error-details.txt 2021-05-10 23:01:43.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/templates/error-details.txt squid-5.0.6/errors/templates/error-details.txt
--- squid-5.0.5/errors/templates/error-details.txt 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/errors/templates/error-details.txt 2021-05-10 21:02:34.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/th/error-details.txt squid-5.0.6/errors/th/error-details.txt
--- squid-5.0.5/errors/th/error-details.txt 2021-02-08 13:45:51.000000000 +1300
+++ squid-5.0.6/errors/th/error-details.txt 2021-05-10 23:01:48.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/tr/error-details.txt squid-5.0.6/errors/tr/error-details.txt
--- squid-5.0.5/errors/tr/error-details.txt 2021-02-08 13:45:58.000000000 +1300
+++ squid-5.0.6/errors/tr/error-details.txt 2021-05-10 23:01:53.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/TRANSLATORS squid-5.0.6/errors/TRANSLATORS
--- squid-5.0.5/errors/TRANSLATORS 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/errors/TRANSLATORS 2021-05-10 21:02:34.000000000 +1200
@@ -110,7 +110,7 @@
Russian Andrew L. Davydov
Serbian Zoran Verovski
Serbian Dragutin Cirkovic
-Simplify Chinese Wang DaQing
+Simplified Chinese Wang DaQing
Slovak Peter Hanecak
Spanish Javier Puche
Spanish Roberto Lumbreras
diff -u -r -N squid-5.0.5/errors/uk/error-details.txt squid-5.0.6/errors/uk/error-details.txt
--- squid-5.0.5/errors/uk/error-details.txt 2021-02-08 13:46:05.000000000 +1300
+++ squid-5.0.6/errors/uk/error-details.txt 2021-05-10 23:01:58.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/uz/error-details.txt squid-5.0.6/errors/uz/error-details.txt
--- squid-5.0.5/errors/uz/error-details.txt 2021-02-08 13:46:12.000000000 +1300
+++ squid-5.0.6/errors/uz/error-details.txt 2021-05-10 23:02:03.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/vi/error-details.txt squid-5.0.6/errors/vi/error-details.txt
--- squid-5.0.5/errors/vi/error-details.txt 2021-02-08 13:46:19.000000000 +1300
+++ squid-5.0.6/errors/vi/error-details.txt 2021-05-10 23:02:08.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/zh-hans/error-details.txt squid-5.0.6/errors/zh-hans/error-details.txt
--- squid-5.0.5/errors/zh-hans/error-details.txt 2021-02-08 13:46:26.000000000 +1300
+++ squid-5.0.6/errors/zh-hans/error-details.txt 2021-05-10 23:02:12.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/errors/zh-hant/error-details.txt squid-5.0.6/errors/zh-hant/error-details.txt
--- squid-5.0.5/errors/zh-hant/error-details.txt 2021-02-08 13:46:33.000000000 +1300
+++ squid-5.0.6/errors/zh-hant/error-details.txt 2021-05-10 23:02:17.000000000 +1200
@@ -2,9 +2,13 @@
detail: "%ssl_error_descr: %ssl_subject"
descr: "Cert validation infinite loop detected"
-name: SQUID_ERR_SSL_HANDSHAKE
+name: SQUID_TLS_ERR_ACCEPT
detail: "%ssl_error_descr: %ssl_lib_error"
-descr: "Handshake with SSL server failed"
+descr: "Failed to accept a secure connection"
+
+name: SQUID_TLS_ERR_CONNECT
+detail: "%ssl_error_descr: %ssl_lib_error"
+descr: "Failed to establish a secure connection"
name: SQUID_X509_V_ERR_DOMAIN_MISMATCH
detail: "%ssl_error_descr: %ssl_subject"
diff -u -r -N squid-5.0.5/include/autoconf.h.in squid-5.0.6/include/autoconf.h.in
--- squid-5.0.5/include/autoconf.h.in 2021-02-08 13:40:43.000000000 +1300
+++ squid-5.0.6/include/autoconf.h.in 2021-05-10 22:57:50.000000000 +1200
@@ -118,6 +118,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_BYTESWAP_H
+/* Define to 1 if you have the `clock_gettime_nsec_np' function. */
+#undef HAVE_CLOCK_GETTIME_NSEC_NP
+
/* Define to 1 if you have the `closedir' function. */
#undef HAVE_CLOSEDIR
@@ -519,6 +522,9 @@
/* "Define to 1 if the OPENSSL_LH_strhash() OpenSSL API function exists" */
#undef HAVE_LIBCRYPTO_OPENSSL_LH_STRHASH
+/* "Define to 1 if the X509_chain_up_ref() OpenSSL API function exists" */
+#undef HAVE_LIBCRYPTO_X509_CHAIN_UP_REF
+
/* "Define to 1 if the X509_CRL_up_ref() OpenSSL API function exists" */
#undef HAVE_LIBCRYPTO_X509_CRL_UP_REF
@@ -981,6 +987,9 @@
/* SSL_CTX_get0_certificate is available */
#undef HAVE_SSL_CTX_GET0_CERTIFICATE
+/* "Define to 1 of the SSL_get0_param() OpenSSL API function exists" */
+#undef HAVE_SSL_GET0_PARAM
+
/* Define if sockaddr_storage has field ss_len */
#undef HAVE_SS_LEN_IN_SS
@@ -1250,6 +1259,10 @@
/* Define to 1 if you have the header file. */
#undef HAVE_WS2TCPIP_H
+/* "Define to 1 if the X509_VERIFY_PARAM_set_auth_level() OpenSSL API function
+ exists" */
+#undef HAVE_X509_VERIFY_PARAM_SET_AUTH_LEVEL
+
/* Define to 1 if you have the `__htole16' function. */
#undef HAVE___HTOLE16
diff -u -r -N squid-5.0.5/include/version.h squid-5.0.6/include/version.h
--- squid-5.0.5/include/version.h 2021-02-08 13:40:49.000000000 +1300
+++ squid-5.0.6/include/version.h 2021-05-10 22:57:57.000000000 +1200
@@ -7,7 +7,7 @@
*/
#ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1612744840
+#define SQUID_RELEASE_TIME 1620644267
#endif
/*
diff -u -r -N squid-5.0.5/lib/libTrie/Makefile.am squid-5.0.6/lib/libTrie/Makefile.am
--- squid-5.0.5/lib/libTrie/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/libTrie/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -15,8 +15,9 @@
noinst_HEADERS = Trie.h TrieNode.h TrieCharTransform.h
-libTrie_a_SOURCES = Trie.cc \
+libTrie_a_SOURCES = \
+ Trie.cc \
Trie.h \
+ TrieCharTransform.h \
TrieNode.cc \
- TrieNode.h \
- TrieCharTransform.h
+ TrieNode.h
diff -u -r -N squid-5.0.5/lib/libTrie/Makefile.in squid-5.0.6/lib/libTrie/Makefile.in
--- squid-5.0.5/lib/libTrie/Makefile.in 2021-02-08 13:40:44.000000000 +1300
+++ squid-5.0.6/lib/libTrie/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -779,11 +779,12 @@
SUBDIRS = . test
noinst_LIBRARIES = libTrie.a
noinst_HEADERS = Trie.h TrieNode.h TrieCharTransform.h
-libTrie_a_SOURCES = Trie.cc \
+libTrie_a_SOURCES = \
+ Trie.cc \
Trie.h \
+ TrieCharTransform.h \
TrieNode.cc \
- TrieNode.h \
- TrieCharTransform.h
+ TrieNode.h
all: all-recursive
diff -u -r -N squid-5.0.5/lib/Makefile.am squid-5.0.6/lib/Makefile.am
--- squid-5.0.5/lib/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -66,13 +66,13 @@
hash.cc
libmiscutil_la_SOURCES = \
+ $(SNPRINTFSOURCE) \
+ Splay.cc \
getfullhostname.c \
heap.c \
iso3307.c \
radix.c \
rfc1123.c \
- $(SNPRINTFSOURCE) \
- Splay.cc \
stub_memaccount.c \
util.c \
xusleep.c
@@ -81,9 +81,9 @@
check_PROGRAMS += tests/testRFC1738
-tests_testRFC1738_SOURCES= \
- tests/testRFC1738.h \
- tests/testRFC1738.cc
+tests_testRFC1738_SOURCES = \
+ tests/testRFC1738.cc \
+ tests/testRFC1738.h
tests_testRFC1738_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/lib/Makefile.in squid-5.0.6/lib/Makefile.in
--- squid-5.0.5/lib/Makefile.in 2021-02-08 13:40:44.000000000 +1300
+++ squid-5.0.6/lib/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -189,8 +189,8 @@
rfc1738.lo rfc2617.lo
libmiscencoding_la_OBJECTS = $(am_libmiscencoding_la_OBJECTS)
libmiscutil_la_LIBADD =
-am_libmiscutil_la_OBJECTS = getfullhostname.lo heap.lo iso3307.lo \
- radix.lo rfc1123.lo Splay.lo stub_memaccount.lo util.lo \
+am_libmiscutil_la_OBJECTS = Splay.lo getfullhostname.lo heap.lo \
+ iso3307.lo radix.lo rfc1123.lo stub_memaccount.lo util.lo \
xusleep.lo
libmiscutil_la_OBJECTS = $(am_libmiscutil_la_OBJECTS)
libsspwin32_la_LIBADD =
@@ -850,20 +850,20 @@
hash.cc
libmiscutil_la_SOURCES = \
+ $(SNPRINTFSOURCE) \
+ Splay.cc \
getfullhostname.c \
heap.c \
iso3307.c \
radix.c \
rfc1123.c \
- $(SNPRINTFSOURCE) \
- Splay.cc \
stub_memaccount.c \
util.c \
xusleep.c
tests_testRFC1738_SOURCES = \
- tests/testRFC1738.h \
- tests/testRFC1738.cc
+ tests/testRFC1738.cc \
+ tests/testRFC1738.h
tests_testRFC1738_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/lib/profiler/get_tick.h squid-5.0.6/lib/profiler/get_tick.h
--- squid-5.0.5/lib/profiler/get_tick.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/profiler/get_tick.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,6 +10,7 @@
#define _PROFILER_GET_TICK_H_
#if USE_XPROF_STATS
+#include
/*
* Ensure that any changes here are synchronised with SQUID_CHECK_FUNCTIONAL_CPU_PROFILER
@@ -67,6 +68,14 @@
return regs;
}
+#elif defined(HAVE_CLOCK_GETTIME_NSEC_NP) && defined(CLOCK_MONOTONIC_RAW)
+
+static inline hrtime_t
+get_tick()
+{
+ return clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW);
+}
+
#else
/* This CPU is unsupported. Short-circuit, no profiling here */
// #error for configure tests to prevent library construction
diff -u -r -N squid-5.0.5/lib/rfcnb/Makefile.am squid-5.0.6/lib/rfcnb/Makefile.am
--- squid-5.0.5/lib/rfcnb/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/rfcnb/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -13,14 +13,13 @@
librfcnb_la_SOURCES = \
byteorder.h \
- rfcnb.h \
rfcnb-common.h \
rfcnb-error.h \
- rfcnb-priv.h \
- rfcnb-util.h \
- rfcnb-io.h \
rfcnb-io.c \
+ rfcnb-io.h \
+ rfcnb-priv.h \
rfcnb-util.c \
rfcnb-util.h \
+ rfcnb.h \
session.c \
std-includes.h
diff -u -r -N squid-5.0.5/lib/rfcnb/Makefile.in squid-5.0.6/lib/rfcnb/Makefile.in
--- squid-5.0.5/lib/rfcnb/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/lib/rfcnb/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -709,15 +709,14 @@
noinst_LTLIBRARIES = librfcnb.la
librfcnb_la_SOURCES = \
byteorder.h \
- rfcnb.h \
rfcnb-common.h \
rfcnb-error.h \
- rfcnb-priv.h \
- rfcnb-util.h \
- rfcnb-io.h \
rfcnb-io.c \
+ rfcnb-io.h \
+ rfcnb-priv.h \
rfcnb-util.c \
rfcnb-util.h \
+ rfcnb.h \
session.c \
std-includes.h
diff -u -r -N squid-5.0.5/lib/smblib/Makefile.am squid-5.0.6/lib/smblib/Makefile.am
--- squid-5.0.5/lib/smblib/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/smblib/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -14,13 +14,13 @@
libsmblib_la_SOURCES = \
md4.c \
md4.h \
- smblib.c \
- smblib.h \
+ smbdes.c \
+ smbdes.h \
+ smbencrypt.c \
+ smbencrypt.h \
smblib-common.h \
smblib-priv.h \
smblib-util.c \
- smbencrypt.c \
- smbencrypt.h \
- smbdes.c \
- smbdes.h \
+ smblib.c \
+ smblib.h \
std-defines.h
diff -u -r -N squid-5.0.5/lib/smblib/Makefile.in squid-5.0.6/lib/smblib/Makefile.in
--- squid-5.0.5/lib/smblib/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/lib/smblib/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -165,8 +165,8 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libsmblib_la_LIBADD =
-am_libsmblib_la_OBJECTS = md4.lo smblib.lo smblib-util.lo \
- smbencrypt.lo smbdes.lo
+am_libsmblib_la_OBJECTS = md4.lo smbdes.lo smbencrypt.lo \
+ smblib-util.lo smblib.lo
libsmblib_la_OBJECTS = $(am_libsmblib_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -712,15 +712,15 @@
libsmblib_la_SOURCES = \
md4.c \
md4.h \
- smblib.c \
- smblib.h \
+ smbdes.c \
+ smbdes.h \
+ smbencrypt.c \
+ smbencrypt.h \
smblib-common.h \
smblib-priv.h \
smblib-util.c \
- smbencrypt.c \
- smbencrypt.h \
- smbdes.c \
- smbdes.h \
+ smblib.c \
+ smblib.h \
std-defines.h
all: all-am
diff -u -r -N squid-5.0.5/lib/snmplib/Makefile.am squid-5.0.6/lib/snmplib/Makefile.am
--- squid-5.0.5/lib/snmplib/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/lib/snmplib/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -17,11 +17,18 @@
-I$(top_srcdir)/include
noinst_LTLIBRARIES = libsnmplib.la
-libsnmplib_la_SOURCES = asn1.c parse.c snmp_vars.c \
- coexistance.c snmp_api.c snmp_error.c \
- mib.c snmp_api_error.c \
+libsnmplib_la_SOURCES = \
+ asn1.c \
+ coexistance.c \
+ mib.c \
+ parse.c \
+ snmp_api.c \
+ snmp_api_error.c \
+ snmp_error.c \
snmp_msg.c \
- snmp_pdu.c snmplib_debug.c
+ snmp_pdu.c \
+ snmp_vars.c \
+ snmplib_debug.c
VERSION = 3.4
DEFS = -DSQUID_SNMP=1
diff -u -r -N squid-5.0.5/lib/snmplib/Makefile.in squid-5.0.6/lib/snmplib/Makefile.in
--- squid-5.0.5/lib/snmplib/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/lib/snmplib/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -162,9 +162,9 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libsnmplib_la_LIBADD =
-am_libsnmplib_la_OBJECTS = asn1.lo parse.lo snmp_vars.lo \
- coexistance.lo snmp_api.lo snmp_error.lo mib.lo \
- snmp_api_error.lo snmp_msg.lo snmp_pdu.lo snmplib_debug.lo
+am_libsnmplib_la_OBJECTS = asn1.lo coexistance.lo mib.lo parse.lo \
+ snmp_api.lo snmp_api_error.lo snmp_error.lo snmp_msg.lo \
+ snmp_pdu.lo snmp_vars.lo snmplib_debug.lo
libsnmplib_la_OBJECTS = $(am_libsnmplib_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -479,11 +479,18 @@
-I$(top_srcdir)/include
noinst_LTLIBRARIES = libsnmplib.la
-libsnmplib_la_SOURCES = asn1.c parse.c snmp_vars.c \
- coexistance.c snmp_api.c snmp_error.c \
- mib.c snmp_api_error.c \
+libsnmplib_la_SOURCES = \
+ asn1.c \
+ coexistance.c \
+ mib.c \
+ parse.c \
+ snmp_api.c \
+ snmp_api_error.c \
+ snmp_error.c \
snmp_msg.c \
- snmp_pdu.c snmplib_debug.c
+ snmp_pdu.c \
+ snmp_vars.c \
+ snmplib_debug.c
all: all-am
diff -u -r -N squid-5.0.5/RELEASENOTES.html squid-5.0.6/RELEASENOTES.html
--- squid-5.0.5/RELEASENOTES.html 2021-02-08 13:46:34.000000000 +1300
+++ squid-5.0.6/RELEASENOTES.html 2021-05-10 23:02:18.000000000 +1200
@@ -3,10 +3,10 @@
- Squid 5.0.5 release notes
+ Squid 5.0.6 release notes
-Squid 5.0.5 release notes
+Squid 5.0.6 release notes
Squid Developers
@@ -61,7 +61,7 @@
-The Squid Team are pleased to announce the release of Squid-5.0.5 for testing.
+The Squid Team are pleased to announce the release of Squid-5.0.6 for testing.
This new release is available for download from
http://www.squid-cache.org/Versions/v5/ or the
mirrors.
@@ -341,8 +341,12 @@
protocol version 2 TLV values.
New master_xaction code to display Squids internal
transaction ID.
-New CF value for %Ss code to indicate the response
+
New CF value for Ss code to indicate the response
was handled by Collapsed Forwarding.
+New TLS/1.3 value for ssl::>negotiated_version
+code to indicate the request was received from client using TLS/1.3.
+New TLS/1.3 value for ssl::<negotiated_version
+code to indicate the response was received from server using TLS/1.3.
Codes rm, <rm and >rm display "-"
instead of the made-up method NONE.
diff -u -r -N squid-5.0.5/scripts/calc-must-ids.pl squid-5.0.6/scripts/calc-must-ids.pl
--- squid-5.0.5/scripts/calc-must-ids.pl 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/scripts/calc-must-ids.pl 2021-05-10 21:02:34.000000000 +1200
@@ -66,7 +66,7 @@
$line =~ s@/[*].*?[*]/@@; # strip simple single-line /* comments */
my($id);
- if ($line =~ /\bMust2?\s*\(/ || # Must(...) and Must2(...)
+ if ($line =~ /\bMust\s*\(/ || # Must(...)
$line =~ /\bTexcHere\s*\(/ || # TexcHere(...)
$line =~ /\bHere\s*\(\s*\)/) { # Here()
$line =~ s/^\s*//;
diff -u -r -N squid-5.0.5/scripts/calc-must-ids.sh squid-5.0.6/scripts/calc-must-ids.sh
--- squid-5.0.5/scripts/calc-must-ids.sh 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/scripts/calc-must-ids.sh 2021-05-10 21:02:34.000000000 +1200
@@ -23,7 +23,7 @@
xargs `dirname $0`/calc-must-ids.pl
else
find . -name "*.cc" -o -name "*.h" -o -name "*.cci" | \
- xargs `dirname $0`/calc-must-ids.pl | grep ": $1 "
+ xargs `dirname $0`/calc-must-ids.pl | grep -Ei ": (0x)?$1 "
fi
diff -u -r -N squid-5.0.5/SPONSORS squid-5.0.6/SPONSORS
--- squid-5.0.5/SPONSORS 2021-02-08 13:40:49.000000000 +1300
+++ squid-5.0.6/SPONSORS 2021-05-10 22:57:57.000000000 +1200
@@ -8,7 +8,7 @@
developers and users.
-DigialOcean - https://www.digitalocean.com/
+DigitalOcean - https://www.digitalocean.com/
DigitalOcean has donated droplets from their cloud infrastructure
to host most of Squid Project's continuous integration farm.
diff -u -r -N squid-5.0.5/src/AccessLogEntry.cc squid-5.0.6/src/AccessLogEntry.cc
--- squid-5.0.5/src/AccessLogEntry.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/AccessLogEntry.cc 2021-05-10 21:02:34.000000000 +1200
@@ -175,6 +175,27 @@
return nullptr;
}
+const Error *
+AccessLogEntry::error() const
+{
+ // the order ensures that the first-imported error is returned
+ if (error_) // updateError() was called before importing the request
+ return &error_;
+ if (request && request->error) // request was imported before updateError()
+ return &request->error;
+ return nullptr; // we imported no errors and no requests
+}
+
+void
+AccessLogEntry::updateError(const Error &err)
+{
+ // the order ensures that error() returns the first-imported error
+ if (request)
+ request->error.update(err);
+ else
+ error_.update(err);
+}
+
void
AccessLogEntry::packReplyHeaders(MemBuf &mb) const
{
diff -u -r -N squid-5.0.5/src/AccessLogEntry.h squid-5.0.6/src/AccessLogEntry.h
--- squid-5.0.5/src/AccessLogEntry.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/AccessLogEntry.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#include "anyp/PortCfg.h"
#include "base/CodeContext.h"
#include "comm/Connection.h"
+#include "error/Error.h"
#include "HierarchyLogEntry.h"
#include "http/ProtocolVersion.h"
#include "http/RequestMethod.h"
@@ -255,7 +256,17 @@
virginUrlForMissingRequest_ = vu;
}
+ /// \returns stored transaction error information (or nil)
+ const Error *error() const;
+
+ /// sets (or updates the already stored) transaction error as needed
+ void updateError(const Error &);
+
private:
+ /// transaction problem
+ /// if set, overrides (and should eventually replace) request->error
+ Error error_;
+
/// Client URI (or equivalent) for effectiveVirginUrl() when HttpRequest is
/// missing. This member is ignored unless the request member is nil.
SBuf virginUrlForMissingRequest_;
diff -u -r -N squid-5.0.5/src/acl/AclDenyInfoList.h squid-5.0.6/src/acl/AclDenyInfoList.h
--- squid-5.0.5/src/acl/AclDenyInfoList.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/AclDenyInfoList.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
#define SQUID_ACLDENYINFOLIST_H_
#include "acl/forward.h"
-#include "err_type.h"
+#include "error/forward.h"
#include "errorpage.h"
#include "mem/forward.h"
#include "sbuf/forward.h"
diff -u -r -N squid-5.0.5/src/acl/Asn.cc squid-5.0.6/src/acl/Asn.cc
--- squid-5.0.5/src/acl/Asn.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/Asn.cc 2021-05-10 21:02:34.000000000 +1200
@@ -595,7 +595,7 @@
const ipcache_addrs *ia = ipcache_gethostbyname(checklist->request->url.host(), IP_LOOKUP_IF_MISS);
if (ia) {
- for (const auto ip: ia->goodAndBad()) {
+ for (const auto &ip: ia->goodAndBad()) {
if (data->match(ip))
return 1;
}
diff -u -r -N squid-5.0.5/src/acl/DestinationIp.cc squid-5.0.6/src/acl/DestinationIp.cc
--- squid-5.0.5/src/acl/DestinationIp.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/DestinationIp.cc 2021-05-10 21:02:34.000000000 +1200
@@ -67,7 +67,7 @@
if (ia) {
/* Entry in cache found */
- for (const auto ip: ia->goodAndBad()) {
+ for (const auto &ip: ia->goodAndBad()) {
if (ACLIP::match(ip))
return 1;
}
diff -u -r -N squid-5.0.5/src/acl/external/delayer/ext_delayer_acl.8 squid-5.0.6/src/acl/external/delayer/ext_delayer_acl.8
--- squid-5.0.5/src/acl/external/delayer/ext_delayer_acl.8 2021-02-08 13:46:37.000000000 +1300
+++ squid-5.0.6/src/acl/external/delayer/ext_delayer_acl.8 2021-05-10 23:02:22.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_DELAYER_ACL 8"
-.TH EXT_DELAYER_ACL 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH EXT_DELAYER_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/acl/external/file_userip/Makefile.am squid-5.0.6/src/acl/external/file_userip/Makefile.am
--- squid-5.0.5/src/acl/external/file_userip/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/file_userip/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
libexec_PROGRAMS = ext_file_userip_acl
man_MANS = ext_file_userip_acl.8
-ext_file_userip_acl_SOURCES= \
+ext_file_userip_acl_SOURCES = \
ext_file_userip_acl.cc
ext_file_userip_acl_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/acl/external/kerberos_ldap_group/Makefile.am squid-5.0.6/src/acl/external/kerberos_ldap_group/Makefile.am
--- squid-5.0.5/src/acl/external/kerberos_ldap_group/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/kerberos_ldap_group/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -23,14 +23,14 @@
kerberos_ldap_group.cc \
support.h \
support_group.cc \
- support_netbios.cc \
- support_member.cc \
support_krb5.cc \
support_ldap.cc \
- support_sasl.cc \
- support_resolv.cc \
+ support_log.cc \
support_lserver.cc \
- support_log.cc
+ support_member.cc \
+ support_netbios.cc \
+ support_resolv.cc \
+ support_sasl.cc
ext_kerberos_ldap_group_acl_LDFLAGS =
ext_kerberos_ldap_group_acl_LDADD = \
diff -u -r -N squid-5.0.5/src/acl/external/kerberos_ldap_group/Makefile.in squid-5.0.6/src/acl/external/kerberos_ldap_group/Makefile.in
--- squid-5.0.5/src/acl/external/kerberos_ldap_group/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/acl/external/kerberos_ldap_group/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -169,10 +169,10 @@
PROGRAMS = $(libexec_PROGRAMS)
am_ext_kerberos_ldap_group_acl_OBJECTS = \
kerberos_ldap_group.$(OBJEXT) support_group.$(OBJEXT) \
- support_netbios.$(OBJEXT) support_member.$(OBJEXT) \
support_krb5.$(OBJEXT) support_ldap.$(OBJEXT) \
- support_sasl.$(OBJEXT) support_resolv.$(OBJEXT) \
- support_lserver.$(OBJEXT) support_log.$(OBJEXT)
+ support_log.$(OBJEXT) support_lserver.$(OBJEXT) \
+ support_member.$(OBJEXT) support_netbios.$(OBJEXT) \
+ support_resolv.$(OBJEXT) support_sasl.$(OBJEXT)
ext_kerberos_ldap_group_acl_OBJECTS = \
$(am_ext_kerberos_ldap_group_acl_OBJECTS)
@ENABLE_XPROF_STATS_TRUE@am__DEPENDENCIES_1 = $(top_builddir)/lib/profiler/libprofiler.la
@@ -762,14 +762,14 @@
kerberos_ldap_group.cc \
support.h \
support_group.cc \
- support_netbios.cc \
- support_member.cc \
support_krb5.cc \
support_ldap.cc \
- support_sasl.cc \
- support_resolv.cc \
+ support_log.cc \
support_lserver.cc \
- support_log.cc
+ support_member.cc \
+ support_netbios.cc \
+ support_resolv.cc \
+ support_sasl.cc
ext_kerberos_ldap_group_acl_LDFLAGS =
ext_kerberos_ldap_group_acl_LDADD = \
diff -u -r -N squid-5.0.5/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 squid-5.0.6/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8
--- squid-5.0.5/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 2021-02-08 13:46:37.000000000 +1300
+++ squid-5.0.6/src/acl/external/kerberos_sid_group/ext_kerberos_sid_group_acl.8 2021-05-10 23:02:22.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_KERBEROS_SID_GROUP_ACL 8"
-.TH EXT_KERBEROS_SID_GROUP_ACL 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH EXT_KERBEROS_SID_GROUP_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/acl/external/LDAP_group/Makefile.am squid-5.0.6/src/acl/external/LDAP_group/Makefile.am
--- squid-5.0.5/src/acl/external/LDAP_group/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/LDAP_group/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
libexec_PROGRAMS= ext_ldap_group_acl
man_MANS= ext_ldap_group_acl.8
-ext_ldap_group_acl_SOURCES= \
+ext_ldap_group_acl_SOURCES = \
ext_ldap_group_acl.cc
ext_ldap_group_acl_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/acl/external/LM_group/Makefile.am squid-5.0.6/src/acl/external/LM_group/Makefile.am
--- squid-5.0.5/src/acl/external/LM_group/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/LM_group/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
libexec_PROGRAMS= ext_lm_group_acl
man_MANS= ext_lm_group_acl.8
-ext_lm_group_acl_SOURCES= ext_lm_group_acl.cc
+ext_lm_group_acl_SOURCES = ext_lm_group_acl.cc
ext_lm_group_acl_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
$(COMPAT_LIB) \
diff -u -r -N squid-5.0.5/src/acl/external/session/Makefile.am squid-5.0.6/src/acl/external/session/Makefile.am
--- squid-5.0.5/src/acl/external/session/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/session/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
libexec_PROGRAMS= ext_session_acl
man_MANS= ext_session_acl.8
-ext_session_acl_SOURCES= \
+ext_session_acl_SOURCES = \
ext_session_acl.cc
ext_session_acl_LDADD = \
$(COMPAT_LIB) \
diff -u -r -N squid-5.0.5/src/acl/external/SQL_session/ext_sql_session_acl.8 squid-5.0.6/src/acl/external/SQL_session/ext_sql_session_acl.8
--- squid-5.0.5/src/acl/external/SQL_session/ext_sql_session_acl.8 2021-02-08 13:46:37.000000000 +1300
+++ squid-5.0.6/src/acl/external/SQL_session/ext_sql_session_acl.8 2021-05-10 23:02:22.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_SQL_SESSION_ACL 8"
-.TH EXT_SQL_SESSION_ACL 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH EXT_SQL_SESSION_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/acl/external/time_quota/Makefile.am squid-5.0.6/src/acl/external/time_quota/Makefile.am
--- squid-5.0.5/src/acl/external/time_quota/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/time_quota/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -12,7 +12,7 @@
DEFS += -DDEFAULT_QUOTA_DB=\"$(localstatedir)/ext_time_quota.db\"
-ext_time_quota_acl_SOURCES= \
+ext_time_quota_acl_SOURCES = \
ext_time_quota_acl.cc
ext_time_quota_acl_LDADD = \
$(COMPAT_LIB) \
diff -u -r -N squid-5.0.5/src/acl/external/unix_group/Makefile.am squid-5.0.6/src/acl/external/unix_group/Makefile.am
--- squid-5.0.5/src/acl/external/unix_group/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/external/unix_group/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
man_MANS = ext_unix_group_acl.8
EXTRA_DIST = ext_unix_group_acl.8 required.m4
-ext_unix_group_acl_SOURCES= \
+ext_unix_group_acl_SOURCES = \
check_group.cc
ext_unix_group_acl_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 squid-5.0.6/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8
--- squid-5.0.5/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2021-02-08 13:46:37.000000000 +1300
+++ squid-5.0.6/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2021-05-10 23:02:22.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_WBINFO_GROUP_ACL 8"
-.TH EXT_WBINFO_GROUP_ACL 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH EXT_WBINFO_GROUP_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/acl/FilledChecklist.h squid-5.0.6/src/acl/FilledChecklist.h
--- squid-5.0.5/src/acl/FilledChecklist.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/FilledChecklist.h 2021-05-10 21:02:34.000000000 +1200
@@ -13,7 +13,7 @@
#include "acl/Checklist.h"
#include "acl/forward.h"
#include "base/CbcPointer.h"
-#include "err_type.h"
+#include "error/forward.h"
#include "ip/Address.h"
#if USE_AUTH
#include "auth/UserRequest.h"
diff -u -r -N squid-5.0.5/src/acl/Gadgets.h squid-5.0.6/src/acl/Gadgets.h
--- squid-5.0.5/src/acl/Gadgets.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/Gadgets.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
#define SQUID_ACL_GADGETS_H
#include "acl/forward.h"
-#include "err_type.h"
+#include "error/forward.h"
#include
diff -u -r -N squid-5.0.5/src/acl/Makefile.am squid-5.0.6/src/acl/Makefile.am
--- squid-5.0.5/src/acl/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -20,39 +20,32 @@
BoolOps.h \
Checklist.cc \
Checklist.h \
- forward.h \
InnerNode.cc \
InnerNode.h \
- Options.h \
Options.cc \
+ Options.h \
Tree.cc \
- Tree.h
+ Tree.h \
+ forward.h
## Data-dependent Squid/transaction state used by specific ACLs.
## Does not refer to specific ACLs to avoid circular dependencies.
libstate_la_SOURCES = \
+ Address.cc \
+ Address.h \
CharacterSetOption.h \
Data.h \
- Strategy.h \
- Strategised.cc \
- Strategised.h \
FilledChecklist.cc \
FilledChecklist.h \
- Address.h \
- Address.cc
+ Strategised.cc \
+ Strategised.h \
+ Strategy.h
## data-specific ACLs
libacls_la_SOURCES = \
- IntRange.cc \
- IntRange.h \
- RegexData.cc \
- RegexData.h \
- StringData.cc \
- StringData.h \
- Time.cc \
- Time.h \
- TimeData.cc \
- TimeData.h \
+ AclDenyInfoList.h \
+ AclSizeLimit.cc \
+ AclSizeLimit.h \
AllOf.cc \
AllOf.h \
AnnotateClient.cc \
@@ -69,10 +62,10 @@
AtStep.h \
AtStepData.cc \
AtStepData.h \
- ConnectionsEncrypted.cc \
- ConnectionsEncrypted.h \
ConnMark.cc \
ConnMark.h \
+ ConnectionsEncrypted.cc \
+ ConnectionsEncrypted.h \
DestinationAsn.h \
DestinationDomain.cc \
DestinationDomain.h \
@@ -82,14 +75,16 @@
DomainData.h \
ExtUser.cc \
ExtUser.h \
+ Gadgets.cc \
+ Gadgets.h \
HasComponent.cc \
HasComponent.h \
HasComponentData.cc \
HasComponentData.h \
- HierCodeData.cc \
- HierCodeData.h \
HierCode.cc \
HierCode.h \
+ HierCodeData.cc \
+ HierCodeData.h \
HttpHeaderData.cc \
HttpHeaderData.h \
HttpRepHeader.cc \
@@ -98,6 +93,8 @@
HttpReqHeader.h \
HttpStatus.cc \
HttpStatus.h \
+ IntRange.cc \
+ IntRange.h \
Ip.cc \
Ip.h \
LocalIp.cc \
@@ -107,23 +104,25 @@
MaxConnection.cc \
MaxConnection.h \
Method.cc \
+ Method.h \
MethodData.cc \
MethodData.h \
- Method.h \
MyPortName.cc \
MyPortName.h \
- Note.h \
Note.cc \
- NoteData.h \
+ Note.h \
NoteData.cc \
+ NoteData.h \
PeerName.cc \
PeerName.h \
Protocol.cc \
+ Protocol.h \
ProtocolData.cc \
ProtocolData.h \
- Protocol.h \
Random.cc \
Random.h \
+ RegexData.cc \
+ RegexData.h \
ReplyHeaderStrategy.h \
ReplyMimeType.h \
RequestHeaderStrategy.h \
@@ -133,12 +132,18 @@
SourceDomain.h \
SourceIp.cc \
SourceIp.h \
- SquidError.h \
SquidError.cc \
+ SquidError.h \
SquidErrorData.cc \
SquidErrorData.h \
+ StringData.cc \
+ StringData.h \
Tag.cc \
Tag.h \
+ Time.cc \
+ Time.h \
+ TimeData.cc \
+ TimeData.h \
TransactionInitiator.cc \
TransactionInitiator.h \
Url.cc \
@@ -150,12 +155,7 @@
UrlPort.cc \
UrlPort.h \
UserData.cc \
- UserData.h \
- AclDenyInfoList.h \
- Gadgets.cc \
- Gadgets.h \
- AclSizeLimit.cc \
- AclSizeLimit.h
+ UserData.h
## Add conditional sources
## TODO: move these to their respective dirs when those dirs are created
diff -u -r -N squid-5.0.5/src/acl/Makefile.in squid-5.0.6/src/acl/Makefile.in
--- squid-5.0.5/src/acl/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/acl/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -167,39 +167,40 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libacls_la_LIBADD =
-am__libacls_la_SOURCES_DIST = IntRange.cc IntRange.h RegexData.cc \
- RegexData.h StringData.cc StringData.h Time.cc Time.h \
- TimeData.cc TimeData.h AllOf.cc AllOf.h AnnotateClient.cc \
+am__libacls_la_SOURCES_DIST = AclDenyInfoList.h AclSizeLimit.cc \
+ AclSizeLimit.h AllOf.cc AllOf.h AnnotateClient.cc \
AnnotateClient.h AnnotateTransaction.cc AnnotateTransaction.h \
AnnotationData.cc AnnotationData.h AnyOf.cc AnyOf.h Asn.cc \
Asn.h AtStep.cc AtStep.h AtStepData.cc AtStepData.h \
- ConnectionsEncrypted.cc ConnectionsEncrypted.h ConnMark.cc \
- ConnMark.h DestinationAsn.h DestinationDomain.cc \
+ ConnMark.cc ConnMark.h ConnectionsEncrypted.cc \
+ ConnectionsEncrypted.h DestinationAsn.h DestinationDomain.cc \
DestinationDomain.h DestinationIp.cc DestinationIp.h \
- DomainData.cc DomainData.h ExtUser.cc ExtUser.h \
- HasComponent.cc HasComponent.h HasComponentData.cc \
- HasComponentData.h HierCodeData.cc HierCodeData.h HierCode.cc \
- HierCode.h HttpHeaderData.cc HttpHeaderData.h HttpRepHeader.cc \
- HttpRepHeader.h HttpReqHeader.cc HttpReqHeader.h HttpStatus.cc \
- HttpStatus.h Ip.cc Ip.h LocalIp.cc LocalIp.h LocalPort.cc \
+ DomainData.cc DomainData.h ExtUser.cc ExtUser.h Gadgets.cc \
+ Gadgets.h HasComponent.cc HasComponent.h HasComponentData.cc \
+ HasComponentData.h HierCode.cc HierCode.h HierCodeData.cc \
+ HierCodeData.h HttpHeaderData.cc HttpHeaderData.h \
+ HttpRepHeader.cc HttpRepHeader.h HttpReqHeader.cc \
+ HttpReqHeader.h HttpStatus.cc HttpStatus.h IntRange.cc \
+ IntRange.h Ip.cc Ip.h LocalIp.cc LocalIp.h LocalPort.cc \
LocalPort.h MaxConnection.cc MaxConnection.h Method.cc \
- MethodData.cc MethodData.h Method.h MyPortName.cc MyPortName.h \
- Note.h Note.cc NoteData.h NoteData.cc PeerName.cc PeerName.h \
- Protocol.cc ProtocolData.cc ProtocolData.h Protocol.h \
- Random.cc Random.h ReplyHeaderStrategy.h ReplyMimeType.h \
- RequestHeaderStrategy.h RequestMimeType.h SourceAsn.h \
- SourceDomain.cc SourceDomain.h SourceIp.cc SourceIp.h \
- SquidError.h SquidError.cc SquidErrorData.cc SquidErrorData.h \
- Tag.cc Tag.h TransactionInitiator.cc TransactionInitiator.h \
- Url.cc Url.h UrlLogin.cc UrlLogin.h UrlPath.cc UrlPath.h \
- UrlPort.cc UrlPort.h UserData.cc UserData.h AclDenyInfoList.h \
- Gadgets.cc Gadgets.h AclSizeLimit.cc AclSizeLimit.h \
- CertificateData.cc CertificateData.h Certificate.cc \
- Certificate.h ServerCertificate.cc ServerCertificate.h \
- ServerName.cc ServerName.h SslError.cc SslError.h \
- SslErrorData.cc SslErrorData.h AdaptationService.h \
- AdaptationService.cc AdaptationServiceData.h \
- AdaptationServiceData.cc Arp.cc Arp.h Eui64.cc Eui64.h
+ Method.h MethodData.cc MethodData.h MyPortName.cc MyPortName.h \
+ Note.cc Note.h NoteData.cc NoteData.h PeerName.cc PeerName.h \
+ Protocol.cc Protocol.h ProtocolData.cc ProtocolData.h \
+ Random.cc Random.h RegexData.cc RegexData.h \
+ ReplyHeaderStrategy.h ReplyMimeType.h RequestHeaderStrategy.h \
+ RequestMimeType.h SourceAsn.h SourceDomain.cc SourceDomain.h \
+ SourceIp.cc SourceIp.h SquidError.cc SquidError.h \
+ SquidErrorData.cc SquidErrorData.h StringData.cc StringData.h \
+ Tag.cc Tag.h Time.cc Time.h TimeData.cc TimeData.h \
+ TransactionInitiator.cc TransactionInitiator.h Url.cc Url.h \
+ UrlLogin.cc UrlLogin.h UrlPath.cc UrlPath.h UrlPort.cc \
+ UrlPort.h UserData.cc UserData.h CertificateData.cc \
+ CertificateData.h Certificate.cc Certificate.h \
+ ServerCertificate.cc ServerCertificate.h ServerName.cc \
+ ServerName.h SslError.cc SslError.h SslErrorData.cc \
+ SslErrorData.h AdaptationService.h AdaptationService.cc \
+ AdaptationServiceData.h AdaptationServiceData.cc Arp.cc Arp.h \
+ Eui64.cc Eui64.h
am__objects_1 = CertificateData.lo Certificate.lo ServerCertificate.lo \
ServerName.lo SslError.lo SslErrorData.lo
@ENABLE_SSL_TRUE@am__objects_2 = $(am__objects_1)
@@ -207,20 +208,20 @@
@ENABLE_ADAPTATION_TRUE@am__objects_4 = $(am__objects_3)
am__objects_5 = Arp.lo Eui64.lo
@ENABLE_EUI_TRUE@am__objects_6 = $(am__objects_5)
-am_libacls_la_OBJECTS = IntRange.lo RegexData.lo StringData.lo Time.lo \
- TimeData.lo AllOf.lo AnnotateClient.lo AnnotateTransaction.lo \
- AnnotationData.lo AnyOf.lo Asn.lo AtStep.lo AtStepData.lo \
- ConnectionsEncrypted.lo ConnMark.lo DestinationDomain.lo \
- DestinationIp.lo DomainData.lo ExtUser.lo HasComponent.lo \
- HasComponentData.lo HierCodeData.lo HierCode.lo \
- HttpHeaderData.lo HttpRepHeader.lo HttpReqHeader.lo \
- HttpStatus.lo Ip.lo LocalIp.lo LocalPort.lo MaxConnection.lo \
- Method.lo MethodData.lo MyPortName.lo Note.lo NoteData.lo \
- PeerName.lo Protocol.lo ProtocolData.lo Random.lo \
- SourceDomain.lo SourceIp.lo SquidError.lo SquidErrorData.lo \
- Tag.lo TransactionInitiator.lo Url.lo UrlLogin.lo UrlPath.lo \
- UrlPort.lo UserData.lo Gadgets.lo AclSizeLimit.lo \
- $(am__objects_2) $(am__objects_4) $(am__objects_6)
+am_libacls_la_OBJECTS = AclSizeLimit.lo AllOf.lo AnnotateClient.lo \
+ AnnotateTransaction.lo AnnotationData.lo AnyOf.lo Asn.lo \
+ AtStep.lo AtStepData.lo ConnMark.lo ConnectionsEncrypted.lo \
+ DestinationDomain.lo DestinationIp.lo DomainData.lo ExtUser.lo \
+ Gadgets.lo HasComponent.lo HasComponentData.lo HierCode.lo \
+ HierCodeData.lo HttpHeaderData.lo HttpRepHeader.lo \
+ HttpReqHeader.lo HttpStatus.lo IntRange.lo Ip.lo LocalIp.lo \
+ LocalPort.lo MaxConnection.lo Method.lo MethodData.lo \
+ MyPortName.lo Note.lo NoteData.lo PeerName.lo Protocol.lo \
+ ProtocolData.lo Random.lo RegexData.lo SourceDomain.lo \
+ SourceIp.lo SquidError.lo SquidErrorData.lo StringData.lo \
+ Tag.lo Time.lo TimeData.lo TransactionInitiator.lo Url.lo \
+ UrlLogin.lo UrlPath.lo UrlPort.lo UserData.lo $(am__objects_2) \
+ $(am__objects_4) $(am__objects_6)
libacls_la_OBJECTS = $(am_libacls_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -231,7 +232,7 @@
Options.lo Tree.lo
libapi_la_OBJECTS = $(am_libapi_la_OBJECTS)
libstate_la_LIBADD =
-am_libstate_la_OBJECTS = Strategised.lo FilledChecklist.lo Address.lo
+am_libstate_la_OBJECTS = Address.lo FilledChecklist.lo Strategised.lo
libstate_la_OBJECTS = $(am_libstate_la_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -879,52 +880,53 @@
BoolOps.h \
Checklist.cc \
Checklist.h \
- forward.h \
InnerNode.cc \
InnerNode.h \
- Options.h \
Options.cc \
+ Options.h \
Tree.cc \
- Tree.h
+ Tree.h \
+ forward.h
libstate_la_SOURCES = \
+ Address.cc \
+ Address.h \
CharacterSetOption.h \
Data.h \
- Strategy.h \
- Strategised.cc \
- Strategised.h \
FilledChecklist.cc \
FilledChecklist.h \
- Address.h \
- Address.cc
+ Strategised.cc \
+ Strategised.h \
+ Strategy.h
-libacls_la_SOURCES = IntRange.cc IntRange.h RegexData.cc RegexData.h \
- StringData.cc StringData.h Time.cc Time.h TimeData.cc \
- TimeData.h AllOf.cc AllOf.h AnnotateClient.cc AnnotateClient.h \
+libacls_la_SOURCES = AclDenyInfoList.h AclSizeLimit.cc AclSizeLimit.h \
+ AllOf.cc AllOf.h AnnotateClient.cc AnnotateClient.h \
AnnotateTransaction.cc AnnotateTransaction.h AnnotationData.cc \
AnnotationData.h AnyOf.cc AnyOf.h Asn.cc Asn.h AtStep.cc \
- AtStep.h AtStepData.cc AtStepData.h ConnectionsEncrypted.cc \
- ConnectionsEncrypted.h ConnMark.cc ConnMark.h DestinationAsn.h \
- DestinationDomain.cc DestinationDomain.h DestinationIp.cc \
- DestinationIp.h DomainData.cc DomainData.h ExtUser.cc \
- ExtUser.h HasComponent.cc HasComponent.h HasComponentData.cc \
- HasComponentData.h HierCodeData.cc HierCodeData.h HierCode.cc \
- HierCode.h HttpHeaderData.cc HttpHeaderData.h HttpRepHeader.cc \
+ AtStep.h AtStepData.cc AtStepData.h ConnMark.cc ConnMark.h \
+ ConnectionsEncrypted.cc ConnectionsEncrypted.h \
+ DestinationAsn.h DestinationDomain.cc DestinationDomain.h \
+ DestinationIp.cc DestinationIp.h DomainData.cc DomainData.h \
+ ExtUser.cc ExtUser.h Gadgets.cc Gadgets.h HasComponent.cc \
+ HasComponent.h HasComponentData.cc HasComponentData.h \
+ HierCode.cc HierCode.h HierCodeData.cc HierCodeData.h \
+ HttpHeaderData.cc HttpHeaderData.h HttpRepHeader.cc \
HttpRepHeader.h HttpReqHeader.cc HttpReqHeader.h HttpStatus.cc \
- HttpStatus.h Ip.cc Ip.h LocalIp.cc LocalIp.h LocalPort.cc \
- LocalPort.h MaxConnection.cc MaxConnection.h Method.cc \
- MethodData.cc MethodData.h Method.h MyPortName.cc MyPortName.h \
- Note.h Note.cc NoteData.h NoteData.cc PeerName.cc PeerName.h \
- Protocol.cc ProtocolData.cc ProtocolData.h Protocol.h \
- Random.cc Random.h ReplyHeaderStrategy.h ReplyMimeType.h \
+ HttpStatus.h IntRange.cc IntRange.h Ip.cc Ip.h LocalIp.cc \
+ LocalIp.h LocalPort.cc LocalPort.h MaxConnection.cc \
+ MaxConnection.h Method.cc Method.h MethodData.cc MethodData.h \
+ MyPortName.cc MyPortName.h Note.cc Note.h NoteData.cc \
+ NoteData.h PeerName.cc PeerName.h Protocol.cc Protocol.h \
+ ProtocolData.cc ProtocolData.h Random.cc Random.h RegexData.cc \
+ RegexData.h ReplyHeaderStrategy.h ReplyMimeType.h \
RequestHeaderStrategy.h RequestMimeType.h SourceAsn.h \
SourceDomain.cc SourceDomain.h SourceIp.cc SourceIp.h \
- SquidError.h SquidError.cc SquidErrorData.cc SquidErrorData.h \
- Tag.cc Tag.h TransactionInitiator.cc TransactionInitiator.h \
- Url.cc Url.h UrlLogin.cc UrlLogin.h UrlPath.cc UrlPath.h \
- UrlPort.cc UrlPort.h UserData.cc UserData.h AclDenyInfoList.h \
- Gadgets.cc Gadgets.h AclSizeLimit.cc AclSizeLimit.h \
- $(am__append_2) $(am__append_3) $(am__append_4)
+ SquidError.cc SquidError.h SquidErrorData.cc SquidErrorData.h \
+ StringData.cc StringData.h Tag.cc Tag.h Time.cc Time.h \
+ TimeData.cc TimeData.h TransactionInitiator.cc \
+ TransactionInitiator.h Url.cc Url.h UrlLogin.cc UrlLogin.h \
+ UrlPath.cc UrlPath.h UrlPort.cc UrlPort.h UserData.cc \
+ UserData.h $(am__append_2) $(am__append_3) $(am__append_4)
EXTRA_libacls_la_SOURCES = $(SSL_ACLS) $(ADAPT_ACLS) $(ARP_ACLS)
SSL_ACLS = \
CertificateData.cc \
diff -u -r -N squid-5.0.5/src/acl/SquidError.cc squid-5.0.6/src/acl/SquidError.cc
--- squid-5.0.5/src/acl/SquidError.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/SquidError.cc 2021-05-10 21:02:34.000000000 +1200
@@ -17,7 +17,7 @@
if (checklist->requestErrorType != ERR_MAX)
return data->match(checklist->requestErrorType);
else if (checklist->request)
- return data->match(checklist->request->errType);
+ return data->match(checklist->request->error.category);
return 0;
}
diff -u -r -N squid-5.0.5/src/acl/SquidErrorData.cc squid-5.0.6/src/acl/SquidErrorData.cc
--- squid-5.0.5/src/acl/SquidErrorData.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/SquidErrorData.cc 2021-05-10 21:02:34.000000000 +1200
@@ -12,7 +12,7 @@
#include "cache_cf.h"
#include "ConfigParser.h"
#include "Debug.h"
-#include "err_type.h"
+#include "error/Error.h"
#include "fatal.h"
#include "wordlist.h"
diff -u -r -N squid-5.0.5/src/acl/SquidErrorData.h squid-5.0.6/src/acl/SquidErrorData.h
--- squid-5.0.5/src/acl/SquidErrorData.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/SquidErrorData.h 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
#include "acl/Data.h"
#include "base/CbDataList.h"
-#include "err_type.h"
+#include "error/forward.h"
/// \ingroup ACLAPI
class ACLSquidErrorData : public ACLData
diff -u -r -N squid-5.0.5/src/acl/SquidError.h squid-5.0.6/src/acl/SquidError.h
--- squid-5.0.5/src/acl/SquidError.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/acl/SquidError.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
#define SQUID_ACLSQUIDERROR_H
#include "acl/Strategy.h"
-#include "err_type.h"
+#include "error/forward.h"
class ACLSquidErrorStrategy : public ACLStrategy
{
diff -u -r -N squid-5.0.5/src/adaptation/ecap/Makefile.am squid-5.0.6/src/adaptation/ecap/Makefile.am
--- squid-5.0.5/src/adaptation/ecap/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/ecap/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,18 +11,17 @@
noinst_LTLIBRARIES = libecapsquid.la
libecapsquid_la_SOURCES = \
- Config.h \
Config.cc \
- Host.h \
+ Config.h \
Host.cc \
- MessageRep.h \
+ Host.h \
MessageRep.cc \
- ServiceRep.h \
+ MessageRep.h \
+ Registry.h \
ServiceRep.cc \
- XactionRep.h \
+ ServiceRep.h \
XactionRep.cc \
- \
- Registry.h
+ XactionRep.h
# add libecap using its pkg-config-produced configuration variables
libecapsquid_la_CXXFLAGS = $(EXT_LIBECAP_CFLAGS)
diff -u -r -N squid-5.0.5/src/adaptation/ecap/Makefile.in squid-5.0.6/src/adaptation/ecap/Makefile.in
--- squid-5.0.5/src/adaptation/ecap/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/adaptation/ecap/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -739,18 +739,17 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libecapsquid.la
libecapsquid_la_SOURCES = \
- Config.h \
Config.cc \
- Host.h \
+ Config.h \
Host.cc \
- MessageRep.h \
+ Host.h \
MessageRep.cc \
- ServiceRep.h \
+ MessageRep.h \
+ Registry.h \
ServiceRep.cc \
- XactionRep.h \
+ ServiceRep.h \
XactionRep.cc \
- \
- Registry.h
+ XactionRep.h
# add libecap using its pkg-config-produced configuration variables
diff -u -r -N squid-5.0.5/src/adaptation/icap/Makefile.am squid-5.0.6/src/adaptation/icap/Makefile.am
--- squid-5.0.5/src/adaptation/icap/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -13,24 +13,24 @@
libicap_la_SOURCES = \
Client.cc \
Client.h \
- InOut.h \
Config.cc \
Config.h \
Elements.cc \
Elements.h \
- Options.cc \
- Options.h \
- ServiceRep.cc \
- ServiceRep.h \
+ History.cc \
+ History.h \
+ InOut.h \
Launcher.cc \
Launcher.h \
+ ModXact.cc \
+ ModXact.h \
OptXact.cc \
OptXact.h \
+ Options.cc \
+ Options.h \
+ ServiceRep.cc \
+ ServiceRep.h \
Xaction.cc \
Xaction.h \
- ModXact.cc \
- ModXact.h \
icap_log.cc \
- icap_log.h \
- History.cc \
- History.h
+ icap_log.h
diff -u -r -N squid-5.0.5/src/adaptation/icap/Makefile.in squid-5.0.6/src/adaptation/icap/Makefile.in
--- squid-5.0.5/src/adaptation/icap/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -164,9 +164,9 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libicap_la_LIBADD =
-am_libicap_la_OBJECTS = Client.lo Config.lo Elements.lo Options.lo \
- ServiceRep.lo Launcher.lo OptXact.lo Xaction.lo ModXact.lo \
- icap_log.lo History.lo
+am_libicap_la_OBJECTS = Client.lo Config.lo Elements.lo History.lo \
+ Launcher.lo ModXact.lo OptXact.lo Options.lo ServiceRep.lo \
+ Xaction.lo icap_log.lo
libicap_la_OBJECTS = $(am_libicap_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -737,27 +737,27 @@
libicap_la_SOURCES = \
Client.cc \
Client.h \
- InOut.h \
Config.cc \
Config.h \
Elements.cc \
Elements.h \
- Options.cc \
- Options.h \
- ServiceRep.cc \
- ServiceRep.h \
+ History.cc \
+ History.h \
+ InOut.h \
Launcher.cc \
Launcher.h \
+ ModXact.cc \
+ ModXact.h \
OptXact.cc \
OptXact.h \
+ Options.cc \
+ Options.h \
+ ServiceRep.cc \
+ ServiceRep.h \
Xaction.cc \
Xaction.h \
- ModXact.cc \
- ModXact.h \
icap_log.cc \
- icap_log.h \
- History.cc \
- History.h
+ icap_log.h
all: all-am
diff -u -r -N squid-5.0.5/src/adaptation/icap/ModXact.cc squid-5.0.6/src/adaptation/icap/ModXact.cc
--- squid-5.0.5/src/adaptation/icap/ModXact.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/ModXact.cc 2021-05-10 21:02:34.000000000 +1200
@@ -24,7 +24,8 @@
#include "base64.h"
#include "comm.h"
#include "comm/Connection.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
+#include "error/ExceptionErrorDetail.h"
#include "http/ContentLengthInterpreter.h"
#include "HttpHeaderTools.h"
#include "HttpReply.h"
@@ -670,9 +671,9 @@
if (!canStartBypass || isRetriable) {
if (!isRetriable) {
if (const TextException *te = dynamic_cast(&e))
- detailError(ERR_DETAIL_EXCEPTION_START + te->id());
+ detailError(new ExceptionErrorDetail(te->id()));
else
- detailError(ERR_DETAIL_EXCEPTION_OTHER);
+ detailError(new ExceptionErrorDetail(Here().id()));
}
Adaptation::Icap::Xaction::callException(e);
return;
@@ -683,10 +684,10 @@
e.what() << ' ' << status());
bypassFailure();
} catch (const TextException &bypassTe) {
- detailError(ERR_DETAIL_EXCEPTION_START + bypassTe.id());
+ detailError(new ExceptionErrorDetail(bypassTe.id()));
Adaptation::Icap::Xaction::callException(bypassTe);
} catch (const std::exception &bypassE) {
- detailError(ERR_DETAIL_EXCEPTION_OTHER);
+ detailError(new ExceptionErrorDetail(Here().id()));
Adaptation::Icap::Xaction::callException(bypassE);
}
}
@@ -1281,7 +1282,8 @@
// adapted body consumer aborted
void Adaptation::Icap::ModXact::noteBodyConsumerAborted(BodyPipe::Pointer)
{
- detailError(ERR_DETAIL_ICAP_XACT_BODY_CONSUMER_ABORT);
+ static const auto d = MakeNamedErrorDetail("ICAP_XACT_BODY_CONSUMER_ABORT");
+ detailError(d);
mustStop("adapted body consumer aborted");
}
@@ -1299,8 +1301,10 @@
stopWriting(false);
stopSending(false);
- if (theInitiator.set()) // we have not sent the answer to the initiator
- detailError(ERR_DETAIL_ICAP_XACT_OTHER);
+ if (theInitiator.set()) { // we have not sent the answer to the initiator
+ static const auto d = MakeNamedErrorDetail("ICAP_XACT_OTHER");
+ detailError(d);
+ }
// update adaptation history if start was called and we reserved a slot
Adaptation::History::Pointer ah = virginRequest().adaptLogHistory();
@@ -1989,7 +1993,7 @@
return true;
}
-void Adaptation::Icap::ModXact::detailError(int errDetail)
+void Adaptation::Icap::ModXact::detailError(const ErrorDetail::Pointer &errDetail)
{
HttpRequest *request = dynamic_cast(adapted.header);
// if no adapted request, update virgin (and inherit its properties later)
diff -u -r -N squid-5.0.5/src/adaptation/icap/ModXact.h squid-5.0.6/src/adaptation/icap/ModXact.h
--- squid-5.0.5/src/adaptation/icap/ModXact.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/ModXact.h 2021-05-10 21:02:34.000000000 +1200
@@ -174,7 +174,7 @@
virtual void callException(const std::exception &e);
/// record error detail in the virgin request if possible
- virtual void detailError(int errDetail);
+ virtual void detailError(const ErrorDetail::Pointer &errDetail);
// Icap::Xaction API
virtual void clearError();
/// The master transaction log entry
diff -u -r -N squid-5.0.5/src/adaptation/icap/Xaction.cc squid-5.0.6/src/adaptation/icap/Xaction.cc
--- squid-5.0.5/src/adaptation/icap/Xaction.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/Xaction.cc 2021-05-10 21:02:34.000000000 +1200
@@ -20,7 +20,7 @@
#include "comm/Read.h"
#include "comm/Write.h"
#include "CommCalls.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "fde.h"
#include "FwdState.h"
#include "globals.h"
@@ -324,7 +324,8 @@
debugs(93, 2, HERE << typeName <<
" failed to connect to " << service().cfg().uri);
service().noteConnectionFailed("failure");
- detailError(ERR_DETAIL_ICAP_XACT_START);
+ static const auto d = MakeNamedErrorDetail("ICAP_XACT_START");
+ detailError(d);
throw TexcHere("cannot connect to the ICAP service");
}
@@ -394,7 +395,8 @@
void Adaptation::Icap::Xaction::handleCommClosed()
{
- detailError(ERR_DETAIL_ICAP_XACT_CLOSE);
+ static const auto d = MakeNamedErrorDetail("ICAP_XACT_CLOSE");
+ detailError(d);
mustStop("ICAP service connection externally closed");
}
@@ -575,7 +577,8 @@
if (theInitiator.set()) {
debugs(93,4, HERE << "Initiator gone before ICAP transaction ended");
clearInitiator();
- detailError(ERR_DETAIL_ICAP_INIT_GONE);
+ static const auto d = MakeNamedErrorDetail("ICAP_INIT_GONE");
+ detailError(d);
setOutcome(xoGone);
mustStop("initiator aborted");
}
@@ -754,7 +757,8 @@
debugs(93, 2, typeName <<
" TLS negotiation to " << service().cfg().uri << " failed");
service().noteConnectionFailed("failure");
- detailError(ERR_DETAIL_ICAP_XACT_SSL_START);
+ static const auto d = MakeNamedErrorDetail("ICAP_XACT_SSL_START");
+ detailError(d);
throw TexcHere("cannot connect to the TLS ICAP service");
}
diff -u -r -N squid-5.0.5/src/adaptation/icap/Xaction.h squid-5.0.6/src/adaptation/icap/Xaction.h
--- squid-5.0.5/src/adaptation/icap/Xaction.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/icap/Xaction.h 2021-05-10 21:02:34.000000000 +1200
@@ -13,6 +13,7 @@
#include "adaptation/icap/ServiceRep.h"
#include "adaptation/Initiate.h"
#include "comm/ConnOpener.h"
+#include "error/forward.h"
#include "HttpReply.h"
#include "ipcache.h"
#include "sbuf/SBuf.h"
@@ -73,7 +74,7 @@
void handleSecuredPeer(Security::EncryptorAnswer &answer);
/// record error detail if possible
- virtual void detailError(int) {}
+ virtual void detailError(const ErrorDetailPointer &) {}
void openConnection();
void closeConnection();
diff -u -r -N squid-5.0.5/src/adaptation/Makefile.am squid-5.0.6/src/adaptation/Makefile.am
--- squid-5.0.5/src/adaptation/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/adaptation/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -26,7 +26,8 @@
DynamicGroupCfg.h \
Elements.cc \
Elements.h \
- forward.h \
+ History.cc \
+ History.h \
Initiate.cc \
Initiate.h \
Initiator.cc \
@@ -39,12 +40,11 @@
Service.h \
ServiceConfig.cc \
ServiceConfig.h \
- ServiceGroups.cc \
- ServiceGroups.h \
ServiceFilter.cc \
ServiceFilter.h \
- History.cc \
- History.h
+ ServiceGroups.cc \
+ ServiceGroups.h \
+ forward.h
libadaptation_la_LIBADD =
diff -u -r -N squid-5.0.5/src/adaptation/Makefile.in squid-5.0.6/src/adaptation/Makefile.in
--- squid-5.0.5/src/adaptation/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/adaptation/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -169,9 +169,9 @@
LTLIBRARIES = $(noinst_LTLIBRARIES)
libadaptation_la_DEPENDENCIES = $(am__append_3) $(am__append_5)
am_libadaptation_la_OBJECTS = AccessCheck.lo AccessRule.lo Answer.lo \
- Config.lo DynamicGroupCfg.lo Elements.lo Initiate.lo \
- Initiator.lo Iterator.lo Message.lo Service.lo \
- ServiceConfig.lo ServiceGroups.lo ServiceFilter.lo History.lo
+ Config.lo DynamicGroupCfg.lo Elements.lo History.lo \
+ Initiate.lo Initiator.lo Iterator.lo Message.lo Service.lo \
+ ServiceConfig.lo ServiceFilter.lo ServiceGroups.lo
libadaptation_la_OBJECTS = $(am_libadaptation_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -796,7 +796,8 @@
DynamicGroupCfg.h \
Elements.cc \
Elements.h \
- forward.h \
+ History.cc \
+ History.h \
Initiate.cc \
Initiate.h \
Initiator.cc \
@@ -809,12 +810,11 @@
Service.h \
ServiceConfig.cc \
ServiceConfig.h \
- ServiceGroups.cc \
- ServiceGroups.h \
ServiceFilter.cc \
ServiceFilter.h \
- History.cc \
- History.h
+ ServiceGroups.cc \
+ ServiceGroups.h \
+ forward.h
libadaptation_la_LIBADD = $(am__append_3) $(am__append_5)
all: all-recursive
diff -u -r -N squid-5.0.5/src/anyp/Makefile.am squid-5.0.6/src/anyp/Makefile.am
--- squid-5.0.5/src/anyp/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/anyp/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,6 @@
noinst_LTLIBRARIES = libanyp.la
libanyp_la_SOURCES = \
- forward.h \
PortCfg.cc \
PortCfg.h \
ProtocolType.cc \
@@ -21,7 +20,8 @@
Uri.cc \
Uri.h \
UriScheme.cc \
- UriScheme.h
+ UriScheme.h \
+ forward.h
ProtocolType.cc: ProtocolType.h $(top_srcdir)/src/mk-string-arrays.awk
($(AWK) -f $(top_srcdir)/src/mk-string-arrays.awk <$(srcdir)/ProtocolType.h | sed -e 's%PROTO_%%' >$@) || ($(RM) -f $@ && exit 1)
diff -u -r -N squid-5.0.5/src/anyp/Makefile.in squid-5.0.6/src/anyp/Makefile.in
--- squid-5.0.5/src/anyp/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/anyp/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -730,7 +730,6 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libanyp.la
libanyp_la_SOURCES = \
- forward.h \
PortCfg.cc \
PortCfg.h \
ProtocolType.cc \
@@ -740,7 +739,8 @@
Uri.cc \
Uri.h \
UriScheme.cc \
- UriScheme.h
+ UriScheme.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/auth/basic/DB/basic_db_auth.8 squid-5.0.6/src/auth/basic/DB/basic_db_auth.8
--- squid-5.0.5/src/auth/basic/DB/basic_db_auth.8 2021-02-08 13:46:38.000000000 +1300
+++ squid-5.0.6/src/auth/basic/DB/basic_db_auth.8 2021-05-10 23:02:23.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_DB_AUTH 8"
-.TH BASIC_DB_AUTH 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH BASIC_DB_AUTH 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/auth/basic/LDAP/Makefile.am squid-5.0.6/src/auth/basic/LDAP/Makefile.am
--- squid-5.0.5/src/auth/basic/LDAP/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/LDAP/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
libexec_PROGRAMS = basic_ldap_auth
man_MANS = basic_ldap_auth.8
EXTRA_DIST = basic_ldap_auth.8 required.m4
-basic_ldap_auth_SOURCES = basic_ldap_auth.cc
+basic_ldap_auth_SOURCES = basic_ldap_auth.cc
basic_ldap_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/NCSA/Makefile.am squid-5.0.6/src/auth/basic/NCSA/Makefile.am
--- squid-5.0.5/src/auth/basic/NCSA/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/NCSA/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
man_MANS = basic_ncsa_auth.8
EXTRA_DIST = basic_ncsa_auth.8 required.m4
-basic_ncsa_auth_SOURCES= \
+basic_ncsa_auth_SOURCES = \
basic_ncsa_auth.cc \
crypt_md5.cc \
crypt_md5.h
diff -u -r -N squid-5.0.5/src/auth/basic/NIS/Makefile.am squid-5.0.6/src/auth/basic/NIS/Makefile.am
--- squid-5.0.5/src/auth/basic/NIS/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/NIS/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -9,10 +9,10 @@
libexec_PROGRAMS = basic_nis_auth
-basic_nis_auth_SOURCES= \
+basic_nis_auth_SOURCES = \
basic_nis_auth.cc \
- nis_support.h \
- nis_support.cc
+ nis_support.cc \
+ nis_support.h
basic_nis_auth_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/NIS/Makefile.in squid-5.0.6/src/auth/basic/NIS/Makefile.in
--- squid-5.0.5/src/auth/basic/NIS/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/basic/NIS/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -735,8 +735,8 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
basic_nis_auth_SOURCES = \
basic_nis_auth.cc \
- nis_support.h \
- nis_support.cc
+ nis_support.cc \
+ nis_support.h
basic_nis_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/PAM/Makefile.am squid-5.0.6/src/auth/basic/PAM/Makefile.am
--- squid-5.0.5/src/auth/basic/PAM/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/PAM/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
EXTRA_DIST = basic_pam_auth.8 required.m4
libexec_PROGRAMS = basic_pam_auth
-basic_pam_auth_SOURCES = basic_pam_auth.cc
+basic_pam_auth_SOURCES = basic_pam_auth.cc
basic_pam_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
$(COMPAT_LIB) \
diff -u -r -N squid-5.0.5/src/auth/basic/POP3/basic_pop3_auth.8 squid-5.0.6/src/auth/basic/POP3/basic_pop3_auth.8
--- squid-5.0.5/src/auth/basic/POP3/basic_pop3_auth.8 2021-02-08 13:46:39.000000000 +1300
+++ squid-5.0.6/src/auth/basic/POP3/basic_pop3_auth.8 2021-05-10 23:02:23.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_POP3_AUTH 8"
-.TH BASIC_POP3_AUTH 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH BASIC_POP3_AUTH 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/auth/basic/RADIUS/Makefile.am squid-5.0.6/src/auth/basic/RADIUS/Makefile.am
--- squid-5.0.5/src/auth/basic/RADIUS/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/RADIUS/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,11 +11,11 @@
man_MANS = basic_radius_auth.8
EXTRA_DIST = basic_radius_auth.8 required.m4
-basic_radius_auth_SOURCES= \
+basic_radius_auth_SOURCES = \
basic_radius_auth.cc \
- radius.h \
radius-util.cc \
- radius-util.h
+ radius-util.h \
+ radius.h
basic_radius_auth_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/RADIUS/Makefile.in squid-5.0.6/src/auth/basic/RADIUS/Makefile.in
--- squid-5.0.5/src/auth/basic/RADIUS/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/basic/RADIUS/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -742,9 +742,9 @@
EXTRA_DIST = basic_radius_auth.8 required.m4
basic_radius_auth_SOURCES = \
basic_radius_auth.cc \
- radius.h \
radius-util.cc \
- radius-util.h
+ radius-util.h \
+ radius.h
basic_radius_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/SASL/Makefile.am squid-5.0.6/src/auth/basic/SASL/Makefile.am
--- squid-5.0.5/src/auth/basic/SASL/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/SASL/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
man_MANS= basic_sasl_auth.8
libexec_PROGRAMS= basic_sasl_auth
-basic_sasl_auth_SOURCES= \
+basic_sasl_auth_SOURCES = \
basic_sasl_auth.cc
basic_sasl_auth_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/SMB/Makefile.am squid-5.0.6/src/auth/basic/SMB/Makefile.am
--- squid-5.0.5/src/auth/basic/SMB/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/SMB/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -12,7 +12,7 @@
libexec_PROGRAMS = basic_smb_auth
endif
-basic_smb_auth_SOURCES= basic_smb_auth.cc
+basic_smb_auth_SOURCES = basic_smb_auth.cc
basic_smb_auth_CXXFLAGS = -DHELPERSCRIPT=\"$(libexecdir)/basic_smb_auth.sh\"
basic_smb_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/basic/SMB_LM/Makefile.am squid-5.0.6/src/auth/basic/SMB_LM/Makefile.am
--- squid-5.0.5/src/auth/basic/SMB_LM/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/SMB_LM/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -9,7 +9,7 @@
libexec_PROGRAMS= basic_smb_lm_auth
-basic_smb_lm_auth_SOURCES= \
+basic_smb_lm_auth_SOURCES = \
msntauth.cc \
msntauth.h \
valid.cc \
diff -u -r -N squid-5.0.5/src/auth/basic/SSPI/Makefile.am squid-5.0.6/src/auth/basic/SSPI/Makefile.am
--- squid-5.0.5/src/auth/basic/SSPI/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/basic/SSPI/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -13,7 +13,8 @@
basic_sspi_auth_SOURCES = \
basic_sspi_auth.cc \
- valid.cc valid.h
+ valid.cc \
+ valid.h
basic_sspi_auth_CXXFLAGS = -Wl,--enable-auto-import
basic_sspi_auth_LDADD = \
$(top_builddir)/lib/libsspwin32.la \
diff -u -r -N squid-5.0.5/src/auth/basic/SSPI/Makefile.in squid-5.0.6/src/auth/basic/SSPI/Makefile.in
--- squid-5.0.5/src/auth/basic/SSPI/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/basic/SSPI/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -744,7 +744,8 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
basic_sspi_auth_SOURCES = \
basic_sspi_auth.cc \
- valid.cc valid.h
+ valid.cc \
+ valid.h
basic_sspi_auth_CXXFLAGS = -Wl,--enable-auto-import
basic_sspi_auth_LDADD = \
diff -u -r -N squid-5.0.5/src/auth/digest/eDirectory/Makefile.am squid-5.0.6/src/auth/digest/eDirectory/Makefile.am
--- squid-5.0.5/src/auth/digest/eDirectory/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/digest/eDirectory/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -9,13 +9,13 @@
libexec_PROGRAMS= digest_edirectory_auth
-digest_edirectory_auth_SOURCES= \
- digest_pw_auth.cc \
+digest_edirectory_auth_SOURCES = \
digest_common.h \
- ldap_backend.cc \
- ldap_backend.h \
+ digest_pw_auth.cc \
edir_ldapext.cc \
- edir_ldapext.h
+ edir_ldapext.h \
+ ldap_backend.cc \
+ ldap_backend.h
digest_edirectory_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/digest/eDirectory/Makefile.in squid-5.0.6/src/auth/digest/eDirectory/Makefile.in
--- squid-5.0.5/src/auth/digest/eDirectory/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/digest/eDirectory/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -167,7 +167,7 @@
am__installdirs = "$(DESTDIR)$(libexecdir)"
PROGRAMS = $(libexec_PROGRAMS)
am_digest_edirectory_auth_OBJECTS = digest_pw_auth.$(OBJEXT) \
- ldap_backend.$(OBJEXT) edir_ldapext.$(OBJEXT)
+ edir_ldapext.$(OBJEXT) ldap_backend.$(OBJEXT)
digest_edirectory_auth_OBJECTS = $(am_digest_edirectory_auth_OBJECTS)
@ENABLE_XPROF_STATS_TRUE@am__DEPENDENCIES_1 = $(top_builddir)/lib/profiler/libprofiler.la
am__DEPENDENCIES_2 = $(top_builddir)/compat/libcompatsquid.la \
@@ -736,12 +736,12 @@
COMPAT_LIB = $(top_builddir)/compat/libcompatsquid.la $(LIBPROFILER)
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
digest_edirectory_auth_SOURCES = \
- digest_pw_auth.cc \
digest_common.h \
- ldap_backend.cc \
- ldap_backend.h \
+ digest_pw_auth.cc \
edir_ldapext.cc \
- edir_ldapext.h
+ edir_ldapext.h \
+ ldap_backend.cc \
+ ldap_backend.h
digest_edirectory_auth_LDADD = \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/digest/file/Makefile.am squid-5.0.6/src/auth/digest/file/Makefile.am
--- squid-5.0.5/src/auth/digest/file/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/digest/file/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
man_MANS= digest_file_auth.8
libexec_PROGRAMS= digest_file_auth
-digest_file_auth_SOURCES= \
+digest_file_auth_SOURCES = \
digest_common.h \
digest_file_auth.cc \
text_backend.cc \
diff -u -r -N squid-5.0.5/src/auth/digest/LDAP/Makefile.am squid-5.0.6/src/auth/digest/LDAP/Makefile.am
--- squid-5.0.5/src/auth/digest/LDAP/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/digest/LDAP/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -9,7 +9,7 @@
libexec_PROGRAMS= digest_ldap_auth
-digest_ldap_auth_SOURCES= \
+digest_ldap_auth_SOURCES = \
digest_common.h \
digest_pw_auth.cc \
ldap_backend.cc \
diff -u -r -N squid-5.0.5/src/auth/digest/Makefile.am squid-5.0.6/src/auth/digest/Makefile.am
--- squid-5.0.5/src/auth/digest/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/digest/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -14,7 +14,7 @@
noinst_LTLIBRARIES= libdigest.la
-libdigest_la_SOURCES= \
+libdigest_la_SOURCES = \
Config.cc \
Config.h \
Scheme.cc \
diff -u -r -N squid-5.0.5/src/auth/Makefile.am squid-5.0.6/src/auth/Makefile.am
--- squid-5.0.5/src/auth/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -17,15 +17,12 @@
## authentication framework; this library is always built
libauth_la_SOURCES = \
- Type.h \
- Type.cc \
Config.cc \
Config.h \
- CredentialsCache.h \
- CredentialsCache.cc \
CredentialState.cc \
CredentialState.h \
- forward.h \
+ CredentialsCache.cc \
+ CredentialsCache.h \
Gadgets.cc \
Gadgets.h \
QueueNode.h \
@@ -33,16 +30,19 @@
Scheme.h \
SchemeConfig.cc \
SchemeConfig.h \
- SchemesConfig.h \
SchemesConfig.cc \
- State.h \
+ SchemesConfig.h \
State.cc \
- toUtf.h \
- toUtf.cc \
- User.h \
+ State.h \
+ Type.cc \
+ Type.h \
User.cc \
+ User.h \
+ UserRequest.cc \
UserRequest.h \
- UserRequest.cc
+ forward.h \
+ toUtf.cc \
+ toUtf.h
libauth_la_LIBADD = $(AUTH_LIBS_TO_BUILD)
libauth_la_DEPENDENCIES = $(AUTH_LIBS_TO_BUILD)
@@ -51,7 +51,6 @@
libacls_la_SOURCES = \
Acl.cc \
Acl.h \
- \
AclMaxUserIp.cc \
AclMaxUserIp.h \
AclProxyAuth.cc \
diff -u -r -N squid-5.0.5/src/auth/Makefile.in squid-5.0.6/src/auth/Makefile.in
--- squid-5.0.5/src/auth/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -171,9 +171,10 @@
am__v_lt_0 = --silent
am__v_lt_1 =
am__DEPENDENCIES_1 =
-am_libauth_la_OBJECTS = Type.lo Config.lo CredentialsCache.lo \
- CredentialState.lo Gadgets.lo Scheme.lo SchemeConfig.lo \
- SchemesConfig.lo State.lo toUtf.lo User.lo UserRequest.lo
+am_libauth_la_OBJECTS = Config.lo CredentialState.lo \
+ CredentialsCache.lo Gadgets.lo Scheme.lo SchemeConfig.lo \
+ SchemesConfig.lo State.lo Type.lo User.lo UserRequest.lo \
+ toUtf.lo
libauth_la_OBJECTS = $(am_libauth_la_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -782,15 +783,12 @@
DIST_SUBDIRS = basic digest negotiate ntlm
noinst_LTLIBRARIES = libauth.la libacls.la
libauth_la_SOURCES = \
- Type.h \
- Type.cc \
Config.cc \
Config.h \
- CredentialsCache.h \
- CredentialsCache.cc \
CredentialState.cc \
CredentialState.h \
- forward.h \
+ CredentialsCache.cc \
+ CredentialsCache.h \
Gadgets.cc \
Gadgets.h \
QueueNode.h \
@@ -798,23 +796,25 @@
Scheme.h \
SchemeConfig.cc \
SchemeConfig.h \
- SchemesConfig.h \
SchemesConfig.cc \
- State.h \
+ SchemesConfig.h \
State.cc \
- toUtf.h \
- toUtf.cc \
- User.h \
+ State.h \
+ Type.cc \
+ Type.h \
User.cc \
+ User.h \
+ UserRequest.cc \
UserRequest.h \
- UserRequest.cc
+ forward.h \
+ toUtf.cc \
+ toUtf.h
libauth_la_LIBADD = $(AUTH_LIBS_TO_BUILD)
libauth_la_DEPENDENCIES = $(AUTH_LIBS_TO_BUILD)
libacls_la_SOURCES = \
Acl.cc \
Acl.h \
- \
AclMaxUserIp.cc \
AclMaxUserIp.h \
AclProxyAuth.cc \
diff -u -r -N squid-5.0.5/src/auth/negotiate/kerberos/Makefile.am squid-5.0.6/src/auth/negotiate/kerberos/Makefile.am
--- squid-5.0.5/src/auth/negotiate/kerberos/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/negotiate/kerberos/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -18,10 +18,10 @@
AM_CPPFLAGS += -I$(srcdir)
-negotiate_kerberos_auth_SOURCES= \
+negotiate_kerberos_auth_SOURCES = \
+ negotiate_kerberos.h \
negotiate_kerberos_auth.cc \
- negotiate_kerberos_pac.cc \
- negotiate_kerberos.h
+ negotiate_kerberos_pac.cc
negotiate_kerberos_auth_LDFLAGS=
negotiate_kerberos_auth_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
@@ -30,7 +30,7 @@
$(KRB5LIBS) \
$(XTRA_LIBS)
-negotiate_kerberos_auth_test_SOURCES= \
+negotiate_kerberos_auth_test_SOURCES = \
negotiate_kerberos_auth_test.cc
negotiate_kerberos_auth_test_LDFLAGS=
negotiate_kerberos_auth_test_LDADD= \
diff -u -r -N squid-5.0.5/src/auth/negotiate/kerberos/Makefile.in squid-5.0.6/src/auth/negotiate/kerberos/Makefile.in
--- squid-5.0.5/src/auth/negotiate/kerberos/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/negotiate/kerberos/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -766,9 +766,9 @@
negotiate_kerberos_auth.8
negotiate_kerberos_auth_SOURCES = \
+ negotiate_kerberos.h \
negotiate_kerberos_auth.cc \
- negotiate_kerberos_pac.cc \
- negotiate_kerberos.h
+ negotiate_kerberos_pac.cc
negotiate_kerberos_auth_LDFLAGS =
negotiate_kerberos_auth_LDADD = \
diff -u -r -N squid-5.0.5/src/auth/negotiate/Makefile.am squid-5.0.6/src/auth/negotiate/Makefile.am
--- squid-5.0.5/src/auth/negotiate/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/negotiate/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -15,10 +15,10 @@
noinst_LTLIBRARIES = libnegotiate.la
libnegotiate_la_SOURCES = \
- Scheme.cc \
- Scheme.h \
Config.cc \
Config.h \
+ Scheme.cc \
+ Scheme.h \
User.cc \
User.h \
UserRequest.cc \
diff -u -r -N squid-5.0.5/src/auth/negotiate/Makefile.in squid-5.0.6/src/auth/negotiate/Makefile.in
--- squid-5.0.5/src/auth/negotiate/Makefile.in 2021-02-08 13:40:46.000000000 +1300
+++ squid-5.0.6/src/auth/negotiate/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -164,7 +164,7 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libnegotiate_la_LIBADD =
-am_libnegotiate_la_OBJECTS = Scheme.lo Config.lo User.lo \
+am_libnegotiate_la_OBJECTS = Config.lo Scheme.lo User.lo \
UserRequest.lo
libnegotiate_la_OBJECTS = $(am_libnegotiate_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -773,10 +773,10 @@
EXTRA_DIST = helpers.m4
noinst_LTLIBRARIES = libnegotiate.la
libnegotiate_la_SOURCES = \
- Scheme.cc \
- Scheme.h \
Config.cc \
Config.h \
+ Scheme.cc \
+ Scheme.h \
User.cc \
User.h \
UserRequest.cc \
diff -u -r -N squid-5.0.5/src/auth/negotiate/wrapper/Makefile.am squid-5.0.6/src/auth/negotiate/wrapper/Makefile.am
--- squid-5.0.5/src/auth/negotiate/wrapper/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/negotiate/wrapper/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
libexec_PROGRAMS= negotiate_wrapper_auth
-negotiate_wrapper_auth_SOURCES= \
+negotiate_wrapper_auth_SOURCES = \
negotiate_wrapper.cc
negotiate_wrapper_auth_LDADD= \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/ntlm/fake/Makefile.am squid-5.0.6/src/auth/ntlm/fake/Makefile.am
--- squid-5.0.5/src/auth/ntlm/fake/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/ntlm/fake/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -9,7 +9,7 @@
libexec_PROGRAMS= ntlm_fake_auth
-ntlm_fake_auth_SOURCES= ntlm_fake_auth.cc
+ntlm_fake_auth_SOURCES = ntlm_fake_auth.cc
ntlm_fake_auth_LDADD= \
$(top_builddir)/lib/ntlmauth/libntlmauth.la \
$(top_builddir)/lib/libmiscencoding.la \
diff -u -r -N squid-5.0.5/src/auth/ntlm/SSPI/Makefile.am squid-5.0.6/src/auth/ntlm/SSPI/Makefile.am
--- squid-5.0.5/src/auth/ntlm/SSPI/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/auth/ntlm/SSPI/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
man_MANS= ntlm_sspi_auth.8
libexec_PROGRAMS= ntlm_sspi_auth
-ntlm_sspi_auth_SOURCES= ntlm_sspi_auth.cc
+ntlm_sspi_auth_SOURCES = ntlm_sspi_auth.cc
ntlm_sspi_auth_LDADD= \
$(top_builddir)/lib/ntlmauth/libntlmauth.la \
$(top_builddir)/lib/libsspwin32.la \
diff -u -r -N squid-5.0.5/src/base/Makefile.am squid-5.0.6/src/base/Makefile.am
--- squid-5.0.5/src/base/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/base/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -20,8 +20,8 @@
AsyncJob.h \
AsyncJobCalls.h \
ByteCounter.h \
- CbcPointer.h \
CbDataList.h \
+ CbcPointer.h \
CharacterSet.cc \
CharacterSet.h \
CodeContext.cc \
@@ -29,7 +29,6 @@
EnumIterator.h \
File.cc \
File.h \
- forward.h \
HardFun.h \
Here.cc \
Here.h \
@@ -49,4 +48,6 @@
Subscription.h \
TextException.cc \
TextException.h \
- YesNoNone.h
+ TypeTraits.h \
+ YesNoNone.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/base/Makefile.in squid-5.0.6/src/base/Makefile.in
--- squid-5.0.5/src/base/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/base/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -744,8 +744,8 @@
AsyncJob.h \
AsyncJobCalls.h \
ByteCounter.h \
- CbcPointer.h \
CbDataList.h \
+ CbcPointer.h \
CharacterSet.cc \
CharacterSet.h \
CodeContext.cc \
@@ -753,7 +753,6 @@
EnumIterator.h \
File.cc \
File.h \
- forward.h \
HardFun.h \
Here.cc \
Here.h \
@@ -773,7 +772,9 @@
Subscription.h \
TextException.cc \
TextException.h \
- YesNoNone.h
+ TypeTraits.h \
+ YesNoNone.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/base/TextException.cc squid-5.0.6/src/base/TextException.cc
--- squid-5.0.5/src/base/TextException.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/base/TextException.cc 2021-05-10 21:02:34.000000000 +1200
@@ -59,12 +59,22 @@
}
std::ostream &
+operator <<(std::ostream &os, const TextException &ex)
+{
+ ex.print(os);
+ return os;
+}
+
+std::ostream &
CurrentException(std::ostream &os)
{
if (std::current_exception()) {
try {
throw; // re-throw to recognize the exception type
}
+ catch (const TextException &ex) {
+ os << ex; // optimization: this is a lot cheaper than what() below
+ }
catch (const std::exception &ex) {
os << ex.what();
}
diff -u -r -N squid-5.0.5/src/base/TextException.h squid-5.0.6/src/base/TextException.h
--- squid-5.0.5/src/base/TextException.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/base/TextException.h 2021-05-10 21:02:34.000000000 +1200
@@ -51,22 +51,26 @@
/// prints active (i.e., thrown but not yet handled) exception
std::ostream &CurrentException(std::ostream &);
+/// efficiently prints TextException
+std::ostream &operator <<(std::ostream &, const TextException &);
+
/// legacy convenience macro; it is not difficult to type Here() now
#define TexcHere(msg) TextException((msg), Here())
/// Like assert() but throws an exception instead of aborting the process
-/// and allows the caller to specify a custom exception message.
-#define Must2(condition, message) \
+/// and allows the caller to customize the exception message and location.
+/// \param description string literal describing the condition; what MUST happen
+#define Must3(condition, description, location) \
do { \
if (!(condition)) { \
- const TextException Must_ex_((message), Here()); \
+ const TextException Must_ex_(("check failed: " description), (location)); \
debugs(0, 3, Must_ex_.what()); \
throw Must_ex_; \
} \
} while (/*CONSTCOND*/ false)
/// Like assert() but throws an exception instead of aborting the process.
-#define Must(condition) Must2((condition), "check failed: " #condition)
+#define Must(condition) Must3((condition), #condition, Here())
/// Reports and swallows all exceptions to prevent compiler warnings and runtime
/// errors related to throwing class destructors. Should be used for most dtors.
diff -u -r -N squid-5.0.5/src/base/TypeTraits.h squid-5.0.6/src/base/TypeTraits.h
--- squid-5.0.5/src/base/TypeTraits.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/base/TypeTraits.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef SQUID_SRC_BASE_TYPETRAITS_H
+#define SQUID_SRC_BASE_TYPETRAITS_H
+
+namespace TypeTraits_ { // a hack to prevent "unintended ADL"
+
+// TODO: Extract reusable paradigms into other mixins (e.g., NonCopyable).
+/// convenience base for any class with pure virtual method(s)
+class Interface
+{
+public:
+ // ensures proper destruction via pointers to base interface classes
+ virtual ~Interface() = default;
+
+ // prohibits copy/move assignment to prevent accidental object slicing
+ Interface &operator=(const Interface &) = delete;
+ Interface &operator=(Interface &&) = delete;
+
+protected: // prevents accidental creation of Interface instances
+
+ // allows default-construction in kids
+ constexpr Interface() = default;
+
+ // allows copy/move construction for kids convenience
+ Interface(const Interface &) = default;
+ Interface(Interface &&) = default;
+};
+
+} // namespace TypeTraits_
+
+using Interface = TypeTraits_::Interface;
+
+#endif /* SQUID_SRC_BASE_TYPETRAITS_H */
+
diff -u -r -N squid-5.0.5/src/cache_manager.cc squid-5.0.6/src/cache_manager.cc
--- squid-5.0.5/src/cache_manager.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/cache_manager.cc 2021-05-10 21:02:34.000000000 +1200
@@ -15,6 +15,7 @@
#include "comm/Connection.h"
#include "Debug.h"
#include "errorpage.h"
+#include "error/ExceptionErrorDetail.h"
#include "fde.h"
#include "HttpReply.h"
#include "HttpRequest.h"
@@ -27,7 +28,9 @@
#include "mgr/Forwarder.h"
#include "mgr/FunAction.h"
#include "mgr/QueryParams.h"
+#include "parser/Tokenizer.h"
#include "protos.h"
+#include "sbuf/Stream.h"
#include "sbuf/StringConvert.h"
#include "SquidConfig.h"
#include "SquidTime.h"
@@ -148,82 +151,87 @@
return cmd->profile->creator->create(cmd);
}
+static const CharacterSet &
+MgrFieldChars(const AnyP::ProtocolType &protocol)
+{
+ // Deprecated cache_object:// scheme used '@' to delimit passwords
+ if (protocol == AnyP::PROTO_CACHE_OBJECT) {
+ static const CharacterSet fieldChars = CharacterSet("cache-object-field", "@?#").complement();
+ return fieldChars;
+ }
+
+ static const CharacterSet actionChars = CharacterSet("mgr-field", "?#").complement();
+ return actionChars;
+}
+
/**
- \ingroup CacheManagerInternal
* define whether the URL is a cache-manager URL and parse the action
* requested by the user. Checks via CacheManager::ActionProtection() that the
* item is accessible by the user.
- \retval CacheManager::cachemgrStateData state object for the following handling
- \retval NULL if the action can't be found or can't be accessed by the user
+ *
+ * Syntax:
+ *
+ * scheme "://" authority [ '/squid-internal-mgr' ] path-absolute [ '@' unreserved ] '?' query-string
+ *
+ * see RFC 3986 for definitions of scheme, authority, path-absolute, query-string
+ *
+ * \returns Mgr::Command object with action to perform and parameters it might use
*/
Mgr::Command::Pointer
-CacheManager::ParseUrl(const char *url)
+CacheManager::ParseUrl(const AnyP::Uri &uri)
{
- int t;
- LOCAL_ARRAY(char, host, MAX_URL);
- LOCAL_ARRAY(char, request, MAX_URL);
- LOCAL_ARRAY(char, password, MAX_URL);
- LOCAL_ARRAY(char, params, MAX_URL);
- host[0] = 0;
- request[0] = 0;
- password[0] = 0;
- params[0] = 0;
- int pos = -1;
- int len = strlen(url);
- Must(len > 0);
- t = sscanf(url, "cache_object://%[^/]/%[^@?]%n@%[^?]?%s", host, request, &pos, password, params);
- if (t < 3) {
- t = sscanf(url, "cache_object://%[^/]/%[^?]%n?%s", host, request, &pos, params);
- }
- if (t < 1) {
- t = sscanf(url, "http://%[^/]/squid-internal-mgr/%[^?]%n?%s", host, request, &pos, params);
- }
- if (t < 1) {
- t = sscanf(url, "https://%[^/]/squid-internal-mgr/%[^?]%n?%s", host, request, &pos, params);
- }
- if (t < 2) {
- if (strncmp("cache_object://",url,15)==0)
- xstrncpy(request, "menu", MAX_URL);
- else
- xstrncpy(request, "index", MAX_URL);
- }
+ Parser::Tokenizer tok(uri.path());
-#if _SQUID_OS2_
- if (t == 2 && request[0] == '\0') {
- /*
- * emx's sscanf insists of returning 2 because it sets request
- * to null
- */
- if (strncmp("cache_object://",url,15)==0)
- xstrncpy(request, "menu", MAX_URL);
- else
- xstrncpy(request, "index", MAX_URL);
- }
-#endif
+ static const SBuf internalMagicPrefix("/squid-internal-mgr/");
+ if (!tok.skip(internalMagicPrefix) && !tok.skip('/'))
+ throw TextException("invalid URL path", Here());
- debugs(16, 3, HERE << "MGR request: t=" << t << ", host='" << host << "', request='" << request << "', pos=" << pos <<
- ", password='" << password << "', params='" << params << "'");
+ Mgr::Command::Pointer cmd = new Mgr::Command();
+ cmd->params.httpUri = SBufToString(uri.absolute());
- Mgr::ActionProfile::Pointer profile = findAction(request);
- if (!profile) {
- debugs(16, DBG_IMPORTANT, "CacheManager::ParseUrl: action '" << request << "' not found");
- return NULL;
+ const auto &fieldChars = MgrFieldChars(uri.getScheme());
+
+ SBuf action;
+ if (!tok.prefix(action, fieldChars)) {
+ if (uri.getScheme() == AnyP::PROTO_CACHE_OBJECT) {
+ static const SBuf menuReport("menu");
+ action = menuReport;
+ } else {
+ static const SBuf indexReport("index");
+ action = indexReport;
+ }
}
+ cmd->params.actionName = SBufToString(action);
+
+ const auto profile = findAction(action.c_str());
+ if (!profile)
+ throw TextException(ToSBuf("action '", action, "' not found"), Here());
const char *prot = ActionProtection(profile);
- if (!strcmp(prot, "disabled") || !strcmp(prot, "hidden")) {
- debugs(16, DBG_IMPORTANT, "CacheManager::ParseUrl: action '" << request << "' is " << prot);
- return NULL;
+ if (!strcmp(prot, "disabled") || !strcmp(prot, "hidden"))
+ throw TextException(ToSBuf("action '", action, "' is ", prot), Here());
+ cmd->profile = profile;
+
+ SBuf passwd;
+ if (uri.getScheme() == AnyP::PROTO_CACHE_OBJECT && tok.skip('@')) {
+ (void)tok.prefix(passwd, fieldChars);
+ cmd->params.password = SBufToString(passwd);
}
- Mgr::Command::Pointer cmd = new Mgr::Command;
- if (!Mgr::QueryParams::Parse(params, cmd->params.queryParams))
- return NULL;
- cmd->profile = profile;
- cmd->params.httpUri = url;
- cmd->params.userName = String();
- cmd->params.password = password;
- cmd->params.actionName = request;
+ // TODO: fix when AnyP::Uri::parse() separates path?query#fragment
+ SBuf params;
+ if (tok.skip('?')) {
+ params = tok.remaining();
+ Mgr::QueryParams::Parse(tok, cmd->params.queryParams);
+ }
+
+ if (!tok.skip('#') && !tok.atEnd())
+ throw TextException("invalid characters in URL", Here());
+ // else ignore #fragment (if any)
+
+ debugs(16, 3, "MGR request: host=" << uri.host() << ", action=" << action <<
+ ", password=" << passwd << ", params=" << params);
+
return cmd;
}
@@ -306,12 +314,17 @@
void
CacheManager::start(const Comm::ConnectionPointer &client, HttpRequest *request, StoreEntry *entry, const AccessLogEntry::Pointer &ale)
{
- debugs(16, 3, "CacheManager::Start: '" << entry->url() << "'" );
+ debugs(16, 3, "request-url= '" << request->url << "', entry-url='" << entry->url() << "'");
+
+ Mgr::Command::Pointer cmd;
+ try {
+ cmd = ParseUrl(request->url);
- Mgr::Command::Pointer cmd = ParseUrl(entry->url());
- if (!cmd) {
+ } catch (...) {
+ debugs(16, 2, "request URL error: " << CurrentException);
const auto err = new ErrorState(ERR_INVALID_URL, Http::scNotFound, request, ale);
err->url = xstrdup(entry->url());
+ err->detailError(new ExceptionErrorDetail(Here().id()));
errorAppendEntry(entry, err);
entry->expires = squid_curtime;
return;
@@ -474,4 +487,3 @@
}
return instance;
}
-
diff -u -r -N squid-5.0.5/src/CacheManager.h squid-5.0.6/src/CacheManager.h
--- squid-5.0.5/src/CacheManager.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/CacheManager.h 2021-05-10 21:02:34.000000000 +1200
@@ -9,6 +9,7 @@
#ifndef SQUID_CACHEMANAGER_H
#define SQUID_CACHEMANAGER_H
+#include "anyp/forward.h"
#include "comm/forward.h"
#include "log/forward.h"
#include "mgr/Action.h"
@@ -51,7 +52,7 @@
protected:
CacheManager() {} ///< use Instance() instead
- Mgr::CommandPointer ParseUrl(const char *url);
+ Mgr::CommandPointer ParseUrl(const AnyP::Uri &);
void ParseHeaders(const HttpRequest * request, Mgr::ActionParams ¶ms);
int CheckPassword(const Mgr::Command &cmd);
char *PasswdGet(Mgr::ActionPasswordList *, const char *);
diff -u -r -N squid-5.0.5/src/cbdata.cc squid-5.0.6/src/cbdata.cc
--- squid-5.0.5/src/cbdata.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/cbdata.cc 2021-05-10 21:02:34.000000000 +1200
@@ -16,6 +16,7 @@
#include "Store.h"
#include
+#include
#if USE_CBDATA_DEBUG
#include
@@ -46,8 +47,6 @@
#endif
-#define OFFSET_OF(TYPE, MEMBER) ((size_t) &(((TYPE) *)0)->(MEMBER))
-
/**
* Manage a set of registered callback data pointers.
* One of the easiest ways to make Squid coredump is to issue a
@@ -91,6 +90,15 @@
{}
~cbdata();
+ static cbdata *FromUserData(const void *p) {
+#if WITH_VALGRIND
+ return cbdata_htable.at(p);
+#else
+ const auto t = static_cast(p) - offsetof(cbdata, data);
+ return reinterpret_cast(const_cast(t));
+#endif
+ }
+
int valid;
int32_t locks;
cbdata_type type;
@@ -116,25 +124,14 @@
#if !WITH_VALGRIND
size_t dataSize() const { return sizeof(data);}
- static long MakeOffset();
- static const long Offset;
#endif
/* MUST be the last per-instance member */
void *data;
};
-const long cbdata::Cookie((long)0xDEADBEEF);
-#if !WITH_VALGRIND
-const long cbdata::Offset(MakeOffset());
+static_assert(std::is_standard_layout::value, "the behavior of offsetof(cbdata) is defined");
-long
-cbdata::MakeOffset()
-{
- cbdata *zero = (cbdata *)0L;
- void **dataOffset = &zero->data;
- return (long)dataOffset;
-}
-#endif
+const long cbdata::Cookie((long)0xDEADBEEF);
static OBJH cbdataDump;
#if USE_CBDATA_DEBUG
@@ -186,8 +183,7 @@
snprintf(label, strlen(name) + 20, "cbdata %s (%d)", name, (int) type);
#if !WITH_VALGRIND
- assert((size_t)cbdata::Offset == (sizeof(cbdata) - ((cbdata *)NULL)->dataSize()));
- size += cbdata::Offset;
+ size += offsetof(cbdata, data);
#endif
cbdata_index[type].pool = memPoolCreate(label, size);
@@ -297,12 +293,7 @@
void *
cbdataInternalFree(void *p, const char *file, int line)
{
- cbdata *c;
-#if WITH_VALGRIND
- c = cbdata_htable.at(p);
-#else
- c = (cbdata *) (((char *) p) - cbdata::Offset);
-#endif
+ auto *c = cbdata::FromUserData(p);
#if USE_CBDATA_DEBUG
debugs(45, 3, p << " " << file << ":" << line);
#else
@@ -333,16 +324,10 @@
cbdataInternalLock(const void *p)
#endif
{
- cbdata *c;
-
if (p == NULL)
return;
-#if WITH_VALGRIND
- c = cbdata_htable.at(p);
-#else
- c = (cbdata *) (((char *) p) - cbdata::Offset);
-#endif
+ auto *c = cbdata::FromUserData(p);
#if USE_CBDATA_DEBUG
debugs(45, 3, p << "=" << (c ? c->locks + 1 : -1) << " " << file << ":" << line);
@@ -365,16 +350,10 @@
cbdataInternalUnlock(const void *p)
#endif
{
- cbdata *c;
-
if (p == NULL)
return;
-#if WITH_VALGRIND
- c = cbdata_htable.at(p);
-#else
- c = (cbdata *) (((char *) p) - cbdata::Offset);
-#endif
+ auto *c = cbdata::FromUserData(p);
#if USE_CBDATA_DEBUG
debugs(45, 3, p << "=" << (c ? c->locks - 1 : -1) << " " << file << ":" << line);
@@ -411,18 +390,12 @@
int
cbdataReferenceValid(const void *p)
{
- cbdata *c;
-
if (p == NULL)
return 1; /* A NULL pointer cannot become invalid */
debugs(45, 9, p);
-#if WITH_VALGRIND
- c = cbdata_htable.at(p);
-#else
- c = (cbdata *) (((char *) p) - cbdata::Offset);
-#endif
+ const auto c = cbdata::FromUserData(p);
c->check(__LINE__);
@@ -502,7 +475,7 @@
#if WITH_VALGRIND
int obj_size = pool->objectSize();
#else
- int obj_size = pool->objectSize() - cbdata::Offset;
+ int obj_size = pool->objectSize() - offsetof(cbdata, data);
#endif
storeAppendPrintf(sentry, "%s\t%d\t%ld\t%ld\n", pool->objectType() + 7, obj_size, (long int)pool->getMeter().inuse.currentLevel(), (long int)obj_size * pool->getMeter().inuse.currentLevel());
}
diff -u -r -N squid-5.0.5/src/cf.data.pre squid-5.0.6/src/cf.data.pre
--- squid-5.0.5/src/cf.data.pre 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/cf.data.pre 2021-05-10 21:02:34.000000000 +1200
@@ -84,7 +84,7 @@
files using the syntax:
parameters("/path/filename")
For example:
- acl whitelist dstdomain parameters("/etc/squid/whitelist.txt")
+ acl allowlist dstdomain parameters("/etc/squid/allowlist.txt")
Conditional configuration
@@ -2455,7 +2455,7 @@
require-proxy-header
Require PROXY protocol version 1 or 2 connections.
- The proxy_protocol_access is required to whitelist
+ The proxy_protocol_access is required to permit
downstream proxies which can be trusted.
worker-queues
diff -u -r -N squid-5.0.5/src/clients/Client.cc squid-5.0.6/src/clients/Client.cc
--- squid-5.0.5/src/clients/Client.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/clients/Client.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,7 +14,7 @@
#include "comm/Connection.h"
#include "comm/forward.h"
#include "comm/Write.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "errorpage.h"
#include "fd.h"
#include "HttpHdrContRange.h"
@@ -520,8 +520,11 @@
maybePurgeOthers();
// adaptation may overwrite old offset computed using the virgin response
- const bool partial = theFinalReply->contentRange();
- currentOffset = partial ? theFinalReply->contentRange()->spec.offset : 0;
+ currentOffset = 0;
+ if (const auto cr = theFinalReply->contentRange()) {
+ if (cr->spec.offset != HttpHdrRangeSpec::UnknownPosition)
+ currentOffset = cr->spec.offset;
+ }
}
/// whether to prevent caching of an otherwise cachable response
@@ -869,15 +872,18 @@
if (entry->isEmpty()) {
debugs(11,8, "adaptation failure with an empty entry: " << *entry);
const auto err = new ErrorState(ERR_ICAP_FAILURE, Http::scInternalServerError, request.getRaw(), fwd->al);
- err->detailError(ERR_DETAIL_ICAP_RESPMOD_EARLY);
+ static const auto d = MakeNamedErrorDetail("ICAP_RESPMOD_EARLY");
+ err->detailError(d);
fwd->fail(err);
fwd->dontRetry(true);
abortAll("adaptation failure with an empty entry");
return true; // handled
}
- if (request) // update logged info directly
- request->detailError(ERR_ICAP_FAILURE, ERR_DETAIL_ICAP_RESPMOD_LATE);
+ if (request) { // update logged info directly
+ static const auto d = MakeNamedErrorDetail("ICAP_RESPMOD_LATE");
+ request->detailError(ERR_ICAP_FAILURE, d);
+ }
return false; // the caller must handle
}
@@ -892,8 +898,10 @@
return;
if (!entry->isEmpty()) { // too late to block (should not really happen)
- if (request)
- request->detailError(ERR_ICAP_FAILURE, ERR_DETAIL_RESPMOD_BLOCK_LATE);
+ if (request) {
+ static const auto d = MakeNamedErrorDetail("RESPMOD_BLOCK_LATE");
+ request->detailError(ERR_ICAP_FAILURE, d);
+ }
abortAll("late adaptation block");
return;
}
@@ -906,7 +914,8 @@
page_id = ERR_ACCESS_DENIED;
const auto err = new ErrorState(page_id, Http::scForbidden, request.getRaw(), fwd->al);
- err->detailError(ERR_DETAIL_RESPMOD_BLOCK_EARLY);
+ static const auto d = MakeNamedErrorDetail("RESPMOD_BLOCK_EARLY");
+ err->detailError(d);
fwd->fail(err);
fwd->dontRetry(true);
diff -u -r -N squid-5.0.5/src/clients/FtpClient.cc squid-5.0.6/src/clients/FtpClient.cc
--- squid-5.0.5/src/clients/FtpClient.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/clients/FtpClient.cc 2021-05-10 21:02:34.000000000 +1200
@@ -16,11 +16,14 @@
#include "comm/Read.h"
#include "comm/TcpAcceptor.h"
#include "comm/Write.h"
+#include "error/SysErrorDetail.h"
#include "errorpage.h"
#include "fd.h"
#include "ftp/Parsing.h"
#include "http/Stream.h"
#include "ip/tools.h"
+#include "sbuf/SBuf.h"
+#include "sbuf/Stream.h"
#include "SquidConfig.h"
#include "SquidString.h"
#include "StatCounters.h"
@@ -64,6 +67,20 @@
return ret;
}
+/* Ftp::ErrorDetail */
+
+SBuf
+Ftp::ErrorDetail::brief() const
+{
+ return ToSBuf("FTP_REPLY_CODE=", completionCode);
+}
+
+SBuf
+Ftp::ErrorDetail::verbose(const HttpRequest::Pointer &) const
+{
+ return ToSBuf("FTP reply with completion code ", completionCode);
+}
+
/* Ftp::Channel */
/// configures the channel with a descriptor and registers a close handler
@@ -285,7 +302,7 @@
ftperr->ftp.reply = xstrdup(reply);
if (!err) {
- fwd->request->detailError(error, xerrno);
+ fwd->request->detailError(error, SysErrorDetail::NewIfAny(xerrno));
fwd->fail(ftperr);
closeServer(); // we failed, so no serverComplete()
}
diff -u -r -N squid-5.0.5/src/clients/FtpClient.h squid-5.0.6/src/clients/FtpClient.h
--- squid-5.0.5/src/clients/FtpClient.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/clients/FtpClient.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#define SQUID_FTP_CLIENT_H
#include "clients/Client.h"
+#include "error/Detail.h"
class String;
namespace Ftp
@@ -19,6 +20,24 @@
extern const char *const crlf;
+/// Holds FTP server reply error code
+/// Squid needs to interpret internally FTP reply codes and respond with
+/// custom error (eg in the case of Ftp::Gateway), however still we need
+/// to log the exact FTP server error reply code as the reason of error.
+class ErrorDetail: public ::ErrorDetail {
+ MEMPROXY_CLASS(Ftp::ErrorDetail);
+
+public:
+ explicit ErrorDetail(const int code): completionCode(code) {}
+
+ /* ErrorDetail API */
+ virtual SBuf brief() const override;
+ virtual SBuf verbose(const HttpRequestPointer &) const override;
+
+private:
+ int completionCode; ///< FTP reply completion code
+};
+
/// Common code for FTP server control and data channels.
/// Does not own the channel descriptor, which is managed by Ftp::Client.
class Channel
diff -u -r -N squid-5.0.5/src/clients/FtpGateway.cc squid-5.0.6/src/clients/FtpGateway.cc
--- squid-5.0.5/src/clients/FtpGateway.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/clients/FtpGateway.cc 2021-05-10 21:02:34.000000000 +1200
@@ -2433,8 +2433,8 @@
Http::StatusCode sc = ftpState->failedHttpStatus(error_code);
const auto ftperr = new ErrorState(error_code, sc, ftpState->fwd->request, ftpState->fwd->al);
- ftpState->failed(error_code, code, ftperr);
- ftperr->detailError(code);
+ ftpState->failed(error_code, 0, ftperr);
+ ftperr->detailError(new Ftp::ErrorDetail(code));
HttpReply *newrep = ftperr->BuildHttpReply();
delete ftperr;
@@ -2514,8 +2514,7 @@
else
err.ftp.reply = xstrdup("");
- // TODO: interpret as FTP-specific error code
- err.detailError(code);
+ err.detailError(new Ftp::ErrorDetail(code));
ftpState->entry->replaceHttpReply(err.BuildHttpReply());
diff -u -r -N squid-5.0.5/src/clients/FtpRelay.cc squid-5.0.6/src/clients/FtpRelay.cc
--- squid-5.0.5/src/clients/FtpRelay.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/clients/FtpRelay.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,6 +14,7 @@
#include "client_side.h"
#include "clients/forward.h"
#include "clients/FtpClient.h"
+#include "error/SysErrorDetail.h"
#include "ftp/Elements.h"
#include "ftp/Parsing.h"
#include "http/Stream.h"
@@ -298,7 +299,7 @@
const Http::StatusCode httpStatus = failedHttpStatus(error);
HttpReply *const reply = createHttpReply(httpStatus);
entry->replaceHttpReply(reply);
- fwd->request->detailError(error, xerrno);
+ fwd->request->detailError(error, SysErrorDetail::NewIfAny(xerrno));
}
void
diff -u -r -N squid-5.0.5/src/client_side.cc squid-5.0.6/src/client_side.cc
--- squid-5.0.5/src/client_side.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/client_side.cc 2021-05-10 21:02:34.000000000 +1200
@@ -76,6 +76,7 @@
#include "comm/TcpAcceptor.h"
#include "comm/Write.h"
#include "CommCalls.h"
+#include "error/ExceptionErrorDetail.h"
#include "errorpage.h"
#include "fd.h"
#include "fde.h"
@@ -105,6 +106,8 @@
#include "profiler/Profiler.h"
#include "proxyp/Header.h"
#include "proxyp/Parser.h"
+#include "sbuf/Stream.h"
+#include "security/Io.h"
#include "security/NegotiationHistory.h"
#include "servers/forward.h"
#include "SquidConfig.h"
@@ -175,7 +178,6 @@
static void clientListenerConnectionOpened(AnyP::PortCfgPointer &s, const Ipc::FdNoteId portTypeNote, const Subscription::Pointer &sub);
static IOACB httpAccept;
-static CTCB clientLifetimeTimeout;
#if USE_IDENT
static IDCB clientIdentDone;
#endif
@@ -315,7 +317,7 @@
{
clientUpdateStatCounters(logType);
- if (request->errType != ERR_NONE)
+ if (request->error)
++ statCounter.client_http.errors;
clientUpdateStatHistCounters(logType,
@@ -372,8 +374,7 @@
// TODO: avoid losses by keeping these stats in a shared history object?
if (aLogEntry->request) {
aLogEntry->request->dnsWait = request->dnsWait;
- aLogEntry->request->errType = request->errType;
- aLogEntry->request->errDetail = request->errDetail;
+ aLogEntry->request->error = request->error;
}
}
@@ -586,21 +587,38 @@
}
#endif
+void
+ConnStateData::resetReadTimeout(const time_t timeout)
+{
+ typedef CommCbMemFunT TimeoutDialer;
+ AsyncCall::Pointer callback = JobCallback(33, 5, TimeoutDialer, this, ConnStateData::requestTimeout);
+ commSetConnTimeout(clientConnection, timeout, callback);
+}
+
+void
+ConnStateData::extendLifetime()
+{
+ typedef CommCbMemFunT TimeoutDialer;
+ AsyncCall::Pointer callback = JobCallback(5, 4, TimeoutDialer, this, ConnStateData::lifetimeTimeout);
+ commSetConnTimeout(clientConnection, Config.Timeout.lifetime, callback);
+}
+
// cleans up before destructor is called
void
ConnStateData::swanSong()
{
debugs(33, 2, HERE << clientConnection);
- checkLogging();
flags.readMore = false;
clientdbEstablished(clientConnection->remote, -1); /* decrement */
- pipeline.terminateAll(0);
+
+ terminateAll(ERR_NONE, LogTagsErrors());
+ checkLogging();
// XXX: Closing pinned conn is too harsh: The Client may want to continue!
unpinConnection(true);
- Server::swanSong(); // closes the client connection
+ Server::swanSong();
#if USE_AUTH
// NP: do this bit after closing the connections to avoid side effects from unwanted TCP RST
@@ -610,6 +628,31 @@
flags.swanSang = true;
}
+void
+ConnStateData::callException(const std::exception &ex)
+{
+ Server::callException(ex); // logs ex and stops the job
+
+ ErrorDetail::Pointer errorDetail;
+ if (const auto tex = dynamic_cast(&ex))
+ errorDetail = new ExceptionErrorDetail(tex->id());
+ else
+ errorDetail = new ExceptionErrorDetail(Here().id());
+ updateError(ERR_GATEWAY_FAILURE, errorDetail);
+}
+
+void
+ConnStateData::updateError(const Error &error)
+{
+ if (const auto context = pipeline.front()) {
+ const auto http = context->http;
+ assert(http);
+ http->updateError(error);
+ } else {
+ bareError.update(error);
+ }
+}
+
bool
ConnStateData::isOpen() const
{
@@ -735,8 +778,8 @@
* warning: assumes that HTTP headers for individual ranges at the
* time of the actuall assembly will be exactly the same as
* the headers when clientMRangeCLen() is called */
-int
-ClientHttpRequest::mRangeCLen()
+int64_t
+ClientHttpRequest::mRangeCLen() const
{
int64_t clen = 0;
MemBuf mb;
@@ -864,10 +907,7 @@
/**
* Set the timeout BEFORE calling readSomeData().
*/
- typedef CommCbMemFunT TimeoutDialer;
- AsyncCall::Pointer timeoutCall = JobCallback(33, 5,
- TimeoutDialer, this, ConnStateData::requestTimeout);
- commSetConnTimeout(clientConnection, clientConnection->timeLeft(idleTimeout()), timeoutCall);
+ resetReadTimeout(clientConnection->timeLeft(idleTimeout()));
readSomeData();
/** Please don't do anything with the FD past here! */
@@ -1413,21 +1453,22 @@
}
bool
-ConnStateData::connFinishedWithConn(int size)
+ConnStateData::shouldCloseOnEof() const
{
- if (size == 0) {
- if (pipeline.empty() && inBuf.isEmpty()) {
- /* no current or pending requests */
- debugs(33, 4, HERE << clientConnection << " closed");
- return true;
- } else if (!Config.onoff.half_closed_clients) {
- /* admin doesn't want to support half-closed client sockets */
- debugs(33, 3, HERE << clientConnection << " aborted (half_closed_clients disabled)");
- pipeline.terminateAll(0);
- return true;
- }
+ if (pipeline.empty() && inBuf.isEmpty()) {
+ debugs(33, 4, "yes, without active requests and unparsed input");
+ return true;
+ }
+
+ if (!Config.onoff.half_closed_clients) {
+ debugs(33, 3, "yes, without half_closed_clients");
+ return true;
}
+ // Squid currently tries to parse (possibly again) a partially received
+ // request after an EOF with half_closed_clients. To give that last parse in
+ // afterClientRead() a chance, we ignore partially parsed requests here.
+ debugs(33, 3, "no, honoring half_closed_clients");
return false;
}
@@ -1487,7 +1528,7 @@
repContext->setReplyToStoreEntry(sslServerBump->entry, "delayed SslBump error");
// Get error details from the fake certificate-peeking request.
- http->request->detailError(sslServerBump->request->errType, sslServerBump->request->errDetail);
+ http->request->error.update(sslServerBump->request->error);
context->pullData();
return true;
}
@@ -1524,10 +1565,10 @@
// Create an error object and fill it
const auto err = new ErrorState(ERR_SECURE_CONNECT_FAIL, Http::scServiceUnavailable, request, http->al);
err->src_addr = clientConnection->remote;
- Ssl::ErrorDetail *errDetail = new Ssl::ErrorDetail(
+ const Security::ErrorDetail::Pointer errDetail = new Security::ErrorDetail(
SQUID_X509_V_ERR_DOMAIN_MISMATCH,
- srvCert.get(), nullptr);
- err->detail = errDetail;
+ srvCert, nullptr);
+ updateError(ERR_SECURE_CONNECT_FAIL, errDetail);
repContext->setReplyToError(request->method, err);
assert(context->http->out.offset == 0);
context->pullData();
@@ -1755,6 +1796,20 @@
clientProcessRequestFinished(conn, request);
}
+void
+ConnStateData::add(const Http::StreamPointer &context)
+{
+ debugs(33, 3, context << " to " << pipeline.count() << '/' << pipeline.nrequests);
+ if (bareError) {
+ debugs(33, 5, "assigning " << bareError);
+ assert(context);
+ assert(context->http);
+ context->http->updateError(bareError);
+ bareError.clear();
+ }
+ pipeline.add(context);
+}
+
int
ConnStateData::pipelinePrefetchMax() const
{
@@ -1873,11 +1928,7 @@
return;
receivedFirstByte_ = true;
- // Set timeout to Config.Timeout.request
- typedef CommCbMemFunT TimeoutDialer;
- AsyncCall::Pointer timeoutCall = JobCallback(33, 5,
- TimeoutDialer, this, ConnStateData::requestTimeout);
- commSetConnTimeout(clientConnection, Config.Timeout.request, timeoutCall);
+ resetReadTimeout(Config.Timeout.request);
}
/**
@@ -1924,11 +1975,7 @@
if (Http::StreamPointer context = parseOneRequest()) {
debugs(33, 5, clientConnection << ": done parsing a request");
-
- AsyncCall::Pointer timeoutCall = commCbCall(5, 4, "clientLifetimeTimeout",
- CommTimeoutCbPtrFun(clientLifetimeTimeout, context->http));
- commSetConnTimeout(clientConnection, Config.Timeout.lifetime, timeoutCall);
-
+ extendLifetime();
context->registerWithConn();
#if USE_OPENSSL
@@ -1973,14 +2020,9 @@
if (!clientParseRequests()) {
if (!isOpen())
return;
- /*
- * If the client here is half closed and we failed
- * to parse a request, close the connection.
- * The above check with connFinishedWithConn() only
- * succeeds _if_ the buffer is empty which it won't
- * be if we have an incomplete request.
- * XXX: This duplicates ConnStateData::kick
- */
+ // We may get here if the client half-closed after sending a partial
+ // request. See doClientRead() and shouldCloseOnEof().
+ // XXX: This partially duplicates ConnStateData::kick().
if (pipeline.empty() && commIsHalfClosed(clientConnection->fd)) {
debugs(33, 5, clientConnection << ": half-closed connection, no completed request parsed, connection closing.");
clientConnection->close();
@@ -2148,6 +2190,7 @@
return;
const err_type error = receivedFirstByte_ ? ERR_REQUEST_PARSE_TIMEOUT : ERR_REQUEST_START_TIMEOUT;
+ updateError(error);
if (tunnelOnError(HttpRequestMethod(), error))
return;
@@ -2163,16 +2206,15 @@
io.conn->close();
}
-static void
-clientLifetimeTimeout(const CommTimeoutCbParams &io)
+void
+ConnStateData::lifetimeTimeout(const CommTimeoutCbParams &io)
{
- ClientHttpRequest *http = static_cast(io.data);
- debugs(33, DBG_IMPORTANT, "WARNING: Closing client connection due to lifetime timeout");
- debugs(33, DBG_IMPORTANT, "\t" << http->uri);
- if (const auto conn = http->getConn())
- conn->pipeline.terminateAll(ETIMEDOUT);
- if (Comm::IsConnOpen(io.conn))
- io.conn->close();
+ debugs(33, DBG_IMPORTANT, "WARNING: Closing client connection due to lifetime timeout" <<
+ Debug::Extra << "connection: " << io.conn);
+
+ LogTagsErrors lte;
+ lte.timedout = true;
+ terminateAll(ERR_LIFETIME_EXP, lte);
}
ConnStateData::ConnStateData(const MasterXaction::Pointer &xact) :
@@ -2339,93 +2381,32 @@
return false;
}
-/**
- *
- * \retval 1 on success
- * \retval 0 when needs more data
- * \retval -1 on error
- */
-static int
-tlsAttemptHandshake(ConnStateData *conn, PF *callback)
-{
- // TODO: maybe throw instead of returning -1
- // see https://github.com/squid-cache/squid/pull/81#discussion_r153053278
- int fd = conn->clientConnection->fd;
- auto session = fd_table[fd].ssl.get();
-
- errno = 0;
-
-#if USE_OPENSSL
- const auto ret = SSL_accept(session);
- if (ret > 0)
- return 1;
-
- const int xerrno = errno;
- const auto ssl_error = SSL_get_error(session, ret);
-
- switch (ssl_error) {
-
- case SSL_ERROR_WANT_READ:
- Comm::SetSelect(fd, COMM_SELECT_READ, callback, (callback ? conn : nullptr), 0);
- return 0;
-
- case SSL_ERROR_WANT_WRITE:
- Comm::SetSelect(fd, COMM_SELECT_WRITE, callback, (callback ? conn : nullptr), 0);
- return 0;
-
- case SSL_ERROR_SYSCALL:
- if (ret == 0) {
- debugs(83, 2, "Error negotiating SSL connection on FD " << fd << ": Aborted by client: " << ssl_error);
- } else {
- debugs(83, (xerrno == ECONNRESET) ? 1 : 2, "Error negotiating SSL connection on FD " << fd << ": " <<
- (xerrno == 0 ? Security::ErrorString(ssl_error) : xstrerr(xerrno)));
- }
- break;
-
- case SSL_ERROR_ZERO_RETURN:
- debugs(83, DBG_IMPORTANT, "Error negotiating SSL connection on FD " << fd << ": Closed by client");
- break;
-
- default:
- debugs(83, DBG_IMPORTANT, "Error negotiating SSL connection on FD " <<
- fd << ": " << Security::ErrorString(ssl_error) <<
- " (" << ssl_error << "/" << ret << ")");
- }
-
-#elif USE_GNUTLS
-
- const auto x = gnutls_handshake(session);
- if (x == GNUTLS_E_SUCCESS)
- return 1;
-
- if (gnutls_error_is_fatal(x)) {
- debugs(83, 2, "Error negotiating TLS on " << conn->clientConnection << ": Aborted by client: " << Security::ErrorString(x));
-
- } else if (x == GNUTLS_E_INTERRUPTED || x == GNUTLS_E_AGAIN) {
- const auto ioAction = (gnutls_record_get_direction(session)==0 ? COMM_SELECT_READ : COMM_SELECT_WRITE);
- Comm::SetSelect(fd, ioAction, callback, (callback ? conn : nullptr), 0);
- return 0;
- }
-
-#else
- // Performing TLS handshake should never be reachable without a TLS/SSL library.
- (void)session; // avoid compiler and static analysis complaints
- fatal("FATAL: HTTPS not supported by this Squid.");
-#endif
-
- return -1;
-}
-
/** negotiate an SSL connection */
static void
clientNegotiateSSL(int fd, void *data)
{
ConnStateData *conn = (ConnStateData *)data;
- const int ret = tlsAttemptHandshake(conn, clientNegotiateSSL);
- if (ret <= 0) {
- if (ret < 0) // An error
- conn->clientConnection->close();
+ const auto handshakeResult = Security::Accept(*conn->clientConnection);
+ switch (handshakeResult.category) {
+ case Security::IoResult::ioSuccess:
+ break;
+
+ case Security::IoResult::ioWantRead:
+ Comm::SetSelect(conn->clientConnection->fd, COMM_SELECT_READ, clientNegotiateSSL, conn, 0);
+ return;
+
+ case Security::IoResult::ioWantWrite:
+ Comm::SetSelect(conn->clientConnection->fd, COMM_SELECT_WRITE, clientNegotiateSSL, conn, 0);
+ return;
+
+ case Security::IoResult::ioError:
+ debugs(83, (handshakeResult.important ? DBG_IMPORTANT : 2), "ERROR: " << handshakeResult.errorDescription <<
+ " while accepting a TLS connection on " << conn->clientConnection << ": " << handshakeResult.errorDetail);
+ // TODO: No ConnStateData::tunnelOnError() on this forward-proxy code
+ // path because we cannot know the intended connection target?
+ conn->updateError(ERR_SECURE_ACCEPT_FAIL, handshakeResult.errorDetail);
+ conn->clientConnection->close();
return;
}
@@ -2501,6 +2482,15 @@
debugs(83, 2, "Client certificate requesting not yet implemented.");
#endif
+ // If we are called, then bumped CONNECT has succeeded. Finalize it.
+ if (auto xact = conn->pipeline.front()) {
+ if (xact->http && xact->http->request && xact->http->request->method == Http::METHOD_CONNECT)
+ xact->finished();
+ // cannot proceed with encryption if requests wait for plain responses
+ Must(conn->pipeline.empty());
+ }
+ /* careful: finished() above frees request, host, etc. */
+
conn->readSomeData();
}
@@ -2517,10 +2507,7 @@
if (!ctx || !httpsCreate(connState, ctx))
return;
- typedef CommCbMemFunT TimeoutDialer;
- AsyncCall::Pointer timeoutCall = JobCallback(33, 5, TimeoutDialer,
- connState, ConnStateData::requestTimeout);
- commSetConnTimeout(details, Config.Timeout.request, timeoutCall);
+ connState->resetReadTimeout(Config.Timeout.request);
Comm::SetSelect(details->fd, COMM_SELECT_READ, clientNegotiateSSL, connState, 0);
}
@@ -2622,6 +2609,7 @@
acl_checklist->al->cache.port = port;
acl_checklist->al->cache.caddr = log_addr;
acl_checklist->al->proxyProtocolHeader = proxyProtocolHeader_;
+ acl_checklist->al->updateError(bareError);
HTTPMSGUNLOCK(acl_checklist->al->request);
acl_checklist->al->request = request;
HTTPMSGLOCK(acl_checklist->al->request);
@@ -2798,15 +2786,6 @@
void
ConnStateData::getSslContextStart()
{
- // If we are called, then CONNECT has succeeded. Finalize it.
- if (auto xact = pipeline.front()) {
- if (xact->http && xact->http->request && xact->http->request->method == Http::METHOD_CONNECT)
- xact->finished();
- // cannot proceed with encryption if requests wait for plain responses
- Must(pipeline.empty());
- }
- /* careful: finished() above frees request, host, etc. */
-
if (port->secure.generateHostCertificates) {
Ssl::CertificateProperties certProperties;
buildSslCertGenerationParams(certProperties);
@@ -2889,10 +2868,7 @@
// bumped intercepted conns should already have Config.Timeout.request set
// but forwarded connections may only have Config.Timeout.lifetime. [Re]set
// to make sure the connection does not get stuck on non-SSL clients.
- typedef CommCbMemFunT TimeoutDialer;
- AsyncCall::Pointer timeoutCall = JobCallback(33, 5, TimeoutDialer,
- this, ConnStateData::requestTimeout);
- commSetConnTimeout(clientConnection, Config.Timeout.request, timeoutCall);
+ resetReadTimeout(Config.Timeout.request);
switchedToHttps_ = true;
@@ -2941,10 +2917,7 @@
// commSetConnTimeout() was called for this request before we switched.
// Fix timeout to request_start_timeout
- typedef CommCbMemFunT TimeoutDialer;
- AsyncCall::Pointer timeoutCall = JobCallback(33, 5,
- TimeoutDialer, this, ConnStateData::requestTimeout);
- commSetConnTimeout(clientConnection, Config.Timeout.request_start_timeout, timeoutCall);
+ resetReadTimeout(Config.Timeout.request_start_timeout);
// Also reset receivedFirstByte_ flag to allow this timeout work in the case we have
// a bumbed "connect" request on non transparent port.
receivedFirstByte_ = false;
@@ -2969,7 +2942,9 @@
receivedFirstByte();
fd_note(clientConnection->fd, "Parsing TLS handshake");
- bool unsupportedProtocol = false;
+ // stops being nil if we fail to parse the handshake
+ ErrorDetail::Pointer parseErrorDetails;
+
try {
if (!tlsParser.parseHello(inBuf)) {
// need more data to finish parsing
@@ -2977,9 +2952,14 @@
return;
}
}
- catch (const std::exception &ex) {
- debugs(83, 2, "error on FD " << clientConnection->fd << ": " << ex.what());
- unsupportedProtocol = true;
+ catch (const TextException &ex) {
+ debugs(83, 2, "exception: " << ex);
+ parseErrorDetails = new ExceptionErrorDetail(ex.id());
+ }
+ catch (...) {
+ debugs(83, 2, "exception: " << CurrentException);
+ static const auto d = MakeNamedErrorDetail("TLS_ACCEPT_PARSE");
+ parseErrorDetails = d;
}
parsingTlsHandshake = false;
@@ -3000,13 +2980,12 @@
// We should disable read/write handlers
Comm::ResetSelect(clientConnection->fd);
- if (unsupportedProtocol) {
+ if (parseErrorDetails) {
Http::StreamPointer context = pipeline.front();
Must(context && context->http);
HttpRequest::Pointer request = context->http->request;
debugs(83, 5, "Got something other than TLS Client Hello. Cannot SslBump.");
- sslBumpMode = Ssl::bumpSplice;
- context->http->al->ssl.bumpMode = Ssl::bumpSplice;
+ updateError(ERR_PROTOCOL_UNKNOWN, parseErrorDetails);
if (!clientTunnelOnError(this, context, request, HttpRequestMethod(), ERR_PROTOCOL_UNKNOWN))
clientConnection->close();
return;
@@ -3130,17 +3109,15 @@
bio->setReadBufData(inBuf);
bio->hold(true);
- // Here squid should have all of the client hello message so the
- // tlsAttemptHandshake() should return 0.
- // This block exist only to force openSSL parse client hello and detect
- // ERR_SECURE_ACCEPT_FAIL error, which should be checked and splice if required.
- if (tlsAttemptHandshake(this, nullptr) < 0) {
- debugs(83, 2, "TLS handshake failed.");
- HttpRequest::Pointer request(http ? http->request : nullptr);
- if (!clientTunnelOnError(this, context, request, HttpRequestMethod(), ERR_SECURE_ACCEPT_FAIL))
- clientConnection->close();
- return;
- }
+ // We have successfully parsed client Hello, but our TLS handshake parser is
+ // forgiving. Now we use a TLS library to parse the same bytes, so that we
+ // can honor on_unsupported_protocol if needed. If there are no errors, we
+ // expect Security::Accept() to ask us to write (our) TLS server Hello. We
+ // also allow an ioWantRead result in case some fancy TLS extension that
+ // Squid does not yet understand requires reading post-Hello client bytes.
+ const auto handshakeResult = Security::Accept(*clientConnection);
+ if (!handshakeResult.wantsIo())
+ return handleSslBumpHandshakeError(handshakeResult);
// We need to reset inBuf here, to be used by incoming requests in the case
// of SSL bump
@@ -3150,6 +3127,43 @@
FwdState::Start(clientConnection, sslServerBump->entry, sslServerBump->request.getRaw(), http ? http->al : NULL);
}
+/// process a problematic Security::Accept() result on the SslBump code path
+void
+ConnStateData::handleSslBumpHandshakeError(const Security::IoResult &handshakeResult)
+{
+ auto errCategory = ERR_NONE;
+
+ switch (handshakeResult.category) {
+ case Security::IoResult::ioSuccess: {
+ static const auto d = MakeNamedErrorDetail("TLS_ACCEPT_UNEXPECTED_SUCCESS");
+ updateError(errCategory = ERR_GATEWAY_FAILURE, d);
+ break;
+ }
+
+ case Security::IoResult::ioWantRead: {
+ static const auto d = MakeNamedErrorDetail("TLS_ACCEPT_UNEXPECTED_READ");
+ updateError(errCategory = ERR_GATEWAY_FAILURE, d);
+ break;
+ }
+
+ case Security::IoResult::ioWantWrite: {
+ static const auto d = MakeNamedErrorDetail("TLS_ACCEPT_UNEXPECTED_WRITE");
+ updateError(errCategory = ERR_GATEWAY_FAILURE, d);
+ break;
+ }
+
+ case Security::IoResult::ioError:
+ debugs(83, (handshakeResult.important ? DBG_IMPORTANT : 2), "ERROR: " << handshakeResult.errorDescription <<
+ " while SslBump-accepting a TLS connection on " << clientConnection << ": " << handshakeResult.errorDetail);
+ updateError(errCategory = ERR_SECURE_ACCEPT_FAIL, handshakeResult.errorDetail);
+ break;
+
+ }
+
+ if (!tunnelOnError(HttpRequestMethod(), errCategory))
+ clientConnection->close();
+}
+
void
ConnStateData::doPeekAndSpliceStep()
{
@@ -3207,7 +3221,13 @@
connectHost = clientConnection->local.toStr(ip, sizeof(ip));
connectPort = clientConnection->local.port();
} else {
+ // Typical cases are malformed HTTP requests on http_port and malformed
+ // TLS handshakes on non-bumping https_port. TODO: Discover these
+ // problems earlier so that they can be classified/detailed better.
debugs(33, 2, "Not able to compute URL, abort request tunneling for " << reason);
+ // TODO: throw when nonBlockingCheck() callbacks gain job protections
+ static const auto d = MakeNamedErrorDetail("TUNNEL_TARGET");
+ updateError(ERR_INVALID_REQ, d);
return false;
}
@@ -3268,11 +3288,7 @@
stream->flags.parsed_ok = 1; // Do we need it?
stream->mayUseConnection(true);
-
- AsyncCall::Pointer timeoutCall = commCbCall(5, 4, "clientLifetimeTimeout",
- CommTimeoutCbPtrFun(clientLifetimeTimeout, stream->http));
- commSetConnTimeout(clientConnection, Config.Timeout.lifetime, timeoutCall);
-
+ extendLifetime();
stream->registerWithConn();
MasterXaction::Pointer mx = new MasterXaction(XactionInitiator::initClient);
@@ -3985,21 +4001,45 @@
}
void
-ConnStateData::checkLogging()
+ConnStateData::terminateAll(const Error &error, const LogTagsErrors <e)
{
- // if we are parsing request body, its request is responsible for logging
- if (bodyPipe)
- return;
+ debugs(33, 3, pipeline.count() << '/' << pipeline.nrequests << " after " << error);
- // a request currently using this connection is responsible for logging
- if (!pipeline.empty() && pipeline.back()->mayUseConnection())
- return;
+ if (pipeline.empty()) {
+ bareError.update(error); // XXX: bareLogTagsErrors
+ } else {
+ // We terminate the current CONNECT/PUT/etc. context below, logging any
+ // error details, but that context may leave unparsed bytes behind.
+ // Consume them to stop checkLogging() from logging them again later.
+ const auto intputToConsume =
+#if USE_OPENSSL
+ parsingTlsHandshake ? "TLS handshake" : // more specific than CONNECT
+#endif
+ bodyPipe ? "HTTP request body" :
+ pipeline.back()->mayUseConnection() ? "HTTP CONNECT" :
+ nullptr;
- /* Either we are waiting for the very first transaction, or
- * we are done with the Nth transaction and are waiting for N+1st.
- * XXX: We assume that if anything was added to inBuf, then it could
- * only be consumed by actions already covered by the above checks.
- */
+ while (const auto context = pipeline.front()) {
+ context->noteIoError(error, lte);
+ context->finished(); // cleanup and self-deregister
+ assert(context != pipeline.front());
+ }
+
+ if (intputToConsume && !inBuf.isEmpty()) {
+ debugs(83, 5, "forgetting client " << intputToConsume << " bytes: " << inBuf.length());
+ inBuf.clear();
+ }
+ }
+
+ clientConnection->close();
+}
+
+/// log the last (attempt at) transaction if nobody else did
+void
+ConnStateData::checkLogging()
+{
+ // to simplify our logic, we assume that terminateAll() has been called
+ assert(pipeline.empty());
// do not log connections that closed after a transaction (it is normal)
// TODO: access_log needs ACLs to match received-no-bytes connections
@@ -4011,6 +4051,7 @@
http.req_sz = inBuf.length();
// XXX: Or we died while waiting for the pinned connection to become idle.
http.setErrorUri("error:transaction-end-before-headers");
+ http.updateError(bareError);
}
bool
diff -u -r -N squid-5.0.5/src/client_side.h squid-5.0.6/src/client_side.h
--- squid-5.0.5/src/client_side.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/client_side.h 2021-05-10 21:02:34.000000000 +1200
@@ -11,9 +11,11 @@
#ifndef SQUID_CLIENTSIDE_H
#define SQUID_CLIENTSIDE_H
+#include "acl/forward.h"
#include "base/RunnersRegistry.h"
#include "clientStreamForward.h"
#include "comm.h"
+#include "error/Error.h"
#include "helper/forward.h"
#include "http/forward.h"
#include "HttpControlMsg.h"
@@ -26,6 +28,7 @@
#include "auth/UserRequest.h"
#endif
#if USE_OPENSSL
+#include "security/forward.h"
#include "security/Handshake.h"
#include "ssl/support.h"
#endif
@@ -157,6 +160,11 @@
/// note response sending error and close as soon as we read the request
void stopSending(const char *error);
+ /// (re)sets timeout for receiving more bytes from the client
+ void resetReadTimeout(time_t timeout);
+ /// (re)sets client_lifetime timeout
+ void extendLifetime();
+
void expectNoForwarding(); ///< cleans up virgin request [body] forwarding state
/* BodyPipe API */
@@ -220,11 +228,13 @@
void clientReadFtpData(const CommIoCbParams &io);
void connStateClosed(const CommCloseCbParams &io);
void requestTimeout(const CommTimeoutCbParams ¶ms);
+ void lifetimeTimeout(const CommTimeoutCbParams ¶ms);
// AsyncJob API
virtual void start();
virtual bool doneAll() const { return BodyProducer::doneAll() && false;}
virtual void swanSong();
+ virtual void callException(const std::exception &);
/// Changes state so that we close the connection and quit after serving
/// the client-side-detected error response instead of getting stuck.
@@ -293,6 +303,9 @@
#endif
char *prepareTlsSwitchingURL(const Http1::RequestParserPointer &hp);
+ /// registers a newly created stream
+ void add(const Http::StreamPointer &context);
+
/// handle a control message received by context from a peer and call back
virtual bool writeControlMsgAndCall(HttpReply *rep, AsyncCall::Pointer &call) = 0;
@@ -341,6 +354,17 @@
const ProxyProtocol::HeaderPointer &proxyProtocolHeader() const { return proxyProtocolHeader_; }
+ /// if necessary, stores new error information (if any)
+ void updateError(const Error &);
+
+ /// emplacement/convenience wrapper for updateError(const Error &)
+ void updateError(const err_type c, const ErrorDetailPointer &d) { updateError(Error(c, d)); }
+
+ // Exposed to be accessible inside the ClientHttpRequest constructor.
+ // TODO: Remove. Make sure there is always a suitable ALE instead.
+ /// a problem that occurred without a request (e.g., while parsing headers)
+ Error bareError;
+
protected:
void startDechunkingRequest();
void finishDechunkingRequest(bool withSuccess);
@@ -393,8 +417,10 @@
private:
/* ::Server API */
- virtual bool connFinishedWithConn(int size);
- virtual void checkLogging();
+ virtual void terminateAll(const Error &, const LogTagsErrors &);
+ virtual bool shouldCloseOnEof() const;
+
+ void checkLogging();
void clientAfterReadingRequests();
bool concurrentRequestQueueFilled() const;
@@ -413,6 +439,7 @@
/// Attempts to add a given TLS context to the cache, replacing the old
/// same-key context, if any
void storeTlsContextToCache(const SBuf &cacheKey, Security::ContextPointer &ctx);
+ void handleSslBumpHandshakeError(const Security::IoResult &);
#endif
/// whether PROXY protocol header is still expected
diff -u -r -N squid-5.0.5/src/client_side_reply.cc squid-5.0.6/src/client_side_reply.cc
--- squid-5.0.5/src/client_side_reply.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/client_side_reply.cc 2021-05-10 21:02:34.000000000 +1200
@@ -1574,7 +1574,7 @@
#endif
const bool maySendChunkedReply = !request->multipartRangeRequest() &&
- reply->sline.protocol == AnyP::PROTO_HTTP && // response is HTTP
+ reply->sline.version.protocol == AnyP::PROTO_HTTP && // response is HTTP
(request->http_ver >= Http::ProtocolVersion(1,1));
/* Check whether we should send keep-alive */
@@ -1658,7 +1658,7 @@
http->al->reply = reply;
- if (reply->sline.protocol == AnyP::PROTO_HTTP) {
+ if (reply->sline.version.protocol == AnyP::PROTO_HTTP) {
/* RFC 2616 requires us to advertise our version (but only on real HTTP traffic) */
reply->sline.version = Http::ProtocolVersion();
}
diff -u -r -N squid-5.0.5/src/client_side_request.cc squid-5.0.6/src/client_side_request.cc
--- squid-5.0.5/src/client_side_request.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/client_side_request.cc 2021-05-10 21:02:34.000000000 +1200
@@ -28,7 +28,7 @@
#include "clientStream.h"
#include "comm/Connection.h"
#include "comm/Write.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "errorpage.h"
#include "fd.h"
#include "fde.h"
@@ -157,7 +157,7 @@
maxReplyBodySize_(0),
entry_(NULL),
loggingEntry_(NULL),
- conn_(NULL)
+ conn_(cbdataReference(aConn))
#if USE_OPENSSL
, sslBumpNeed_(Ssl::bumpEnd)
#endif
@@ -166,7 +166,6 @@
, request_satisfaction_offset(0)
#endif
{
- setConn(aConn);
al = new AccessLogEntry;
CodeContext::Reset(al);
al->cache.start_time = current_time;
@@ -175,6 +174,7 @@
al->cache.port = aConn->port;
al->cache.caddr = aConn->log_addr;
al->proxyProtocolHeader = aConn->proxyProtocolHeader();
+ al->updateError(aConn->bareError);
#if USE_OPENSSL
if (aConn->clientConnection != NULL && aConn->clientConnection->isOpen()) {
@@ -285,7 +285,7 @@
loggingEntry(NULL);
if (request)
- checkFailureRatio(request->errType, al->hier.code);
+ checkFailureRatio(request->error.category, al->hier.code);
freeResources();
@@ -1088,9 +1088,6 @@
* iter up at this point.
*/
node->readBuffer.offset = request->range->lowestOffset(0);
- http->range_iter.pos = request->range->begin();
- http->range_iter.end = request->range->end();
- http->range_iter.valid = true;
}
}
@@ -1208,7 +1205,8 @@
switch (reply.result) {
case Helper::TimedOut:
if (Config.onUrlRewriteTimeout.action != toutActBypass) {
- http->calloutsError(ERR_GATEWAY_FAILURE, ERR_DETAIL_REDIRECTOR_TIMEDOUT);
+ static const auto d = MakeNamedErrorDetail("REDIRECTOR_TIMEDOUT");
+ http->calloutsError(ERR_GATEWAY_FAILURE, d);
debugs(85, DBG_IMPORTANT, "ERROR: URL rewrite helper: Timedout");
}
break;
@@ -1622,6 +1620,15 @@
#endif
+void
+ClientHttpRequest::updateError(const Error &error)
+{
+ if (request)
+ request->error.update(error);
+ else
+ al->updateError(error);
+}
+
bool
ClientHttpRequest::gotEnough() const
{
@@ -1947,6 +1954,30 @@
al->setVirginUrlForMissingRequest(errorUri);
}
+// XXX: This should not be a _request_ method. Move range_iter elsewhere.
+int64_t
+ClientHttpRequest::prepPartialResponseGeneration()
+{
+ assert(request);
+ assert(request->range);
+
+ range_iter.pos = request->range->begin();
+ range_iter.end = request->range->end();
+ range_iter.debt_size = 0;
+ const auto multipart = request->range->specs.size() > 1;
+ if (multipart)
+ range_iter.boundary = rangeBoundaryStr();
+ range_iter.valid = true; // TODO: Remove.
+ range_iter.updateSpec(); // TODO: Refactor to initialize rather than update.
+
+ assert(range_iter.pos != range_iter.end);
+ const auto &firstRange = *range_iter.pos;
+ assert(firstRange);
+ out.offset = firstRange->offset;
+
+ return multipart ? mRangeCLen() : firstRange->length;
+}
+
#if USE_ADAPTATION
/// Initiate an asynchronous adaptation transaction which will call us back.
void
@@ -1979,10 +2010,12 @@
handleAdaptationBlock(answer);
break;
- case Adaptation::Answer::akError:
- handleAdaptationFailure(ERR_DETAIL_CLT_REQMOD_ABORT, !answer.final);
+ case Adaptation::Answer::akError: {
+ static const auto d = MakeNamedErrorDetail("CLT_REQMOD_ABORT");
+ handleAdaptationFailure(d, !answer.final);
break;
}
+ }
}
void
@@ -2033,7 +2066,8 @@
void
ClientHttpRequest::handleAdaptationBlock(const Adaptation::Answer &answer)
{
- request->detailError(ERR_ACCESS_DENIED, ERR_DETAIL_REQMOD_BLOCK);
+ static const auto d = MakeNamedErrorDetail("REQMOD_BLOCK");
+ request->detailError(ERR_ACCESS_DENIED, d);
AclMatchedName = answer.ruleId.termedBuf();
assert(calloutContext);
calloutContext->clientAccessCheckDone(ACCESS_DENIED);
@@ -2114,17 +2148,19 @@
debugs(85,3, HERE << "REQMOD body production failed");
if (request_satisfaction_mode) { // too late to recover or serve an error
- request->detailError(ERR_ICAP_FAILURE, ERR_DETAIL_CLT_REQMOD_RESP_BODY);
+ static const auto d = MakeNamedErrorDetail("CLT_REQMOD_RESP_BODY");
+ request->detailError(ERR_ICAP_FAILURE, d);
const Comm::ConnectionPointer c = getConn()->clientConnection;
Must(Comm::IsConnOpen(c));
c->close(); // drastic, but we may be writing a response already
} else {
- handleAdaptationFailure(ERR_DETAIL_CLT_REQMOD_REQ_BODY);
+ static const auto d = MakeNamedErrorDetail("CLT_REQMOD_REQ_BODY");
+ handleAdaptationFailure(d);
}
}
void
-ClientHttpRequest::handleAdaptationFailure(int errDetail, bool bypassable)
+ClientHttpRequest::handleAdaptationFailure(const ErrorDetail::Pointer &errDetail, bool bypassable)
{
debugs(85,3, HERE << "handleAdaptationFailure(" << bypassable << ")");
@@ -2170,7 +2206,7 @@
// XXX: modify and use with ClientRequestContext::clientAccessCheckDone too.
void
-ClientHttpRequest::calloutsError(const err_type error, const int errDetail)
+ClientHttpRequest::calloutsError(const err_type error, const ErrorDetail::Pointer &errDetail)
{
// The original author of the code also wanted to pass an errno to
// setReplyToError, but it seems unlikely that the errno reflects the
diff -u -r -N squid-5.0.5/src/client_side_request.h squid-5.0.6/src/client_side_request.h
--- squid-5.0.5/src/client_side_request.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/client_side_request.h 2021-05-10 21:02:34.000000000 +1200
@@ -65,12 +65,6 @@
ConnStateData * getConn() const {
return (cbdataReferenceValid(conn_) ? conn_ : nullptr);
}
- void setConn(ConnStateData *aConn) {
- if (conn_ != aConn) {
- cbdataReferenceDone(conn_);
- conn_ = cbdataReference(aConn);
- }
- }
/// Initializes the current request with the virgin request.
/// Call this method when the virgin request becomes known.
@@ -149,7 +143,7 @@
dlink_node active;
dlink_list client_stream;
- int mRangeCLen();
+ int64_t mRangeCLen() const;
ClientRequestContext *calloutContext;
void doCallouts();
@@ -166,8 +160,16 @@
/// neither the current request nor the parsed request URI are known
void setErrorUri(const char *errorUri);
+ /// Prepares to satisfy a Range request with a generated HTTP 206 response.
+ /// Initializes range_iter state to allow raw range_iter access.
+ /// \returns Content-Length value for the future response; never negative
+ int64_t prepPartialResponseGeneration();
+
/// Build an error reply. For use with the callouts.
- void calloutsError(const err_type error, const int errDetail);
+ void calloutsError(const err_type error, const ErrorDetail::Pointer &errDetail);
+
+ /// if necessary, stores new error information (if any)
+ void updateError(const Error &error);
#if USE_ADAPTATION
// AsyncJob virtual methods
@@ -216,7 +218,7 @@
private:
/// Handles an adaptation client request failure.
/// Bypasses the error if possible, or build an error reply.
- void handleAdaptationFailure(int errDetail, bool bypassable = false);
+ void handleAdaptationFailure(const ErrorDetail::Pointer &errDetail, bool bypassable = false);
// Adaptation::Initiator API
virtual void noteAdaptationAnswer(const Adaptation::Answer &answer);
diff -u -r -N squid-5.0.5/src/comm/Makefile.am squid-5.0.6/src/comm/Makefile.am
--- squid-5.0.5/src/comm/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/comm/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
noinst_LTLIBRARIES = libcomm.la
## Library holding comm socket handlers
-libcomm_la_SOURCES= \
+libcomm_la_SOURCES = \
AcceptLimiter.cc \
AcceptLimiter.h \
ConnOpener.cc \
@@ -19,7 +19,6 @@
Connection.cc \
Connection.h \
Flag.h \
- forward.h \
IoCallback.cc \
IoCallback.h \
Loops.h \
@@ -36,5 +35,5 @@
UdpOpenDialer.h \
Write.cc \
Write.h \
- \
- comm_internal.h
+ comm_internal.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/comm/Makefile.in squid-5.0.6/src/comm/Makefile.in
--- squid-5.0.5/src/comm/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/comm/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -744,7 +744,6 @@
Connection.cc \
Connection.h \
Flag.h \
- forward.h \
IoCallback.cc \
IoCallback.h \
Loops.h \
@@ -761,8 +760,8 @@
UdpOpenDialer.h \
Write.cc \
Write.h \
- \
- comm_internal.h
+ comm_internal.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/comm/Read.cc squid-5.0.6/src/comm/Read.cc
--- squid-5.0.5/src/comm/Read.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/comm/Read.cc 2021-05-10 21:02:34.000000000 +1200
@@ -101,6 +101,7 @@
} else if (retval == 0) { // remote closure (somewhat less) common
// Note - read 0 == socket EOF, which is a valid read.
params.flag = Comm::ENDFILE;
+ params.size = 0;
} else if (retval < 0) { // connection errors are worst-case
debugs(5, 3, params.conn << " Comm::COMM_ERROR: " << xstrerr(params.xerrno));
@@ -108,6 +109,7 @@
params.flag = Comm::INPROGRESS;
else
params.flag = Comm::COMM_ERROR;
+ params.size = 0;
}
return params.flag;
diff -u -r -N squid-5.0.5/src/comm/TcpAcceptor.cc squid-5.0.6/src/comm/TcpAcceptor.cc
--- squid-5.0.5/src/comm/TcpAcceptor.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/comm/TcpAcceptor.cc 2021-05-10 21:02:34.000000000 +1200
@@ -382,7 +382,13 @@
}
Must(sock >= 0);
+
+ // Sync with Comm ASAP so that abandoned details can properly close().
+ // XXX : these are not all HTTP requests. use a note about type and ip:port details->
+ // so we end up with a uniform "(HTTP|FTP-data|HTTPS|...) remote-ip:remote-port"
+ fd_open(sock, FD_SOCKET, "HTTP Request");
details->fd = sock;
+
details->remote = *gai;
// lookup the local-end details of this new connection
@@ -426,11 +432,6 @@
}
}
- /* fdstat update */
- // XXX : these are not all HTTP requests. use a note about type and ip:port details->
- // so we end up with a uniform "(HTTP|FTP-data|HTTPS|...) remote-ip:remote-port"
- fd_open(sock, FD_SOCKET, "HTTP Request");
-
fde *F = &fd_table[sock];
details->remote.toStr(F->ipaddr,MAX_IPSTRLEN);
F->remote_port = details->remote.port();
diff -u -r -N squid-5.0.5/src/DiskIO/AIO/Makefile.am squid-5.0.6/src/DiskIO/AIO/Makefile.am
--- squid-5.0.5/src/DiskIO/AIO/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/DiskIO/AIO/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,13 +11,13 @@
noinst_LTLIBRARIES = libAIO.la
libAIO_la_SOURCES = \
- async_io.h \
AIODiskFile.cc \
AIODiskFile.h \
AIODiskIOModule.cc \
AIODiskIOModule.h \
AIODiskIOStrategy.cc \
- AIODiskIOStrategy.h
+ AIODiskIOStrategy.h \
+ async_io.h
if ENABLE_WIN32_AIO
libAIO_la_SOURCES += \
diff -u -r -N squid-5.0.5/src/DiskIO/AIO/Makefile.in squid-5.0.6/src/DiskIO/AIO/Makefile.in
--- squid-5.0.5/src/DiskIO/AIO/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/DiskIO/AIO/Makefile.in 2021-05-10 22:57:52.000000000 +1200
@@ -168,9 +168,9 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libAIO_la_LIBADD =
-am__libAIO_la_SOURCES_DIST = async_io.h AIODiskFile.cc AIODiskFile.h \
+am__libAIO_la_SOURCES_DIST = AIODiskFile.cc AIODiskFile.h \
AIODiskIOModule.cc AIODiskIOModule.h AIODiskIOStrategy.cc \
- AIODiskIOStrategy.h aio_win32.cc aio_win32.h
+ AIODiskIOStrategy.h async_io.h aio_win32.cc aio_win32.h
@ENABLE_WIN32_AIO_TRUE@am__objects_1 = aio_win32.lo
am_libAIO_la_OBJECTS = AIODiskFile.lo AIODiskIOModule.lo \
AIODiskIOStrategy.lo $(am__objects_1)
@@ -738,9 +738,9 @@
COMPAT_LIB = $(top_builddir)/compat/libcompatsquid.la $(LIBPROFILER)
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libAIO.la
-libAIO_la_SOURCES = async_io.h AIODiskFile.cc AIODiskFile.h \
- AIODiskIOModule.cc AIODiskIOModule.h AIODiskIOStrategy.cc \
- AIODiskIOStrategy.h $(am__append_2)
+libAIO_la_SOURCES = AIODiskFile.cc AIODiskFile.h AIODiskIOModule.cc \
+ AIODiskIOModule.h AIODiskIOStrategy.cc AIODiskIOStrategy.h \
+ async_io.h $(am__append_2)
@ENABLE_WIN32_AIO_FALSE@EXTRA_DIST = \
@ENABLE_WIN32_AIO_FALSE@ aio_win32.cc \
@ENABLE_WIN32_AIO_FALSE@ aio_win32.h
diff -u -r -N squid-5.0.5/src/DiskIO/DiskDaemon/Makefile.am squid-5.0.6/src/DiskIO/DiskDaemon/Makefile.am
--- squid-5.0.5/src/DiskIO/DiskDaemon/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/DiskIO/DiskDaemon/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -12,15 +12,15 @@
libexec_PROGRAMS = diskd
libDiskDaemon_la_SOURCES = \
- diomsg.h \
+ DiskDaemonDiskIOModule.cc \
+ DiskDaemonDiskIOModule.h \
DiskdAction.cc \
DiskdAction.h \
DiskdFile.cc \
DiskdFile.h \
DiskdIOStrategy.cc \
DiskdIOStrategy.h \
- DiskDaemonDiskIOModule.cc \
- DiskDaemonDiskIOModule.h
+ diomsg.h
diskd_SOURCES = diskd.cc
nodist_diskd_SOURCES = time.cc
diff -u -r -N squid-5.0.5/src/DiskIO/DiskDaemon/Makefile.in squid-5.0.6/src/DiskIO/DiskDaemon/Makefile.in
--- squid-5.0.5/src/DiskIO/DiskDaemon/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/DiskIO/DiskDaemon/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -168,8 +168,8 @@
PROGRAMS = $(libexec_PROGRAMS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
libDiskDaemon_la_LIBADD =
-am_libDiskDaemon_la_OBJECTS = DiskdAction.lo DiskdFile.lo \
- DiskdIOStrategy.lo DiskDaemonDiskIOModule.lo
+am_libDiskDaemon_la_OBJECTS = DiskDaemonDiskIOModule.lo DiskdAction.lo \
+ DiskdFile.lo DiskdIOStrategy.lo
libDiskDaemon_la_OBJECTS = $(am_libDiskDaemon_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -748,15 +748,15 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libDiskDaemon.la
libDiskDaemon_la_SOURCES = \
- diomsg.h \
+ DiskDaemonDiskIOModule.cc \
+ DiskDaemonDiskIOModule.h \
DiskdAction.cc \
DiskdAction.h \
DiskdFile.cc \
DiskdFile.h \
DiskdIOStrategy.cc \
DiskdIOStrategy.h \
- DiskDaemonDiskIOModule.cc \
- DiskDaemonDiskIOModule.h
+ diomsg.h
diskd_SOURCES = diskd.cc
nodist_diskd_SOURCES = time.cc
diff -u -r -N squid-5.0.5/src/DiskIO/DiskThreads/Makefile.am squid-5.0.6/src/DiskIO/DiskThreads/Makefile.am
--- squid-5.0.5/src/DiskIO/DiskThreads/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/DiskIO/DiskThreads/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,6 @@
noinst_LTLIBRARIES = libDiskThreads.la
libDiskThreads_la_SOURCES = \
- async_io.cc \
CommIO.cc \
CommIO.h \
DiskThreads.h \
@@ -20,7 +19,8 @@
DiskThreadsDiskIOModule.cc \
DiskThreadsDiskIOModule.h \
DiskThreadsIOStrategy.cc \
- DiskThreadsIOStrategy.h
+ DiskThreadsIOStrategy.h \
+ async_io.cc
if ENABLE_WIN32_AIOPS
libDiskThreads_la_SOURCES += aiops_win32.cc
diff -u -r -N squid-5.0.5/src/DiskIO/DiskThreads/Makefile.in squid-5.0.6/src/DiskIO/DiskThreads/Makefile.in
--- squid-5.0.5/src/DiskIO/DiskThreads/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/DiskIO/DiskThreads/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -166,16 +166,16 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libDiskThreads_la_LIBADD =
-am__libDiskThreads_la_SOURCES_DIST = async_io.cc CommIO.cc CommIO.h \
- DiskThreads.h DiskThreadsDiskFile.cc DiskThreadsDiskFile.h \
+am__libDiskThreads_la_SOURCES_DIST = CommIO.cc CommIO.h DiskThreads.h \
+ DiskThreadsDiskFile.cc DiskThreadsDiskFile.h \
DiskThreadsDiskIOModule.cc DiskThreadsDiskIOModule.h \
- DiskThreadsIOStrategy.cc DiskThreadsIOStrategy.h \
+ DiskThreadsIOStrategy.cc DiskThreadsIOStrategy.h async_io.cc \
aiops_win32.cc aiops.cc
@ENABLE_WIN32_AIOPS_TRUE@am__objects_1 = aiops_win32.lo
@ENABLE_WIN32_AIOPS_FALSE@am__objects_2 = aiops.lo
-am_libDiskThreads_la_OBJECTS = async_io.lo CommIO.lo \
- DiskThreadsDiskFile.lo DiskThreadsDiskIOModule.lo \
- DiskThreadsIOStrategy.lo $(am__objects_1) $(am__objects_2)
+am_libDiskThreads_la_OBJECTS = CommIO.lo DiskThreadsDiskFile.lo \
+ DiskThreadsDiskIOModule.lo DiskThreadsIOStrategy.lo \
+ async_io.lo $(am__objects_1) $(am__objects_2)
libDiskThreads_la_OBJECTS = $(am_libDiskThreads_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -742,10 +742,10 @@
COMPAT_LIB = $(top_builddir)/compat/libcompatsquid.la $(LIBPROFILER)
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libDiskThreads.la
-libDiskThreads_la_SOURCES = async_io.cc CommIO.cc CommIO.h \
- DiskThreads.h DiskThreadsDiskFile.cc DiskThreadsDiskFile.h \
+libDiskThreads_la_SOURCES = CommIO.cc CommIO.h DiskThreads.h \
+ DiskThreadsDiskFile.cc DiskThreadsDiskFile.h \
DiskThreadsDiskIOModule.cc DiskThreadsDiskIOModule.h \
- DiskThreadsIOStrategy.cc DiskThreadsIOStrategy.h \
+ DiskThreadsIOStrategy.cc DiskThreadsIOStrategy.h async_io.cc \
$(am__append_2) $(am__append_3)
@ENABLE_WIN32_AIOPS_FALSE@EXTRA_DIST = aiops_win32.cc
@ENABLE_WIN32_AIOPS_TRUE@EXTRA_DIST = aiops.cc
diff -u -r -N squid-5.0.5/src/DiskIO/IpcIo/IpcIoFile.cc squid-5.0.6/src/DiskIO/IpcIo/IpcIoFile.cc
--- squid-5.0.5/src/DiskIO/IpcIo/IpcIoFile.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/DiskIO/IpcIo/IpcIoFile.cc 2021-05-10 21:02:34.000000000 +1200
@@ -23,6 +23,7 @@
#include "ipc/Messages.h"
#include "ipc/Port.h"
#include "ipc/Queue.h"
+#include "ipc/StrandCoord.h"
#include "ipc/StrandSearch.h"
#include "ipc/UdsOp.h"
#include "sbuf/SBuf.h"
@@ -122,20 +123,13 @@
queue->localRateLimit().store(config.ioRate);
- Ipc::HereIamMessage ann(Ipc::StrandCoord(KidIdentifier, myPid));
- ann.strand.tag = dbName;
- Ipc::TypedMsgHdr message;
- ann.pack(message);
- SendMessage(Ipc::Port::CoordinatorAddr(), message);
+ Ipc::StrandMessage::NotifyCoordinator(Ipc::mtRegisterStrand, dbName.termedBuf());
ioRequestor->ioCompletedNotification();
return;
}
- Ipc::StrandSearchRequest request;
- request.requestorId = KidIdentifier;
- request.tag = dbName;
-
+ const Ipc::StrandSearchRequest request(dbName);
Ipc::TypedMsgHdr msg;
request.pack(msg);
Ipc::SendMessage(Ipc::Port::CoordinatorAddr(), msg);
@@ -147,7 +141,7 @@
}
void
-IpcIoFile::openCompleted(const Ipc::StrandSearchResponse *const response)
+IpcIoFile::openCompleted(const Ipc::StrandMessage *const response)
{
Must(diskId < 0); // we do not know our disker yet
@@ -434,7 +428,7 @@
/// called when coordinator responds to worker open request
void
-IpcIoFile::HandleOpenResponse(const Ipc::StrandSearchResponse &response)
+IpcIoFile::HandleOpenResponse(const Ipc::StrandMessage &response)
{
debugs(47, 7, HERE << "coordinator response to open request");
for (IpcIoFileList::iterator i = WaitingForOpen.begin();
diff -u -r -N squid-5.0.5/src/DiskIO/IpcIo/IpcIoFile.h squid-5.0.6/src/DiskIO/IpcIo/IpcIoFile.h
--- squid-5.0.5/src/DiskIO/IpcIo/IpcIoFile.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/DiskIO/IpcIo/IpcIoFile.h 2021-05-10 21:02:34.000000000 +1200
@@ -82,7 +82,7 @@
virtual bool ioInProgress() const;
/// handle open response from coordinator
- static void HandleOpenResponse(const Ipc::StrandSearchResponse &response);
+ static void HandleOpenResponse(const Ipc::StrandMessage &);
/// handle queue push notifications from worker or disker
static void HandleNotification(const Ipc::TypedMsgHdr &msg);
@@ -91,7 +91,7 @@
protected:
friend class IpcIoPendingRequest;
- void openCompleted(const Ipc::StrandSearchResponse *const response);
+ void openCompleted(const Ipc::StrandMessage *);
void readCompleted(ReadRequest *readRequest, IpcIoMsg *const response);
void writeCompleted(WriteRequest *writeRequest, const IpcIoMsg *const response);
bool canWait() const;
diff -u -r -N squid-5.0.5/src/dns/Makefile.am squid-5.0.6/src/dns/Makefile.am
--- squid-5.0.5/src/dns/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/dns/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,9 +11,9 @@
noinst_LTLIBRARIES = libdns.la
libdns_la_SOURCES = \
- forward.h \
LookupDetails.cc \
LookupDetails.h \
+ forward.h \
rfc1035.cc \
rfc1035.h \
rfc2671.cc \
diff -u -r -N squid-5.0.5/src/dns/Makefile.in squid-5.0.6/src/dns/Makefile.in
--- squid-5.0.5/src/dns/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/dns/Makefile.in 2021-05-10 22:57:54.000000000 +1200
@@ -731,9 +731,9 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libdns.la
libdns_la_SOURCES = \
- forward.h \
LookupDetails.cc \
LookupDetails.h \
+ forward.h \
rfc1035.cc \
rfc1035.h \
rfc2671.cc \
diff -u -r -N squid-5.0.5/src/err_detail_type.h squid-5.0.6/src/err_detail_type.h
--- squid-5.0.5/src/err_detail_type.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/err_detail_type.h 1970-01-01 12:00:00.000000000 +1200
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
- *
- * Squid software is distributed under GPLv2+ license and includes
- * contributions from numerous individuals and organizations.
- * Please see the COPYING and CONTRIBUTORS files for details.
- */
-
-#ifndef _SQUID_ERR_DETAIL_H
-#define _SQUID_ERR_DETAIL_H
-
-typedef enum {
- ERR_DETAIL_NONE,
- ERR_DETAIL_START = 100000, // to avoid clashes with most OS error numbers
- ERR_DETAIL_REDIRECTOR_TIMEDOUT = ERR_DETAIL_START, // External redirector request timed-out
- ERR_DETAIL_CLT_REQMOD_ABORT, // client-facing code detected transaction abort
- ERR_DETAIL_CLT_REQMOD_REQ_BODY, // client-facing code detected REQMOD request body adaptation failure
- ERR_DETAIL_CLT_REQMOD_RESP_BODY, // client-facing code detected REQMOD satisfaction reply body failure
- ERR_DETAIL_SRV_REQMOD_REQ_BODY, // server-facing code detected REQMOD request body abort
- ERR_DETAIL_ICAP_RESPMOD_EARLY, // RESPMOD failed w/o store entry
- ERR_DETAIL_ICAP_RESPMOD_LATE, // RESPMOD failed with a store entry
- ERR_DETAIL_REQMOD_BLOCK, // REQMOD denied client access
- ERR_DETAIL_RESPMOD_BLOCK_EARLY, // RESPMOD denied client access to HTTP response, before any part of the response was sent
- ERR_DETAIL_RESPMOD_BLOCK_LATE, // RESPMOD denied client access to HTTP response, after [a part of] the response was sent
- ERR_DETAIL_ICAP_XACT_START, // transaction start failure
- ERR_DETAIL_ICAP_XACT_SSL_START, // transaction start failure
- ERR_DETAIL_ICAP_XACT_BODY_CONSUMER_ABORT, // transaction body consumer gone
- ERR_DETAIL_ICAP_INIT_GONE, // initiator gone
- ERR_DETAIL_ICAP_XACT_CLOSE, // ICAP connection closed unexpectedly
- ERR_DETAIL_ICAP_XACT_OTHER, // other ICAP transaction errors
- ERR_DETAIL_EXCEPTION_OTHER, //other errors ( eg std C++ lib errors)
- ERR_DETAIL_MAX,
- ERR_DETAIL_EXCEPTION_START = 110000 // offset for exception ID details
-} err_detail_type;
-
-extern const char *err_detail_type_str[];
-
-inline
-const char *errorDetailName(int errDetailId)
-{
- if (errDetailId < ERR_DETAIL_START)
- return "SYSERR";
-
- if (errDetailId < ERR_DETAIL_MAX)
- return err_detail_type_str[errDetailId-ERR_DETAIL_START+2];
-
- if (errDetailId >=ERR_DETAIL_EXCEPTION_START)
- return "EXCEPTION";
-
- return "UNKNOWN";
-}
-
-#endif
-
diff -u -r -N squid-5.0.5/src/error/Detail.cc squid-5.0.6/src/error/Detail.cc
--- squid-5.0.5/src/error/Detail.cc 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Detail.cc 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#include "squid.h"
+#include "error/Detail.h"
+#include "HttpRequest.h"
+#include "sbuf/SBuf.h"
+#include "sbuf/Stream.h"
+
+/// details an error by tying it to a uniquely named circumstance
+class NamedErrorDetail: public ErrorDetail
+{
+public:
+ // convert from c-string to SBuf to simplify creation and optimize usage
+ /// \param aName must not contain characters that require quoting in access logs or HTML
+ explicit NamedErrorDetail(const char *aName): name(aName) {}
+
+ /* ErrorDetail API */
+ virtual SBuf brief() const override { return name; }
+ virtual SBuf verbose(const HttpRequestPointer &) const override { return name; }
+
+private:
+ /// distinguishes us from all other NamedErrorDetail objects
+ SBuf name;
+};
+
+/* ErrorDetail */
+
+std::ostream &
+operator <<(std::ostream &os, const ErrorDetail &detail)
+{
+ os << detail.brief();
+ return os;
+}
+
+std::ostream &
+operator <<(std::ostream &os, const ErrorDetail::Pointer &detail)
+{
+ if (detail)
+ os << *detail;
+ else
+ os << "[no details]";
+ return os;
+}
+
+/* NamedErrorDetail */
+
+ErrorDetail::Pointer
+MakeNamedErrorDetail(const char *name)
+{
+ return new NamedErrorDetail(name);
+}
+
diff -u -r -N squid-5.0.5/src/error/Detail.h squid-5.0.6/src/error/Detail.h
--- squid-5.0.5/src/error/Detail.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Detail.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef _SQUID_SRC_ERROR_DETAIL_H
+#define _SQUID_SRC_ERROR_DETAIL_H
+
+#include "base/Here.h"
+#include "base/RefCount.h"
+#include "error/forward.h"
+#include "http/forward.h"
+#include "mem/forward.h"
+#include "sbuf/forward.h"
+
+/// interface for supplying additional information about a transaction failure
+class ErrorDetail: public RefCountable
+{
+public:
+ using Pointer = ErrorDetailPointer;
+
+ virtual ~ErrorDetail() {}
+
+ /// \returns a single "token" summarizing available details
+ /// suitable as an access.log field and similar output processed by programs
+ virtual SBuf brief() const = 0;
+
+ /// \returns all available details; may be customized for the given request
+ /// suitable for error pages and other output meant for human consumption
+ virtual SBuf verbose(const HttpRequestPointer &) const = 0;
+};
+
+/// creates a new NamedErrorDetail object with a unique name
+/// \see NamedErrorDetail::Name for naming restrictions
+ErrorDetail::Pointer MakeNamedErrorDetail(const char *name);
+
+/// dump the given ErrorDetail (for debugging)
+std::ostream &operator <<(std::ostream &os, const ErrorDetail &);
+
+/// dump the given ErrorDetail pointer which may be nil (for debugging)
+std::ostream &operator <<(std::ostream &os, const ErrorDetail::Pointer &);
+
+#endif /* _SQUID_SRC_ERROR_DETAIL_H */
+
diff -u -r -N squid-5.0.5/src/error/Error.cc squid-5.0.6/src/error/Error.cc
--- squid-5.0.5/src/error/Error.cc 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Error.cc 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+/* DEBUG: section 04 Error Management */
+
+#include "squid.h"
+#include "Debug.h"
+#include "error/Error.h"
+
+void
+Error::update(const Error &recent)
+{
+ if (*this)
+ debugs(4, 5, "old: " << *this);
+ if (!recent)
+ return; // no changes
+ debugs(4, 3, "recent: " << recent);
+ // checking category and detail separately may cause inconsistency, but
+ // may result in more details available if they only become available later
+ if (category == ERR_NONE)
+ category = recent.category; // may still be ERR_NONE
+ if (!detail)
+ detail = recent.detail; // may still be nil
+}
+
+std::ostream &
+operator <<(std::ostream &os, const Error &error)
+{
+ os << errorTypeName(error.category);
+ if (error.detail)
+ os << '/' << *error.detail;
+ return os;
+}
+
diff -u -r -N squid-5.0.5/src/error/Error.h squid-5.0.6/src/error/Error.h
--- squid-5.0.5/src/error/Error.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Error.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef _SQUID_SRC_ERROR_ERROR_H
+#define _SQUID_SRC_ERROR_ERROR_H
+
+#include "error/Detail.h"
+#include "error/forward.h"
+
+#include
+
+/// a transaction problem
+class Error {
+public:
+ Error() = default;
+ Error(const err_type c): category(c) {} ///< support implicit conversions
+ Error(const err_type c, const ErrorDetailPointer &d): category(c), detail(d) {}
+
+ explicit operator bool() const { return category != ERR_NONE; }
+
+ /// if necessary, stores the given error information (if any)
+ void update(const Error &);
+
+ /// convenience wrapper for update(Error)
+ void update(const err_type c, const ErrorDetailPointer &d) { update(Error(c, d)); }
+
+ /// switch to the default "no error information" state
+ void clear() { *this = Error(); }
+
+ err_type category = ERR_NONE; ///< primary error classification (or ERR_NONE)
+ ErrorDetailPointer detail; ///< additional details about the error
+};
+
+extern const char *err_type_str[];
+
+inline
+err_type
+errorTypeByName(const char *name)
+{
+ for (int i = 0; i < ERR_MAX; ++i)
+ if (strcmp(name, err_type_str[i]) == 0)
+ return (err_type)i;
+ return ERR_MAX;
+}
+
+inline
+const char *
+errorTypeName(err_type err)
+{
+ if (err < ERR_NONE || err >= ERR_MAX)
+ return "UNKNOWN";
+ return err_type_str[err];
+}
+
+std::ostream &operator <<(std::ostream &os, const Error &error);
+
+#endif /* _SQUID_SRC_ERROR_ERROR_H */
+
diff -u -r -N squid-5.0.5/src/error/ExceptionErrorDetail.h squid-5.0.6/src/error/ExceptionErrorDetail.h
--- squid-5.0.5/src/error/ExceptionErrorDetail.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/ExceptionErrorDetail.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef _SQUID_SRC_ERROR_EXCEPTIONERRORDETAIL_H
+#define _SQUID_SRC_ERROR_EXCEPTIONERRORDETAIL_H
+
+#include "error/Detail.h"
+#include "sbuf/SBuf.h"
+#include "sbuf/Stream.h"
+
+/// offset for exception ID details, for backward compatibility
+#define SQUID_EXCEPTION_START_BASE 110000
+
+/// Details a failure reported via a C++ exception. Stores exception ID which
+/// scripts/calc-must-ids.sh can map to a relevant source code location.
+class ExceptionErrorDetail: public ErrorDetail
+{
+ MEMPROXY_CLASS(ExceptionErrorDetail);
+
+public:
+ explicit ExceptionErrorDetail(const SourceLocationId id): exceptionId(SQUID_EXCEPTION_START_BASE + id) {}
+
+ /* ErrorDetail API */
+ virtual SBuf brief() const override {
+ return ToSBuf("exception=", std::hex, exceptionId);
+ }
+
+ virtual SBuf verbose(const HttpRequestPointer &) const override {
+ return ToSBuf("Exception (ID=", std::hex, exceptionId, ')');
+ }
+
+private:
+ SourceLocationId exceptionId; ///< identifies the thrower or catcher
+};
+
+#endif /* _SQUID_SRC_ERROR_EXCEPTIONERRORDETAIL_H */
+
diff -u -r -N squid-5.0.5/src/error/forward.h squid-5.0.6/src/error/forward.h
--- squid-5.0.5/src/error/forward.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/forward.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef _SQUID_SRC_ERROR_FORWARD_H
+#define _SQUID_SRC_ERROR_FORWARD_H
+
+#include "base/forward.h"
+
+typedef enum {
+ ERR_NONE,
+
+ /* Access Permission Errors. Prefix new with ERR_ACCESS_ */
+ ERR_ACCESS_DENIED,
+ ERR_CACHE_ACCESS_DENIED,
+ ERR_CACHE_MGR_ACCESS_DENIED,
+ ERR_FORWARDING_DENIED,
+ ERR_NO_RELAY,
+ ERR_CANNOT_FORWARD,
+
+ /* TCP Errors. */
+ ERR_READ_TIMEOUT,
+ ERR_LIFETIME_EXP,
+ ERR_READ_ERROR,
+ ERR_WRITE_ERROR,
+ ERR_CONNECT_FAIL,
+ ERR_SECURE_CONNECT_FAIL,
+ ERR_SOCKET_FAILURE,
+
+ /* DNS Errors */
+ ERR_DNS_FAIL,
+ ERR_URN_RESOLVE,
+
+ /* HTTP Errors */
+ ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */
+ ERR_TOO_BIG,
+ ERR_INVALID_RESP,
+ ERR_UNSUP_HTTPVERSION, /* HTTP version is not supported */
+ ERR_INVALID_REQ,
+ ERR_UNSUP_REQ,
+ ERR_INVALID_URL,
+ ERR_ZERO_SIZE_OBJECT,
+ ERR_PRECONDITION_FAILED,
+ ERR_CONFLICT_HOST,
+
+ /* FTP Errors */
+ ERR_FTP_DISABLED,
+ ERR_FTP_UNAVAILABLE,
+ ERR_FTP_FAILURE,
+ ERR_FTP_PUT_ERROR,
+ ERR_FTP_NOT_FOUND,
+ ERR_FTP_FORBIDDEN,
+ ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */
+ ERR_FTP_PUT_MODIFIED, /* modified, !created */
+
+ /* ESI Errors */
+ ERR_ESI, /* Failure to perform ESI processing */
+
+ /* ICAP Errors */
+ ERR_ICAP_FAILURE,
+
+ /* Squid problem */
+ ERR_GATEWAY_FAILURE,
+
+ /* Special Cases */
+ ERR_DIR_LISTING, /* Display of remote directory (FTP, Gopher) */
+ ERR_SQUID_SIGNATURE, /* not really an error */
+ ERR_SHUTTING_DOWN,
+ ERR_PROTOCOL_UNKNOWN,
+
+ // NOTE: error types defined below TCP_RESET are optional and do not generate
+ // a log warning if the files are missing
+ TCP_RESET, // Send TCP RST packet instead of error page
+
+ ERR_CLIENT_GONE, // No client to send the error page to
+ ERR_SECURE_ACCEPT_FAIL, // Rejects the SSL connection intead of error page
+ ERR_REQUEST_START_TIMEOUT, // Aborts the connection instead of error page
+ ERR_REQUEST_PARSE_TIMEOUT, // Aborts the connection instead of error page
+ ERR_RELAY_REMOTE, // Sends server reply instead of error page
+
+ /* Cache Manager GUI can install a manager index/home page */
+ MGR_INDEX,
+
+ ERR_MAX
+} err_type;
+
+class Error;
+class ErrorDetail;
+
+typedef RefCount ErrorDetailPointer;
+
+#endif /* _SQUID_SRC_ERROR_FORWARD_H */
+
diff -u -r -N squid-5.0.5/src/error/Makefile.am squid-5.0.6/src/error/Makefile.am
--- squid-5.0.5/src/error/Makefile.am 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,33 @@
+## Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+##
+## Squid software is distributed under GPLv2+ license and includes
+## contributions from numerous individuals and organizations.
+## Please see the COPYING and CONTRIBUTORS files for details.
+##
+
+include $(top_srcdir)/src/Common.am
+include $(top_srcdir)/src/TestHeaders.am
+
+categories.cc: forward.h $(top_srcdir)/src/mk-string-arrays.awk
+ $(AWK) -f $(top_srcdir)/src/mk-string-arrays.awk ifile=error/forward.h < $(srcdir)/forward.h > $@ || ($(RM) -f $@ && exit 1)
+
+BUILT_SOURCES = \
+ categories.cc
+
+noinst_LTLIBRARIES = liberror.la
+
+liberror_la_SOURCES = \
+ Detail.cc \
+ Detail.h \
+ Error.cc \
+ Error.h \
+ ExceptionErrorDetail.h \
+ SysErrorDetail.h \
+ forward.h
+
+nodist_liberror_la_SOURCES = \
+ $(BUILT_SOURCES)
+
+CLEANFILES += \
+ $(BUILT_SOURCES)
+
diff -u -r -N squid-5.0.5/src/error/Makefile.in squid-5.0.6/src/error/Makefile.in
--- squid-5.0.5/src/error/Makefile.in 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -0,0 +1,1254 @@
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS =
+@ENABLE_LOADABLE_MODULES_TRUE@am__append_1 = $(INCLTDL)
+subdir = src/error
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude/ax_with_prog.m4 \
+ $(top_srcdir)/acinclude/init.m4 \
+ $(top_srcdir)/acinclude/squid-util.m4 \
+ $(top_srcdir)/acinclude/compiler-flags.m4 \
+ $(top_srcdir)/acinclude/os-deps.m4 \
+ $(top_srcdir)/acinclude/krb5.m4 $(top_srcdir)/acinclude/pam.m4 \
+ $(top_srcdir)/acinclude/pkg.m4 $(top_srcdir)/acinclude/tdb.m4 \
+ $(top_srcdir)/acinclude/lib-checks.m4 \
+ $(top_srcdir)/acinclude/ax_cxx_compile_stdcxx_11.m4 \
+ $(top_srcdir)/acinclude/ax_cxx_0x_types.m4 \
+ $(top_srcdir)/src/auth/basic/helpers.m4 \
+ $(top_srcdir)/src/auth/basic/DB/required.m4 \
+ $(top_srcdir)/src/auth/basic/LDAP/required.m4 \
+ $(top_srcdir)/src/auth/basic/NCSA/required.m4 \
+ $(top_srcdir)/src/auth/basic/NIS/required.m4 \
+ $(top_srcdir)/src/auth/basic/PAM/required.m4 \
+ $(top_srcdir)/src/auth/basic/POP3/required.m4 \
+ $(top_srcdir)/src/auth/basic/RADIUS/required.m4 \
+ $(top_srcdir)/src/auth/basic/SASL/required.m4 \
+ $(top_srcdir)/src/auth/basic/SMB/required.m4 \
+ $(top_srcdir)/src/auth/basic/SMB_LM/required.m4 \
+ $(top_srcdir)/src/auth/basic/SSPI/required.m4 \
+ $(top_srcdir)/src/auth/basic/fake/required.m4 \
+ $(top_srcdir)/src/auth/basic/getpwnam/required.m4 \
+ $(top_srcdir)/src/auth/digest/helpers.m4 \
+ $(top_srcdir)/src/auth/digest/eDirectory/required.m4 \
+ $(top_srcdir)/src/auth/digest/file/required.m4 \
+ $(top_srcdir)/src/auth/digest/LDAP/required.m4 \
+ $(top_srcdir)/src/auth/negotiate/helpers.m4 \
+ $(top_srcdir)/src/auth/negotiate/SSPI/required.m4 \
+ $(top_srcdir)/src/auth/negotiate/kerberos/required.m4 \
+ $(top_srcdir)/src/auth/negotiate/wrapper/required.m4 \
+ $(top_srcdir)/src/auth/ntlm/helpers.m4 \
+ $(top_srcdir)/src/auth/ntlm/fake/required.m4 \
+ $(top_srcdir)/src/auth/ntlm/SMB_LM/required.m4 \
+ $(top_srcdir)/src/auth/ntlm/SSPI/required.m4 \
+ $(top_srcdir)/src/log/helpers.m4 \
+ $(top_srcdir)/src/log/DB/required.m4 \
+ $(top_srcdir)/src/log/file/required.m4 \
+ $(top_srcdir)/src/acl/external/helpers.m4 \
+ $(top_srcdir)/src/acl/external/AD_group/required.m4 \
+ $(top_srcdir)/src/acl/external/LDAP_group/required.m4 \
+ $(top_srcdir)/src/acl/external/LM_group/required.m4 \
+ $(top_srcdir)/src/acl/external/delayer/required.m4 \
+ $(top_srcdir)/src/acl/external/SQL_session/required.m4 \
+ $(top_srcdir)/src/acl/external/eDirectory_userip/required.m4 \
+ $(top_srcdir)/src/acl/external/file_userip/required.m4 \
+ $(top_srcdir)/src/acl/external/kerberos_ldap_group/required.m4 \
+ $(top_srcdir)/src/acl/external/kerberos_sid_group/required.m4 \
+ $(top_srcdir)/src/acl/external/session/required.m4 \
+ $(top_srcdir)/src/acl/external/time_quota/required.m4 \
+ $(top_srcdir)/src/acl/external/unix_group/required.m4 \
+ $(top_srcdir)/src/acl/external/wbinfo_group/required.m4 \
+ $(top_srcdir)/src/http/url_rewriters/helpers.m4 \
+ $(top_srcdir)/src/http/url_rewriters/fake/required.m4 \
+ $(top_srcdir)/src/http/url_rewriters/LFS/required.m4 \
+ $(top_srcdir)/src/security/cert_validators/helpers.m4 \
+ $(top_srcdir)/src/security/cert_validators/fake/required.m4 \
+ $(top_srcdir)/src/security/cert_generators/helpers.m4 \
+ $(top_srcdir)/src/security/cert_generators/file/required.m4 \
+ $(top_srcdir)/src/store/id_rewriters/helpers.m4 \
+ $(top_srcdir)/src/store/id_rewriters/file/required.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/include/autoconf.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+liberror_la_LIBADD =
+am_liberror_la_OBJECTS = Detail.lo Error.lo
+am__objects_1 = categories.lo
+nodist_liberror_la_OBJECTS = $(am__objects_1)
+liberror_la_OBJECTS = $(am_liberror_la_OBJECTS) \
+ $(nodist_liberror_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES =
+depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/Detail.Plo ./$(DEPDIR)/Error.Plo \
+ ./$(DEPDIR)/categories.Plo
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(liberror_la_SOURCES) $(nodist_liberror_la_SOURCES)
+DIST_SOURCES = $(liberror_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red='[0;31m'; \
+ grn='[0;32m'; \
+ lgn='[1;32m'; \
+ blu='[1;34m'; \
+ mgn='[0;35m'; \
+ brg='[1m'; \
+ std='[m'; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/cfgaux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/cfgaux/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/cfgaux/depcomp \
+ $(top_srcdir)/cfgaux/test-driver $(top_srcdir)/src/Common.am \
+ $(top_srcdir)/src/TestHeaders.am
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADAPTATION_LIBS = @ADAPTATION_LIBS@
+AIOLIB = @AIOLIB@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AR_R = @AR_R@
+ATOMICLIB = @ATOMICLIB@
+AUTH_LIBS_TO_BUILD = @AUTH_LIBS_TO_BUILD@
+AUTH_MODULES = @AUTH_MODULES@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BASIC_AUTH_HELPERS = @BASIC_AUTH_HELPERS@
+BUILDCXX = @BUILDCXX@
+BUILDCXXFLAGS = @BUILDCXXFLAGS@
+BZR = @BZR@
+CACHE_EFFECTIVE_USER = @CACHE_EFFECTIVE_USER@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CGIEXT = @CGIEXT@
+CHMOD = @CHMOD@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CRYPTLIB = @CRYPTLIB@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_HOSTS = @DEFAULT_HOSTS@
+DEFAULT_LOG_DIR = @DEFAULT_LOG_DIR@
+DEFAULT_PID_FILE = @DEFAULT_PID_FILE@
+DEFAULT_SWAP_DIR = @DEFAULT_SWAP_DIR@
+
+# Make ./configure location settings above available to the code
+DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" \
+ -DDEFAULT_SQUID_DATA_DIR=\"$(datadir)\" \
+ -DDEFAULT_SQUID_CONFIG_DIR=\"$(sysconfdir)\"
+DEPDIR = @DEPDIR@
+DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
+DISK_LIBS = @DISK_LIBS@
+DISK_MODULES = @DISK_MODULES@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EPOLL_LIBS = @EPOLL_LIBS@
+EUILIB = @EUILIB@
+EXEEXT = @EXEEXT@
+EXPATLIB = @EXPATLIB@
+EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
+EXT_LIBECAP_CFLAGS = @EXT_LIBECAP_CFLAGS@
+EXT_LIBECAP_LIBS = @EXT_LIBECAP_LIBS@
+FALSE = @FALSE@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
+INCLTDL = @INCLTDL@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KRB5INCS = @KRB5INCS@
+KRB5LIBS = @KRB5LIBS@
+LBERLIB = @LBERLIB@
+LD = @LD@
+LDAPLIB = @LDAPLIB@
+LDAPSEARCH = @LDAPSEARCH@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
+LIBADD_DLOPEN = @LIBADD_DLOPEN@
+LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
+LIBBDB_LIBS = @LIBBDB_LIBS@
+LIBCPPUNIT_CFLAGS = @LIBCPPUNIT_CFLAGS@
+LIBCPPUNIT_LIBS = @LIBCPPUNIT_LIBS@
+LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
+LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
+LIBLTDL = @LIBLTDL@
+LIBOBJS = @LIBOBJS@
+LIBOPENSSL_CFLAGS = @LIBOPENSSL_CFLAGS@
+LIBOPENSSL_LIBS = @LIBOPENSSL_LIBS@
+LIBPTHREADS = @LIBPTHREADS@
+LIBS = @LIBS@
+LIBSASL = @LIBSASL@
+LIBTDB_CFLAGS = @LIBTDB_CFLAGS@
+LIBTDB_LIBS = @LIBTDB_LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIB_KRB5_CFLAGS = @LIB_KRB5_CFLAGS@
+LIB_KRB5_LIBS = @LIB_KRB5_LIBS@
+LINUXDOC = @LINUXDOC@
+LIPO = @LIPO@
+LN = @LN@
+LN_S = @LN_S@
+LOG_DAEMON_HELPERS = @LOG_DAEMON_HELPERS@
+LTDLDEPS = @LTDLDEPS@
+LTDLINCL = @LTDLINCL@
+LTDLOPEN = @LTDLOPEN@
+LTLIBOBJS = @LTLIBOBJS@
+LT_ARGZ_H = @LT_ARGZ_H@
+LT_CONFIG_H = @LT_CONFIG_H@
+LT_DLLOADERS = @LT_DLLOADERS@
+LT_DLPREOPEN = @LT_DLPREOPEN@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MINGW_LIBS = @MINGW_LIBS@
+MKDIR = @MKDIR@
+MKDIR_P = @MKDIR_P@
+MV = @MV@
+NEGOTIATE_AUTH_HELPERS = @NEGOTIATE_AUTH_HELPERS@
+NETTLELIB = @NETTLELIB@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PO2HTML = @PO2HTML@
+PO2TEXT = @PO2TEXT@
+POD2MAN = @POD2MAN@
+RANLIB = @RANLIB@
+REGEXLIB = @REGEXLIB@
+REPL_LIBS = @REPL_LIBS@
+REPL_OBJS = @REPL_OBJS@
+REPL_POLICIES = @REPL_POLICIES@
+RM = @RM@
+SECURITY_CERTGEN_HELPERS = @SECURITY_CERTGEN_HELPERS@
+SECURITY_CERTV_HELPERS = @SECURITY_CERTV_HELPERS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SH = @SH@
+SHELL = @SHELL@
+SMBCLIENT = @SMBCLIENT@
+SNMPLIB = @SNMPLIB@
+SQUID_CFLAGS = @SQUID_CFLAGS@
+SQUID_CXXFLAGS = @SQUID_CXXFLAGS@
+SSLLIB = @SSLLIB@
+STOREID_REWRITE_HELPERS = @STOREID_REWRITE_HELPERS@
+STORE_LIBS_TO_ADD = @STORE_LIBS_TO_ADD@
+STORE_LIBS_TO_BUILD = @STORE_LIBS_TO_BUILD@
+STORE_TESTS = @STORE_TESTS@
+STRIP = @STRIP@
+SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@
+SYSTEMD_LIBS = @SYSTEMD_LIBS@
+TR = @TR@
+TRUE = @TRUE@
+URL_REWRITE_HELPERS = @URL_REWRITE_HELPERS@
+VERSION = @VERSION@
+WBINFO = @WBINFO@
+WIN32_PSAPI = @WIN32_PSAPI@
+XMLLIB = @XMLLIB@
+XTRA_LIBS = @XTRA_LIBS@
+XTRA_OBJS = @XTRA_OBJS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+krb5_config = @krb5_config@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+ltdl_LIBOBJS = @ltdl_LIBOBJS@
+ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sys_symbol_underscore = @sys_symbol_underscore@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+DEFAULT_HTTP_PORT = 3128
+DEFAULT_ICP_PORT = 3130
+DEFAULT_PREFIX = $(prefix)
+DEFAULT_CONFIG_DIR = $(sysconfdir)
+DEFAULT_CONFIG_FILE = $(DEFAULT_CONFIG_DIR)/squid.conf
+DEFAULT_MIME_TABLE = $(DEFAULT_CONFIG_DIR)/mime.conf
+DEFAULT_SSL_CRTD = $(libexecdir)/`echo security_file_certgen | sed '$(transform);s/$$/$(EXEEXT)/'`
+DEFAULT_LOG_PREFIX = $(DEFAULT_LOG_DIR)
+DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
+DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
+DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
+DEFAULT_NETDB_FILE = $(DEFAULT_SWAP_DIR)/netdb.state
+DEFAULT_SSL_DB_DIR = $(DEFAULT_SWAP_DIR)/ssl_db
+DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
+DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
+DEFAULT_LOGFILED = $(libexecdir)/`echo log_file_daemon | sed '$(transform);s/$$/$(EXEEXT)/'`
+DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'`
+DEFAULT_ICON_DIR = $(datadir)/icons
+DEFAULT_ERROR_DIR = $(datadir)/errors
+AM_CFLAGS = $(SQUID_CFLAGS)
+AM_CXXFLAGS = $(SQUID_CXXFLAGS)
+CLEANFILES = testHeaders $(BUILT_SOURCES)
+TESTS = testHeaders
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib -I$(top_srcdir)/src \
+ -I$(top_builddir)/include $(LIBCPPUNIT_CFLAGS) $(KRB5INCS) \
+ $(am__append_1)
+@ENABLE_XPROF_STATS_FALSE@LIBPROFILER =
+@ENABLE_XPROF_STATS_TRUE@LIBPROFILER = $(top_builddir)/lib/profiler/libprofiler.la
+COMPAT_LIB = $(top_builddir)/compat/libcompatsquid.la $(LIBPROFILER)
+subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
+BUILT_SOURCES = \
+ categories.cc
+
+noinst_LTLIBRARIES = liberror.la
+liberror_la_SOURCES = \
+ Detail.cc \
+ Detail.h \
+ Error.cc \
+ Error.h \
+ ExceptionErrorDetail.h \
+ SysErrorDetail.h \
+ forward.h
+
+nodist_liberror_la_SOURCES = \
+ $(BUILT_SOURCES)
+
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .log .o .obj .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/src/Common.am $(top_srcdir)/src/TestHeaders.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/error/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/error/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/src/Common.am $(top_srcdir)/src/TestHeaders.am $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+liberror.la: $(liberror_la_OBJECTS) $(liberror_la_DEPENDENCIES) $(EXTRA_liberror_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(CXXLINK) $(liberror_la_OBJECTS) $(liberror_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Detail.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Error.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/categories.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ elif test -n "$$redo_logs"; then \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS: $(check_PROGRAMS)
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_PROGRAMS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+testHeaders.log: testHeaders
+ @p='testHeaders'; \
+ b='testHeaders'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/Detail.Plo
+ -rm -f ./$(DEPDIR)/Error.Plo
+ -rm -f ./$(DEPDIR)/categories.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/Detail.Plo
+ -rm -f ./$(DEPDIR)/Error.Plo
+ -rm -f ./$(DEPDIR)/categories.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: all check check-am install install-am install-exec \
+ install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+ check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am recheck tags tags-am uninstall \
+ uninstall-am
+
+.PRECIOUS: Makefile
+
+
+$(OBJS): $(top_srcdir)/include/version.h $(top_builddir)/include/autoconf.h
+
+testHeaders: $(srcdir)/*.h
+ $(SHELL) $(top_srcdir)/test-suite/testheaders.sh "$(CXXCOMPILE)" $^ || exit 1
+
+.PHONY: testHeaders
+
+categories.cc: forward.h $(top_srcdir)/src/mk-string-arrays.awk
+ $(AWK) -f $(top_srcdir)/src/mk-string-arrays.awk ifile=error/forward.h < $(srcdir)/forward.h > $@ || ($(RM) -f $@ && exit 1)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff -u -r -N squid-5.0.5/src/error/SysErrorDetail.h squid-5.0.6/src/error/SysErrorDetail.h
--- squid-5.0.5/src/error/SysErrorDetail.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/error/SysErrorDetail.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef _SQUID_SRC_ERROR_SYSERRORDETAIL_H
+#define _SQUID_SRC_ERROR_SYSERRORDETAIL_H
+
+#include "error/Detail.h"
+#include "sbuf/SBuf.h"
+#include "sbuf/Stream.h"
+
+/// system call failure detail based on standard errno(3)/strerror(3) APIs
+class SysErrorDetail: public ErrorDetail
+{
+ MEMPROXY_CLASS(SysErrorDetail);
+
+public:
+ /// \returns a pointer to a SysErrorDetail instance (or nil for lost errnos)
+ static ErrorDetail::Pointer NewIfAny(const int errorNo)
+ {
+ // we could optimize by caching results for (frequently used?) errnos
+ return errorNo ? new SysErrorDetail(errorNo) : nullptr;
+ }
+
+ static SBuf Brief(int errorNo) {
+ return SysErrorDetail(errorNo).brief();
+ }
+
+ /* ErrorDetail API */
+ virtual SBuf brief() const override {
+ return ToSBuf("errno=", errorNo);
+ }
+
+ virtual SBuf verbose(const HttpRequestPointer &) const override {
+ return SBuf(strerror(errorNo));
+ }
+
+private:
+ // hidden by NewIfAny() to avoid creating SysErrorDetail from zero errno
+ explicit SysErrorDetail(const int anErrorNo): errorNo(anErrorNo) {}
+
+ int errorNo; ///< errno(3) set by the last failed system call or equivalent
+};
+
+#endif /* _SQUID_SRC_ERROR_SYSERRORDETAIL_H */
+
diff -u -r -N squid-5.0.5/src/errorpage.cc squid-5.0.6/src/errorpage.cc
--- squid-5.0.5/src/errorpage.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/errorpage.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,7 +14,8 @@
#include "clients/forward.h"
#include "comm/Connection.h"
#include "comm/Write.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
+#include "error/SysErrorDetail.h"
#include "errorpage.h"
#include "fde.h"
#include "format/Format.h"
@@ -169,6 +170,10 @@
"reset"
},
{
+ ERR_CLIENT_GONE,
+ "unexpected client disconnect"
+ },
+ {
ERR_SECURE_ACCEPT_FAIL,
"secure accept fail"
},
@@ -712,9 +717,7 @@
{
assert(entry->mem_obj != NULL);
assert (entry->isEmpty());
- debugs(4, 4, "Creating an error page for entry " << entry <<
- " with errorstate " << err <<
- " page id " << err->page_id);
+ debugs(4, 4, "storing " << err << " in " << *entry);
if (entry->store_status != STORE_PENDING) {
debugs(4, 2, "Skipping error page due to store_status: " << entry->store_status);
@@ -796,9 +799,6 @@
if (err_language != Config.errorDefaultLanguage)
#endif
safe_free(err_language);
-#if USE_OPENSSL
- delete detail;
-#endif
}
int
@@ -962,18 +962,13 @@
case 'D':
if (!build.allowRecursion)
p = "%D"; // if recursion is not allowed, do not convert
-#if USE_OPENSSL
- // currently only SSL error details implemented
else if (detail) {
- detail->useRequest(request.getRaw());
- const String &errDetail = detail->toString();
- if (errDetail.size() > 0) {
- const auto compiledDetail = compileBody(errDetail.termedBuf(), false);
- mb.append(compiledDetail.rawContent(), compiledDetail.length());
- do_quote = 0;
- }
+ auto rawDetail = detail->verbose(request);
+ // XXX: Performance regression. c_str() reallocates
+ const auto compiledDetail = compileBody(rawDetail.c_str(), false);
+ mb.append(compiledDetail.rawContent(), compiledDetail.length());
+ do_quote = 0;
}
-#endif
if (!mb.contentSize())
mb.append("[No Error Detail]", 17);
break;
@@ -1204,13 +1199,12 @@
break;
case 'x':
-#if USE_OPENSSL
- if (detail)
- mb.appendf("%s", detail->errorName());
- else
-#endif
- if (!building_deny_info_url)
- p = "[Unknown Error Code]";
+ if (detail) {
+ const auto brief = detail->brief();
+ mb.append(brief.rawContent(), brief.length());
+ } else if (!building_deny_info_url) {
+ p = "[Unknown Error Code]";
+ }
break;
case 'z':
@@ -1351,17 +1345,10 @@
// Make sure error codes get back to the client side for logging and
// error tracking.
if (request) {
- int edc = ERR_DETAIL_NONE; // error detail code
-#if USE_OPENSSL
if (detail)
- edc = detail->errorNo();
+ request->detailError(type, detail);
else
-#endif
- if (detailCode)
- edc = detailCode;
- else
- edc = xerrno;
- request->detailError(type, edc);
+ request->detailError(type, SysErrorDetail::NewIfAny(xerrno));
}
return rep;
@@ -1399,7 +1386,7 @@
if (!Config.errorDirectory)
err_language = Config.errorDefaultLanguage;
#endif
- debugs(4, 2, "No existing error page language negotiated for " << errorPageName(page_id) << ". Using default error file.");
+ debugs(4, 2, "No existing error page language negotiated for " << this << ". Using default error file.");
return compileBody(error_text[page_id], true);
}
@@ -1534,3 +1521,13 @@
anErr.validate();
}
+std::ostream &
+operator <<(std::ostream &os, const ErrorState *err)
+{
+ if (err)
+ os << errorPageName(err->page_id);
+ else
+ os << "[none]";
+ return os;
+}
+
diff -u -r -N squid-5.0.5/src/errorpage.h squid-5.0.6/src/errorpage.h
--- squid-5.0.5/src/errorpage.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/errorpage.h 2021-05-10 21:02:34.000000000 +1200
@@ -13,8 +13,8 @@
#include "cbdata.h"
#include "comm/forward.h"
-#include "err_detail_type.h"
-#include "err_type.h"
+#include "error/Detail.h"
+#include "error/forward.h"
#include "http/forward.h"
#include "http/StatusCode.h"
#include "ip/Address.h"
@@ -23,9 +23,6 @@
#include "SquidString.h"
/* auth/UserRequest.h is empty unless USE_AUTH is defined */
#include "auth/UserRequest.h"
-#if USE_OPENSSL
-#include "ssl/ErrorDetail.h"
-#endif
/// error page callback
typedef void ERCB(int fd, void *, size_t);
@@ -109,7 +106,7 @@
HttpReply *BuildHttpReply(void);
/// set error type-specific detail code
- void detailError(int dCode) {detailCode = dCode;}
+ void detailError(const ErrorDetail::Pointer &dCode) { detail = dCode; }
/// ensures that a future BuildHttpReply() is likely to succeed
void validate();
@@ -200,12 +197,11 @@
AccessLogEntryPointer ale; ///< transaction details (or nil)
-#if USE_OPENSSL
- Ssl::ErrorDetail *detail = nullptr;
-#endif
+ // TODO: Replace type, xerrno and detail with Error while adding a virtual
+ // Error::Detail::sysError() method to extract errno in detailError().
/// type-specific detail about the transaction error;
- /// overwrites xerrno; overwritten by detail, if any.
- int detailCode = ERR_DETAIL_NONE;
+ /// overwrites xerrno;
+ ErrorDetail::Pointer detail;
HttpReplyPointer response_;
@@ -355,5 +351,7 @@
*/
bool strHdrAcptLangGetItem(const String &hdr, char *lang, int langLen, size_t &pos);
+std::ostream &operator <<(std::ostream &, const ErrorState *);
+
#endif /* SQUID_ERRORPAGE_H */
diff -u -r -N squid-5.0.5/src/err_type.h squid-5.0.6/src/err_type.h
--- squid-5.0.5/src/err_type.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/err_type.h 1970-01-01 12:00:00.000000000 +1200
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
- *
- * Squid software is distributed under GPLv2+ license and includes
- * contributions from numerous individuals and organizations.
- * Please see the COPYING and CONTRIBUTORS files for details.
- */
-
-#ifndef _SQUID_ERR_TYPE_H
-#define _SQUID_ERR_TYPE_H
-
-typedef enum {
- ERR_NONE,
-
- /* Access Permission Errors. Prefix new with ERR_ACCESS_ */
- ERR_ACCESS_DENIED,
- ERR_CACHE_ACCESS_DENIED,
- ERR_CACHE_MGR_ACCESS_DENIED,
- ERR_FORWARDING_DENIED,
- ERR_NO_RELAY,
- ERR_CANNOT_FORWARD,
-
- /* TCP Errors. */
- ERR_READ_TIMEOUT,
- ERR_LIFETIME_EXP,
- ERR_READ_ERROR,
- ERR_WRITE_ERROR,
- ERR_CONNECT_FAIL,
- ERR_SECURE_CONNECT_FAIL,
- ERR_SOCKET_FAILURE,
-
- /* DNS Errors */
- ERR_DNS_FAIL,
- ERR_URN_RESOLVE,
-
- /* HTTP Errors */
- ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */
- ERR_TOO_BIG,
- ERR_INVALID_RESP,
- ERR_UNSUP_HTTPVERSION, /* HTTP version is not supported */
- ERR_INVALID_REQ,
- ERR_UNSUP_REQ,
- ERR_INVALID_URL,
- ERR_ZERO_SIZE_OBJECT,
- ERR_PRECONDITION_FAILED,
- ERR_CONFLICT_HOST,
-
- /* FTP Errors */
- ERR_FTP_DISABLED,
- ERR_FTP_UNAVAILABLE,
- ERR_FTP_FAILURE,
- ERR_FTP_PUT_ERROR,
- ERR_FTP_NOT_FOUND,
- ERR_FTP_FORBIDDEN,
- ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */
- ERR_FTP_PUT_MODIFIED, /* modified, !created */
-
- /* ESI Errors */
- ERR_ESI, /* Failure to perform ESI processing */
-
- /* ICAP Errors */
- ERR_ICAP_FAILURE,
-
- /* Squid problem */
- ERR_GATEWAY_FAILURE,
-
- /* Special Cases */
- ERR_DIR_LISTING, /* Display of remote directory (FTP, Gopher) */
- ERR_SQUID_SIGNATURE, /* not really an error */
- ERR_SHUTTING_DOWN,
- ERR_PROTOCOL_UNKNOWN,
-
- // NOTE: error types defined below TCP_RESET are optional and do not generate
- // a log warning if the files are missing
- TCP_RESET, // Send TCP RST packet instead of error page
-
- ERR_SECURE_ACCEPT_FAIL, // Rejects the SSL connection intead of error page
- ERR_REQUEST_START_TIMEOUT, // Aborts the connection instead of error page
- ERR_REQUEST_PARSE_TIMEOUT, // Aborts the connection instead of error page
- ERR_RELAY_REMOTE, // Sends server reply instead of error page
-
- /* Cache Manager GUI can install a manager index/home page */
- MGR_INDEX,
-
- ERR_MAX
-} err_type;
-
-extern const char *err_type_str[];
-
-inline
-err_type
-errorTypeByName(const char *name)
-{
- for (int i = 0; i < ERR_MAX; ++i)
- if (strcmp(name, err_type_str[i]) == 0)
- return (err_type)i;
- return ERR_MAX;
-}
-
-inline
-const char *
-errorTypeName(err_type err)
-{
- if (err < ERR_NONE || err >= ERR_MAX)
- return "UNKNOWN";
- return err_type_str[err];
-}
-
-#endif /* _SQUID_ERR_TYPE_H */
-
diff -u -r -N squid-5.0.5/src/esi/Context.h squid-5.0.6/src/esi/Context.h
--- squid-5.0.5/src/esi/Context.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/esi/Context.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,7 @@
#define SQUID_ESICONTEXT_H
#include "clientStream.h"
-#include "err_type.h"
+#include "error/forward.h"
#include "esi/Element.h"
#include "esi/Esi.h"
#include "esi/Parser.h"
diff -u -r -N squid-5.0.5/src/esi/Makefile.am squid-5.0.6/src/esi/Makefile.am
--- squid-5.0.5/src/esi/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/esi/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -25,12 +25,12 @@
endif
libesi_la_SOURCES = \
+ $(ESI_PARSER_SOURCES) \
Assign.cc \
Assign.h \
Attempt.h \
Context.cc \
Context.h \
- $(ESI_PARSER_SOURCES) \
Element.h \
Esi.cc \
Esi.h \
diff -u -r -N squid-5.0.5/src/esi/Makefile.in squid-5.0.6/src/esi/Makefile.in
--- squid-5.0.5/src/esi/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/esi/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -172,16 +172,16 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libesi_la_LIBADD =
-am__libesi_la_SOURCES_DIST = Assign.cc Assign.h Attempt.h Context.cc \
- Context.h ExpatParser.cc ExpatParser.h Libxml2Parser.cc \
- Libxml2Parser.h Element.h Esi.cc Esi.h Except.h Expression.cc \
- Expression.h Include.cc Include.h Literal.h Module.cc Module.h \
- Parser.cc Parser.h Segment.cc Segment.h Sequence.cc Sequence.h \
- Var.h VarState.cc VarState.h
+am__libesi_la_SOURCES_DIST = ExpatParser.cc ExpatParser.h \
+ Libxml2Parser.cc Libxml2Parser.h Assign.cc Assign.h Attempt.h \
+ Context.cc Context.h Element.h Esi.cc Esi.h Except.h \
+ Expression.cc Expression.h Include.cc Include.h Literal.h \
+ Module.cc Module.h Parser.cc Parser.h Segment.cc Segment.h \
+ Sequence.cc Sequence.h Var.h VarState.cc VarState.h
@ENABLE_LIBEXPAT_TRUE@am__objects_1 = ExpatParser.lo
@ENABLE_LIBXML2_TRUE@am__objects_2 = Libxml2Parser.lo
am__objects_3 = $(am__objects_1) $(am__objects_2)
-am_libesi_la_OBJECTS = Assign.lo Context.lo $(am__objects_3) Esi.lo \
+am_libesi_la_OBJECTS = $(am__objects_3) Assign.lo Context.lo Esi.lo \
Expression.lo Include.lo Module.lo Parser.lo Segment.lo \
Sequence.lo VarState.lo
libesi_la_OBJECTS = $(am_libesi_la_OBJECTS)
@@ -753,12 +753,12 @@
noinst_LTLIBRARIES = libesi.la
ESI_PARSER_SOURCES = $(am__append_2) $(am__append_3)
libesi_la_SOURCES = \
+ $(ESI_PARSER_SOURCES) \
Assign.cc \
Assign.h \
Attempt.h \
Context.cc \
Context.h \
- $(ESI_PARSER_SOURCES) \
Element.h \
Esi.cc \
Esi.h \
diff -u -r -N squid-5.0.5/src/eui/Makefile.am squid-5.0.6/src/eui/Makefile.am
--- squid-5.0.5/src/eui/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/eui/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,11 +11,11 @@
noinst_LTLIBRARIES = libeui.la
libeui_la_SOURCES = \
- Config.h \
Config.cc \
- Eui48.h \
+ Config.h \
Eui48.cc \
- Eui64.h \
- Eui64.cc
+ Eui48.h \
+ Eui64.cc \
+ Eui64.h
libeui_la_LIBADD = $(EUILIB)
diff -u -r -N squid-5.0.5/src/eui/Makefile.in squid-5.0.6/src/eui/Makefile.in
--- squid-5.0.5/src/eui/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/eui/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -730,12 +730,12 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libeui.la
libeui_la_SOURCES = \
- Config.h \
Config.cc \
- Eui48.h \
+ Config.h \
Eui48.cc \
- Eui64.h \
- Eui64.cc
+ Eui48.h \
+ Eui64.cc \
+ Eui64.h
libeui_la_LIBADD = $(EUILIB)
all: all-am
diff -u -r -N squid-5.0.5/src/format/Format.cc squid-5.0.6/src/format/Format.cc
--- squid-5.0.5/src/format/Format.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/format/Format.cc 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,7 @@
#include "base64.h"
#include "client_side.h"
#include "comm/Connection.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "errorpage.h"
#include "fde.h"
#include "format/Format.h"
@@ -986,29 +986,17 @@
break;
case LFT_SQUID_ERROR:
- if (al->request && al->request->errType != ERR_NONE)
- out = errorPageName(al->request->errType);
+ if (const auto error = al->error())
+ out = errorPageName(error->category);
break;
case LFT_SQUID_ERROR_DETAIL:
-#if USE_OPENSSL
- if (al->request && al->request->errType == ERR_SECURE_CONNECT_FAIL) {
- out = Ssl::GetErrorName(al->request->errDetail, true);
- } else
-#endif
- if (al->request && al->request->errDetail != ERR_DETAIL_NONE) {
- if (al->request->errDetail > ERR_DETAIL_START && al->request->errDetail < ERR_DETAIL_MAX)
- out = errorDetailName(al->request->errDetail);
- else {
- if (al->request->errDetail >= ERR_DETAIL_EXCEPTION_START)
- sb.appendf("%s=0x%X",
- errorDetailName(al->request->errDetail), (uint32_t) al->request->errDetail);
- else
- sb.appendf("%s=%d",
- errorDetailName(al->request->errDetail), al->request->errDetail);
- out = sb.c_str();
- }
+ if (const auto error = al->error()) {
+ if (const auto detail = error->detail) {
+ sb = detail->brief();
+ out = sb.c_str();
}
+ }
break;
case LFT_SQUID_HIERARCHY:
diff -u -r -N squid-5.0.5/src/fs/Makefile.am squid-5.0.6/src/fs/Makefile.am
--- squid-5.0.5/src/fs/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/fs/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -19,39 +19,41 @@
diskd/StoreFSdiskd.cc
libufs_la_SOURCES = \
- ufs/StoreFSufs.h \
+ ufs/RebuildState.cc \
+ ufs/RebuildState.h \
ufs/StoreFSufs.cc \
+ ufs/StoreFSufs.h \
+ ufs/StoreSearchUFS.cc \
+ ufs/StoreSearchUFS.h \
ufs/UFSStoreState.cc \
- ufs/UFSSwapDir.cc \
- ufs/UFSSwapDir.h \
+ ufs/UFSStoreState.h \
ufs/UFSStrategy.cc \
ufs/UFSStrategy.h \
- ufs/UFSStoreState.h \
- ufs/StoreSearchUFS.h \
- ufs/StoreSearchUFS.cc \
- ufs/UFSSwapLogParser.h \
+ ufs/UFSSwapDir.cc \
+ ufs/UFSSwapDir.h \
ufs/UFSSwapLogParser.cc \
- ufs/RebuildState.h \
- ufs/RebuildState.cc
+ ufs/UFSSwapLogParser.h
librock_la_SOURCES = \
- rock/forward.h \
rock/RockDbCell.cc \
rock/RockDbCell.h \
rock/RockHeaderUpdater.cc \
rock/RockHeaderUpdater.h \
- rock/RockIoState.cc \
- rock/RockIoState.h \
rock/RockIoRequests.cc \
rock/RockIoRequests.h \
+ rock/RockIoState.cc \
+ rock/RockIoState.h \
rock/RockRebuild.cc \
rock/RockRebuild.h \
rock/RockStoreFileSystem.cc \
rock/RockStoreFileSystem.h \
rock/RockSwapDir.cc \
- rock/RockSwapDir.h
+ rock/RockSwapDir.h \
+ rock/forward.h
-libfs_la_SOURCES = Module.cc Module.h
+libfs_la_SOURCES = \
+ Module.cc \
+ Module.h
libfs_la_LIBADD = $(STORE_LIBS_TO_BUILD)
libfs_la_DEPENDENCIES = $(STORE_LIBS_TO_BUILD)
diff -u -r -N squid-5.0.5/src/fs/Makefile.in squid-5.0.6/src/fs/Makefile.in
--- squid-5.0.5/src/fs/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/fs/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -179,13 +179,13 @@
libfs_la_OBJECTS = $(am_libfs_la_OBJECTS)
librock_la_LIBADD =
am_librock_la_OBJECTS = rock/RockDbCell.lo rock/RockHeaderUpdater.lo \
- rock/RockIoState.lo rock/RockIoRequests.lo rock/RockRebuild.lo \
+ rock/RockIoRequests.lo rock/RockIoState.lo rock/RockRebuild.lo \
rock/RockStoreFileSystem.lo rock/RockSwapDir.lo
librock_la_OBJECTS = $(am_librock_la_OBJECTS)
libufs_la_LIBADD =
-am_libufs_la_OBJECTS = ufs/StoreFSufs.lo ufs/UFSStoreState.lo \
- ufs/UFSSwapDir.lo ufs/UFSStrategy.lo ufs/StoreSearchUFS.lo \
- ufs/UFSSwapLogParser.lo ufs/RebuildState.lo
+am_libufs_la_OBJECTS = ufs/RebuildState.lo ufs/StoreFSufs.lo \
+ ufs/StoreSearchUFS.lo ufs/UFSStoreState.lo ufs/UFSStrategy.lo \
+ ufs/UFSSwapDir.lo ufs/UFSSwapLogParser.lo
libufs_la_OBJECTS = $(am_libufs_la_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -768,39 +768,42 @@
diskd/StoreFSdiskd.cc
libufs_la_SOURCES = \
- ufs/StoreFSufs.h \
+ ufs/RebuildState.cc \
+ ufs/RebuildState.h \
ufs/StoreFSufs.cc \
+ ufs/StoreFSufs.h \
+ ufs/StoreSearchUFS.cc \
+ ufs/StoreSearchUFS.h \
ufs/UFSStoreState.cc \
- ufs/UFSSwapDir.cc \
- ufs/UFSSwapDir.h \
+ ufs/UFSStoreState.h \
ufs/UFSStrategy.cc \
ufs/UFSStrategy.h \
- ufs/UFSStoreState.h \
- ufs/StoreSearchUFS.h \
- ufs/StoreSearchUFS.cc \
- ufs/UFSSwapLogParser.h \
+ ufs/UFSSwapDir.cc \
+ ufs/UFSSwapDir.h \
ufs/UFSSwapLogParser.cc \
- ufs/RebuildState.h \
- ufs/RebuildState.cc
+ ufs/UFSSwapLogParser.h
librock_la_SOURCES = \
- rock/forward.h \
rock/RockDbCell.cc \
rock/RockDbCell.h \
rock/RockHeaderUpdater.cc \
rock/RockHeaderUpdater.h \
- rock/RockIoState.cc \
- rock/RockIoState.h \
rock/RockIoRequests.cc \
rock/RockIoRequests.h \
+ rock/RockIoState.cc \
+ rock/RockIoState.h \
rock/RockRebuild.cc \
rock/RockRebuild.h \
rock/RockStoreFileSystem.cc \
rock/RockStoreFileSystem.h \
rock/RockSwapDir.cc \
- rock/RockSwapDir.h
+ rock/RockSwapDir.h \
+ rock/forward.h
+
+libfs_la_SOURCES = \
+ Module.cc \
+ Module.h
-libfs_la_SOURCES = Module.cc Module.h
libfs_la_LIBADD = $(STORE_LIBS_TO_BUILD)
libfs_la_DEPENDENCIES = $(STORE_LIBS_TO_BUILD)
all: all-am
@@ -892,10 +895,10 @@
rock/$(DEPDIR)/$(am__dirstamp)
rock/RockHeaderUpdater.lo: rock/$(am__dirstamp) \
rock/$(DEPDIR)/$(am__dirstamp)
-rock/RockIoState.lo: rock/$(am__dirstamp) \
- rock/$(DEPDIR)/$(am__dirstamp)
rock/RockIoRequests.lo: rock/$(am__dirstamp) \
rock/$(DEPDIR)/$(am__dirstamp)
+rock/RockIoState.lo: rock/$(am__dirstamp) \
+ rock/$(DEPDIR)/$(am__dirstamp)
rock/RockRebuild.lo: rock/$(am__dirstamp) \
rock/$(DEPDIR)/$(am__dirstamp)
rock/RockStoreFileSystem.lo: rock/$(am__dirstamp) \
@@ -911,16 +914,16 @@
ufs/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) ufs/$(DEPDIR)
@: > ufs/$(DEPDIR)/$(am__dirstamp)
+ufs/RebuildState.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
ufs/StoreFSufs.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
+ufs/StoreSearchUFS.lo: ufs/$(am__dirstamp) \
+ ufs/$(DEPDIR)/$(am__dirstamp)
ufs/UFSStoreState.lo: ufs/$(am__dirstamp) \
ufs/$(DEPDIR)/$(am__dirstamp)
-ufs/UFSSwapDir.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
ufs/UFSStrategy.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
-ufs/StoreSearchUFS.lo: ufs/$(am__dirstamp) \
- ufs/$(DEPDIR)/$(am__dirstamp)
+ufs/UFSSwapDir.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
ufs/UFSSwapLogParser.lo: ufs/$(am__dirstamp) \
ufs/$(DEPDIR)/$(am__dirstamp)
-ufs/RebuildState.lo: ufs/$(am__dirstamp) ufs/$(DEPDIR)/$(am__dirstamp)
libufs.la: $(libufs_la_OBJECTS) $(libufs_la_DEPENDENCIES) $(EXTRA_libufs_la_DEPENDENCIES)
$(AM_V_CXXLD)$(CXXLINK) $(libufs_la_OBJECTS) $(libufs_la_LIBADD) $(LIBS)
diff -u -r -N squid-5.0.5/src/FwdState.cc squid-5.0.6/src/FwdState.cc
--- squid-5.0.5/src/FwdState.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/FwdState.cc 2021-05-10 21:02:34.000000000 +1200
@@ -59,7 +59,6 @@
#if USE_OPENSSL
#include "ssl/cert_validate_message.h"
#include "ssl/Config.h"
-#include "ssl/ErrorDetail.h"
#include "ssl/helper.h"
#include "ssl/ServerBump.h"
#include "ssl/support.h"
diff -u -r -N squid-5.0.5/src/FwdState.h squid-5.0.6/src/FwdState.h
--- squid-5.0.5/src/FwdState.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/FwdState.h 2021-05-10 21:02:34.000000000 +1200
@@ -16,7 +16,7 @@
#include "comm.h"
#include "comm/Connection.h"
#include "comm/ConnOpener.h"
-#include "err_type.h"
+#include "error/forward.h"
#include "fde.h"
#include "http/StatusCode.h"
#include "ip/Address.h"
@@ -41,14 +41,6 @@
typedef CbcPointer HappyConnOpenerPointer;
class HappyConnOpenerAnswer;
-#if USE_OPENSSL
-namespace Ssl
-{
-class ErrorDetail;
-class CertValidationResponse;
-};
-#endif
-
/// Sets initial TOS value and Netfilter for the future outgoing connection.
/// Updates the given Connection object, not the future transport connection.
void GetMarkingsToServer(HttpRequest * request, Comm::Connection &conn);
diff -u -r -N squid-5.0.5/src/gopher.cc squid-5.0.6/src/gopher.cc
--- squid-5.0.5/src/gopher.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/gopher.cc 2021-05-10 21:02:34.000000000 +1200
@@ -740,7 +740,10 @@
assert(buf == gopherState->replybuf);
- if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
+ // XXX: Should update delayId, statCounter, etc. before bailing
+ if (!entry->isAccepting()) {
+ debugs(10, 3, "terminating due to bad " << *entry);
+ // TODO: Do not abuse connection for triggering cleanup.
gopherState->serverConn->close();
return;
}
@@ -837,6 +840,13 @@
statCounter.server.other.kbytes_out += size;
}
+ if (!entry->isAccepting()) {
+ debugs(10, 3, "terminating due to bad " << *entry);
+ // TODO: Do not abuse connection for triggering cleanup.
+ gopherState->serverConn->close();
+ return;
+ }
+
if (errflag) {
const auto err = new ErrorState(ERR_WRITE_ERROR, Http::scServiceUnavailable, gopherState->fwd->request, gopherState->fwd->al);
err->xerrno = xerrno;
diff -u -r -N squid-5.0.5/src/helper/Makefile.am squid-5.0.6/src/helper/Makefile.am
--- squid-5.0.5/src/helper/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/helper/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -13,12 +13,12 @@
libhelper_la_SOURCES = \
ChildConfig.cc \
ChildConfig.h \
- forward.h \
Reply.cc \
Reply.h \
Request.h \
- ResultCode.h \
+ ReservationId.cc \
ReservationId.h \
- ReservationId.cc
+ ResultCode.h \
+ forward.h
EXTRA_DIST= protocol_defines.h
diff -u -r -N squid-5.0.5/src/helper/Makefile.in squid-5.0.6/src/helper/Makefile.in
--- squid-5.0.5/src/helper/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/helper/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -731,13 +731,13 @@
libhelper_la_SOURCES = \
ChildConfig.cc \
ChildConfig.h \
- forward.h \
Reply.cc \
Reply.h \
Request.h \
- ResultCode.h \
+ ReservationId.cc \
ReservationId.h \
- ReservationId.cc
+ ResultCode.h \
+ forward.h
EXTRA_DIST = protocol_defines.h
all: all-am
diff -u -r -N squid-5.0.5/src/http/Makefile.am squid-5.0.6/src/http/Makefile.am
--- squid-5.0.5/src/http/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -16,14 +16,13 @@
libhttp_la_SOURCES = \
ContentLengthInterpreter.cc \
ContentLengthInterpreter.h \
- forward.h \
Message.cc \
Message.h \
MethodType.cc \
MethodType.h \
ProtocolVersion.h \
- RegisteredHeaders.h \
RegisteredHeaders.cc \
+ RegisteredHeaders.h \
RegisteredHeadersHash.cci \
RequestMethod.cc \
RequestMethod.h \
@@ -33,7 +32,8 @@
StatusLine.cc \
StatusLine.h \
Stream.cc \
- Stream.h
+ Stream.h \
+ forward.h
libhttp_la_LIBADD= one/libhttp1.la
diff -u -r -N squid-5.0.5/src/http/Makefile.in squid-5.0.6/src/http/Makefile.in
--- squid-5.0.5/src/http/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/http/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -778,14 +778,13 @@
libhttp_la_SOURCES = \
ContentLengthInterpreter.cc \
ContentLengthInterpreter.h \
- forward.h \
Message.cc \
Message.h \
MethodType.cc \
MethodType.h \
ProtocolVersion.h \
- RegisteredHeaders.h \
RegisteredHeaders.cc \
+ RegisteredHeaders.h \
RegisteredHeadersHash.cci \
RequestMethod.cc \
RequestMethod.h \
@@ -795,7 +794,8 @@
StatusLine.cc \
StatusLine.h \
Stream.cc \
- Stream.h
+ Stream.h \
+ forward.h
libhttp_la_LIBADD = one/libhttp1.la
EXTRA_DIST = RegisteredHeadersHash.gperf
diff -u -r -N squid-5.0.5/src/http/one/Makefile.am squid-5.0.6/src/http/one/Makefile.am
--- squid-5.0.5/src/http/one/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/one/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,6 @@
noinst_LTLIBRARIES = libhttp1.la
libhttp1_la_SOURCES = \
- forward.h \
Parser.cc \
Parser.h \
RequestParser.cc \
@@ -21,4 +20,5 @@
TeChunkedParser.cc \
TeChunkedParser.h \
Tokenizer.cc \
- Tokenizer.h
+ Tokenizer.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/http/one/Makefile.in squid-5.0.6/src/http/one/Makefile.in
--- squid-5.0.5/src/http/one/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/http/one/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -731,7 +731,6 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libhttp1.la
libhttp1_la_SOURCES = \
- forward.h \
Parser.cc \
Parser.h \
RequestParser.cc \
@@ -741,7 +740,8 @@
TeChunkedParser.cc \
TeChunkedParser.h \
Tokenizer.cc \
- Tokenizer.h
+ Tokenizer.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/http/one/ResponseParser.cc squid-5.0.6/src/http/one/ResponseParser.cc
--- squid-5.0.5/src/http/one/ResponseParser.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/one/ResponseParser.cc 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#include "http/ProtocolVersion.h"
#include "parser/Tokenizer.h"
#include "profiler/Profiler.h"
+#include "sbuf/Stream.h"
#include "SquidConfig.h"
const SBuf Http::One::ResponseParser::IcyMagic("ICY ");
@@ -47,46 +48,27 @@
// NP: we found the protocol version and consumed it already.
// just need the status code and reason phrase
int
-Http::One::ResponseParser::parseResponseStatusAndReason(Tokenizer &tok, const CharacterSet &WspDelim)
+Http::One::ResponseParser::parseResponseStatusAndReason(Tokenizer &tok)
{
- if (!completedStatus_) {
- debugs(74, 9, "seek status-code in: " << tok.remaining().substr(0,10) << "...");
- /* RFC 7230 section 3.1.2 - status code is 3 DIGIT octets.
- * There is no limit on what those octets may be.
- * 000 through 999 are all valid.
- */
- int64_t statusValue;
- if (tok.int64(statusValue, 10, false, 3) && tok.skipOne(WspDelim)) {
-
- debugs(74, 6, "found int64 status-code=" << statusValue);
- statusCode_ = static_cast(statusValue);
-
+ try {
+ if (!completedStatus_) {
+ debugs(74, 9, "seek status-code in: " << tok.remaining().substr(0,10) << "...");
+ ParseResponseStatus(tok, statusCode_);
buf_ = tok.remaining(); // resume checkpoint
completedStatus_ = true;
-
- } else if (tok.atEnd()) {
- debugs(74, 6, "Parser needs more data");
- return 0; // need more to be sure we have it all
-
- } else {
- debugs(74, 6, "invalid status-line. invalid code.");
- return -1; // invalid status, a single SP terminator required
}
// NOTE: any whitespace after the single SP is part of the reason phrase.
- }
- /* RFC 7230 says we SHOULD ignore the reason phrase content
- * but it has a definite valid vs invalid character set.
- * We interpret the SHOULD as ignoring absence and syntax, but
- * producing an error if it contains an invalid octet.
- */
-
- debugs(74, 9, "seek reason-phrase in: " << tok.remaining().substr(0,50) << "...");
-
- // if we got here we are still looking for reason-phrase bytes
- static const CharacterSet phraseChars = CharacterSet::WSP + CharacterSet::VCHAR + CharacterSet::OBSTEXT;
- (void)tok.prefix(reasonPhrase_, phraseChars); // optional, no error if missing
- try {
+ /* RFC 7230 says we SHOULD ignore the reason phrase content
+ * but it has a definite valid vs invalid character set.
+ * We interpret the SHOULD as ignoring absence and syntax, but
+ * producing an error if it contains an invalid octet.
+ */
+
+ debugs(74, 9, "seek reason-phrase in: " << tok.remaining().substr(0,50) << "...");
+ // if we got here we are still looking for reason-phrase bytes
+ static const CharacterSet phraseChars = CharacterSet::WSP + CharacterSet::VCHAR + CharacterSet::OBSTEXT;
+ (void)tok.prefix(reasonPhrase_, phraseChars); // optional, no error if missing
skipLineTerminator(tok);
buf_ = tok.remaining(); // resume checkpoint
debugs(74, DBG_DATA, Raw("leftovers", buf_.rawContent(), buf_.length()));
@@ -100,6 +82,30 @@
return -1;
}
+void
+Http::One::ResponseParser::ParseResponseStatus(Tokenizer &tok, StatusCode &code)
+{
+ int64_t statusValue;
+ if (tok.int64(statusValue, 10, false, 3) && tok.skipOne(Parser::DelimiterCharacters())) {
+ debugs(74, 6, "raw status-code=" << statusValue);
+ code = static_cast(statusValue); // may be invalid
+
+ // RFC 7230 Section 3.1.2 says status-code is exactly three DIGITs
+ if (code <= 99)
+ throw TextException(ToSBuf("status-code too short: ", code), Here());
+
+ // Codes with a non-standard first digit (a.k.a. response class) are
+ // considered semantically invalid per the following HTTP WG discussion:
+ // https://lists.w3.org/Archives/Public/ietf-http-wg/2010AprJun/0354.html
+ if (code >= 600)
+ throw TextException(ToSBuf("status-code from an invalid response class: ", code), Here());
+ } else if (tok.atEnd()) {
+ throw InsufficientInput();
+ } else {
+ throw TextException("syntactically invalid status-code area", Here());
+ }
+}
+
/**
* Attempt to parse the method field out of an HTTP message status-line.
*
@@ -120,13 +126,11 @@
{
Tokenizer tok(buf_);
- const CharacterSet &WspDelim = DelimiterCharacters();
-
if (msgProtocol_.protocol != AnyP::PROTO_NONE) {
debugs(74, 6, "continue incremental parse for " << msgProtocol_);
debugs(74, DBG_DATA, "parse remaining buf={length=" << tok.remaining().length() << ", data='" << tok.remaining() << "'}");
// we already found the magic, but not the full line. keep going.
- return parseResponseStatusAndReason(tok, WspDelim);
+ return parseResponseStatusAndReason(tok);
} else if (tok.skip(Http1magic)) {
debugs(74, 6, "found prefix magic " << Http1magic);
@@ -134,6 +138,7 @@
// magic contains major version, still need to find minor DIGIT
int64_t verMinor;
+ const auto &WspDelim = DelimiterCharacters();
if (tok.int64(verMinor, 10, false, 1) && tok.skipOne(WspDelim)) {
msgProtocol_.protocol = AnyP::PROTO_HTTP;
msgProtocol_.major = 1;
@@ -143,7 +148,7 @@
debugs(74, DBG_DATA, "parse remaining buf={length=" << tok.remaining().length() << ", data='" << tok.remaining() << "'}");
buf_ = tok.remaining(); // resume checkpoint
- return parseResponseStatusAndReason(tok, WspDelim);
+ return parseResponseStatusAndReason(tok);
} else if (tok.atEnd())
return 0; // need more to be sure we have it all
@@ -157,7 +162,7 @@
// NP: ICY has no /major.minor details
debugs(74, DBG_DATA, "parse remaining buf={length=" << tok.remaining().length() << ", data='" << tok.remaining() << "'}");
buf_ = tok.remaining(); // resume checkpoint
- return parseResponseStatusAndReason(tok, WspDelim);
+ return parseResponseStatusAndReason(tok);
} else if (buf_.length() < Http1magic.length() && Http1magic.startsWith(buf_)) {
debugs(74, 7, Raw("valid HTTP/1 prefix", buf_.rawContent(), buf_.length()));
return 0;
diff -u -r -N squid-5.0.5/src/http/one/ResponseParser.h squid-5.0.6/src/http/one/ResponseParser.h
--- squid-5.0.5/src/http/one/ResponseParser.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/one/ResponseParser.h 2021-05-10 21:02:34.000000000 +1200
@@ -45,9 +45,14 @@
Http::StatusCode messageStatus() const { return statusCode_;}
SBuf reasonPhrase() const { return reasonPhrase_;}
+ /// extracts response status-code and the following delimiter; validates status-code
+ /// \param[out] code syntactically valid status-code (unchanged on syntax errors)
+ /// \throws InsuffientInput and other exceptions on syntax and validation errors
+ static void ParseResponseStatus(Tokenizer &, StatusCode &code);
+
private:
int parseResponseFirstLine();
- int parseResponseStatusAndReason(Tokenizer&, const CharacterSet &);
+ int parseResponseStatusAndReason(Tokenizer &);
/// magic prefix for identifying ICY response messages
static const SBuf IcyMagic;
diff -u -r -N squid-5.0.5/src/http/RegisteredHeaders.cc squid-5.0.6/src/http/RegisteredHeaders.cc
--- squid-5.0.5/src/http/RegisteredHeaders.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/RegisteredHeaders.cc 2021-05-10 21:02:34.000000000 +1200
@@ -37,7 +37,7 @@
const HeaderTableRecord&
HeaderLookupTable_t::lookup (const char *buf, const std::size_t len) const {
const HeaderTableRecord *r = HttpHeaderHashTable::lookup(buf, len);
- if (!r)
+ if (!r || r->id == Http::HdrType::OTHER)
return BadHdr;
return *r;
}
diff -u -r -N squid-5.0.5/src/http/RegisteredHeadersHash.cci squid-5.0.6/src/http/RegisteredHeadersHash.cci
--- squid-5.0.5/src/http/RegisteredHeadersHash.cci 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/RegisteredHeadersHash.cci 2021-05-10 21:02:34.000000000 +1200
@@ -41,8 +41,8 @@
* Please see the COPYING and CONTRIBUTORS files for details.
*/
#line 24 "RegisteredHeadersHash.gperf"
-struct HeaderTableRecord;
- enum
+class HeaderTableRecord;
+ enum
{
TOTAL_KEYWORDS = 89,
MIN_WORD_LENGTH = 2,
@@ -103,7 +103,7 @@
private:
static inline unsigned int HttpHeaderHash (const char *str, size_t len);
public:
- static const struct HeaderTableRecord *lookup (const char *str, size_t len);
+ static const class HeaderTableRecord *lookup (const char *str, size_t len);
};
inline unsigned int
@@ -172,7 +172,7 @@
0, 10, 15
};
-static const struct HeaderTableRecord HttpHeaderDefinitionsTable[] =
+static const class HeaderTableRecord HttpHeaderDefinitionsTable[] =
{
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
@@ -365,7 +365,7 @@
{"Accept-Encoding", Http::HdrType::ACCEPT_ENCODING, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader|HdrKind::ReplyHeader}
};
-const struct HeaderTableRecord *
+const class HeaderTableRecord *
HttpHeaderHashTable::lookup (const char *str, size_t len)
{
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff -u -r -N squid-5.0.5/src/http/RegisteredHeadersHash.gperf squid-5.0.6/src/http/RegisteredHeadersHash.gperf
--- squid-5.0.5/src/http/RegisteredHeadersHash.gperf 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/RegisteredHeadersHash.gperf 2021-05-10 21:02:34.000000000 +1200
@@ -21,7 +21,7 @@
%global-table
%ignore-case
%struct-type
-struct HeaderTableRecord;
+class HeaderTableRecord;
%%
Accept, Http::HdrType::ACCEPT, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader
Accept-Charset, Http::HdrType::ACCEPT_CHARSET, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader
diff -u -r -N squid-5.0.5/src/http/StatusLine.cc squid-5.0.6/src/http/StatusLine.cc
--- squid-5.0.5/src/http/StatusLine.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/StatusLine.cc 2021-05-10 21:02:34.000000000 +1200
@@ -11,7 +11,12 @@
#include "squid.h"
#include "base/Packable.h"
#include "Debug.h"
+#include "http/one/ResponseParser.h"
#include "http/StatusLine.h"
+#include "parser/forward.h"
+#include "parser/Tokenizer.h"
+
+#include
void
Http::StatusLine::init()
@@ -29,7 +34,6 @@
void
Http::StatusLine::set(const AnyP::ProtocolVersion &newVersion, const Http::StatusCode newStatus, const char *newReason)
{
- protocol = AnyP::PROTO_HTTP;
version = newVersion;
status_ = newStatus;
/* Note: no xstrdup for 'reason', assumes constant 'reasons' */
@@ -53,7 +57,7 @@
if (packedStatus == Http::scNone) {
static unsigned int reports = 0;
if (++reports <= 100)
- debugs(57, DBG_IMPORTANT, "BUG: Generated response lacks status code");
+ debugs(57, DBG_IMPORTANT, "BUG: the internalized response lacks status-code");
packedStatus = Http::scInternalServerError;
packedReason = Http::StatusCodeString(packedStatus); // ignore custom reason_ (if any)
}
@@ -64,7 +68,7 @@
static const char *IcyStatusLineFormat = "ICY %3d %s\r\n";
/* handle ICY protocol status line specially. Pass on the bad format. */
- if (protocol == AnyP::PROTO_ICY) {
+ if (version.protocol == AnyP::PROTO_ICY) {
debugs(57, 9, "packing sline " << this << " using " << p << ":");
debugs(57, 9, "FORMAT=" << IcyStatusLineFormat );
debugs(57, 9, "ICY " << packedStatus << " " << packedReason);
@@ -78,12 +82,8 @@
p->appendf(Http1StatusLineFormat, version.major, version.minor, packedStatus, packedReason);
}
-/*
- * Parse character string.
- * XXX: Note 'end' currently unused, so NULL-termination assumed.
- */
bool
-Http::StatusLine::parse(const String &protoPrefix, const char *start, const char * /*end*/)
+Http::StatusLine::parse(const String &protoPrefix, const char *start, const char *end)
{
status_ = Http::scInvalidHeader; /* Squid header parsing error */
@@ -92,7 +92,7 @@
if (protoPrefix.cmp("ICY", 3) == 0) {
debugs(57, 3, "Invalid HTTP identifier. Detected ICY protocol instead.");
- protocol = AnyP::PROTO_ICY;
+ version = AnyP::ProtocolVersion(AnyP::PROTO_ICY, 1, 0);
start += protoPrefix.size();
} else if (protoPrefix.caseCmp(start, protoPrefix.size()) == 0) {
@@ -114,8 +114,25 @@
if (!(start = strchr(start, ' ')))
return false;
- // XXX: should we be using xstrtoui() or xatoui() ?
- status_ = static_cast(atoi(++start));
+ ++start; // skip SP between HTTP-version and status-code
+
+ assert(start <= end);
+ const auto stdStatusAreaLength = 4; // status-code length plus SP
+ const auto unparsedLength = end - start;
+ const auto statusAreaLength = std::min(stdStatusAreaLength, unparsedLength);
+
+ static SBuf statusBuf;
+ statusBuf.assign(start, statusAreaLength);
+ Parser::Tokenizer tok(statusBuf);
+ try {
+ One::ResponseParser::ParseResponseStatus(tok, status_);
+ } catch (const Parser::InsufficientInput &) {
+ debugs(57, 7, "need more; have " << unparsedLength);
+ return false;
+ } catch (...) {
+ debugs(57, 3, "cannot parse status-code area: " << CurrentException);
+ return false;
+ }
// XXX check if the given 'reason' is the default status string, if not save to reason_
diff -u -r -N squid-5.0.5/src/http/StatusLine.h squid-5.0.6/src/http/StatusLine.h
--- squid-5.0.5/src/http/StatusLine.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/StatusLine.h 2021-05-10 21:02:34.000000000 +1200
@@ -20,7 +20,7 @@
{
/**
- * Holds the values parsed from an HTTP reply status line.
+ * Holds the values parsed from an HTTP-like reply status line.
*
* For example: HTTP/1.1 200 OK
*/
@@ -59,22 +59,14 @@
public:
/* public, read only */
- /**
- * By rights protocol name should be a constant "HTTP", with no need for this field to exist.
- * However there are protocols which violate HTTP by sending their own custom formats
- * back with other protocol names (ICY streaming format being the current major problem).
- */
- // XXX: protocol is part of AnyP::ProtocolVersion. We should be able to use version.protocol instead now.
- AnyP::ProtocolType protocol;
-
AnyP::ProtocolVersion version; ///< breakdown of protocol version label: (HTTP/ICY) and (0.9/1.0/1.1)
private:
/// status code. ie 100 ... 200 ... 404 ... 599
- Http::StatusCode status_;
+ Http::StatusCode status_ = scNone;
/// points to a _constant_ string (default or supplied), never free()d
- const char *reason_;
+ const char *reason_ = nullptr;
};
} // namespace Http
diff -u -r -N squid-5.0.5/src/http/Stream.cc squid-5.0.6/src/http/Stream.cc
--- squid-5.0.5/src/http/Stream.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/Stream.cc 2021-05-10 21:02:34.000000000 +1200
@@ -54,7 +54,7 @@
assert(!connRegistered_);
assert(getConn());
connRegistered_ = true;
- getConn()->pipeline.add(Http::StreamPointer(this));
+ getConn()->add(this);
}
bool
@@ -171,12 +171,13 @@
return start;
}
- } else if (reply && reply->contentRange()) {
+ } else if (const auto cr = reply ? reply->contentRange() : nullptr) {
/* request does not have ranges, but reply does */
/* TODO: should use range_iter_pos on reply, as soon as reply->content_range
* becomes HttpHdrRange rather than HttpHdrRangeSpec.
*/
- return http->out.offset + reply->contentRange()->spec.offset;
+ if (cr->spec.offset != HttpHdrRangeSpec::UnknownPosition)
+ return http->out.offset + cr->spec.offset;
}
return http->out.offset;
@@ -240,6 +241,10 @@
// did we get at least what we expected, based on range specs?
+ // this Content-Range does not tell us how many bytes to expect
+ if (bytesExpected == HttpHdrRangeSpec::UnknownPosition)
+ return STREAM_NONE;
+
if (bytesSent == bytesExpected) // got everything
return STREAM_COMPLETE;
@@ -470,59 +475,27 @@
} else {
/* XXX: TODO: Review, this unconditional set may be wrong. */
rep->sline.set(rep->sline.version, Http::scPartialContent);
- // web server responded with a valid, but unexpected range.
- // will (try-to) forward as-is.
- //TODO: we should cope with multirange request/responses
- // TODO: review, since rep->content_range is always nil here.
- bool replyMatchRequest = contentRange != nullptr ?
- request->range->contains(contentRange->spec) :
- true;
+
+ // before range_iter accesses
+ const auto actual_clen = http->prepPartialResponseGeneration();
+
const int spec_count = http->request->range->specs.size();
- int64_t actual_clen = -1;
debugs(33, 3, "range spec count: " << spec_count <<
" virgin clen: " << rep->content_length);
assert(spec_count > 0);
/* append appropriate header(s) */
if (spec_count == 1) {
- if (!replyMatchRequest) {
- hdr->putContRange(contentRange);
- actual_clen = rep->content_length;
- //http->range_iter.pos = rep->content_range->spec.begin();
- (*http->range_iter.pos)->offset = contentRange->spec.offset;
- (*http->range_iter.pos)->length = contentRange->spec.length;
-
- } else {
- HttpHdrRange::iterator pos = http->request->range->begin();
- assert(*pos);
- /* append Content-Range */
-
- if (!contentRange) {
- /* No content range, so this was a full object we are
- * sending parts of.
- */
- httpHeaderAddContRange(hdr, **pos, rep->content_length);
- }
-
- /* set new Content-Length to the actual number of bytes
- * transmitted in the message-body */
- actual_clen = (*pos)->length;
- }
+ const auto singleSpec = *http->request->range->begin();
+ assert(singleSpec);
+ httpHeaderAddContRange(hdr, *singleSpec, rep->content_length);
} else {
/* multipart! */
- /* generate boundary string */
- http->range_iter.boundary = http->rangeBoundaryStr();
/* delete old Content-Type, add ours */
hdr->delById(Http::HdrType::CONTENT_TYPE);
httpHeaderPutStrf(hdr, Http::HdrType::CONTENT_TYPE,
"multipart/byteranges; boundary=\"" SQUIDSTRINGPH "\"",
SQUIDSTRINGPRINT(http->range_iter.boundary));
- /* Content-Length is not required in multipart responses
- * but it is always nice to have one */
- actual_clen = http->mRangeCLen();
-
- /* http->out needs to start where we want data at */
- http->out.offset = http->range_iter.currentSpec()->offset;
}
/* replace Content-Length header */
@@ -530,9 +503,6 @@
hdr->delById(Http::HdrType::CONTENT_LENGTH);
hdr->putInt64(Http::HdrType::CONTENT_LENGTH, actual_clen);
debugs(33, 3, "actual content length: " << actual_clen);
-
- /* And start the range iter off */
- http->range_iter.updateSpec();
}
}
@@ -560,12 +530,11 @@
/// remembers the abnormal connection termination for logging purposes
void
-Http::Stream::noteIoError(const int xerrno)
+Http::Stream::noteIoError(const Error &error, const LogTagsErrors <e)
{
if (http) {
- http->logType.err.timedout = (xerrno == ETIMEDOUT);
- // aborted even if xerrno is zero (which means read abort/eof)
- http->logType.err.aborted = (xerrno != ETIMEDOUT);
+ http->updateError(error);
+ http->logType.err.update(lte);
}
}
diff -u -r -N squid-5.0.5/src/http/Stream.h squid-5.0.6/src/http/Stream.h
--- squid-5.0.5/src/http/Stream.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http/Stream.h 2021-05-10 21:02:34.000000000 +1200
@@ -116,7 +116,7 @@
ConnStateData *getConn() const;
/// update state to reflect I/O error
- void noteIoError(const int xerrno);
+ void noteIoError(const Error &, const LogTagsErrors &);
/// cleanup when the transaction has finished. may destroy 'this'
void finished();
diff -u -r -N squid-5.0.5/src/http/url_rewriters/LFS/url_lfs_rewrite.8 squid-5.0.6/src/http/url_rewriters/LFS/url_lfs_rewrite.8
--- squid-5.0.5/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2021-02-08 13:46:40.000000000 +1300
+++ squid-5.0.6/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2021-05-10 23:02:24.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "URL_LFS_REWRITE 8"
-.TH URL_LFS_REWRITE 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH URL_LFS_REWRITE 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/http.cc squid-5.0.6/src/http.cc
--- squid-5.0.5/src/http.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/http.cc 2021-05-10 21:02:34.000000000 +1200
@@ -24,7 +24,7 @@
#include "comm/Read.h"
#include "comm/Write.h"
#include "CommRead.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "errorpage.h"
#include "fd.h"
#include "fde.h"
@@ -67,15 +67,6 @@
#include "DelayPools.h"
#endif
-#define SQUID_ENTER_THROWING_CODE() try {
-#define SQUID_EXIT_THROWING_CODE(status) \
- status = true; \
- } \
- catch (const std::exception &e) { \
- debugs (11, 1, "Exception error:" << e.what()); \
- status = false; \
- }
-
CBDATA_CLASS_INIT(HttpStateData);
static const char *const crlf = "\r\n";
@@ -687,6 +678,9 @@
hp = new Http1::ResponseParser;
bool parsedOk = hp->parse(inBuf);
+ // remember the actual received status-code before returning on errors,
+ // overwriting any previously stored value from earlier forwarding attempts
+ request->hier.peer_reply_status = hp->messageStatus(); // may still be scNone
// sync the buffers after parsing.
inBuf = hp->remaining();
@@ -736,18 +730,11 @@
// XXX: RFC 7230 indicates we MAY ignore the reason phrase,
// and use an empty string on unknown status.
// We do that now to avoid performance regression from using SBuf::c_str()
- newrep->sline.set(Http::ProtocolVersion(1,1), hp->messageStatus() /* , hp->reasonPhrase() */);
- newrep->sline.protocol = newrep->sline.version.protocol = hp->messageProtocol().protocol;
- newrep->sline.version.major = hp->messageProtocol().major;
- newrep->sline.version.minor = hp->messageProtocol().minor;
+ newrep->sline.set(hp->messageProtocol(), hp->messageStatus() /* , hp->reasonPhrase() */);
// parse headers
if (!newrep->parseHeader(*hp)) {
- // XXX: when Http::ProtocolVersion is a function, remove this hack. just set with messageProtocol()
- newrep->sline.set(Http::ProtocolVersion(), Http::scInvalidHeader);
- newrep->sline.version.protocol = hp->messageProtocol().protocol;
- newrep->sline.version.major = hp->messageProtocol().major;
- newrep->sline.version.minor = hp->messageProtocol().minor;
+ newrep->sline.set(hp->messageProtocol(), Http::scInvalidHeader);
debugs(11, 2, "error parsing response headers mime block");
}
@@ -758,14 +745,14 @@
newrep->removeStaleWarnings();
- if (newrep->sline.protocol == AnyP::PROTO_HTTP && Http::Is1xx(newrep->sline.status())) {
+ if (newrep->sline.version.protocol == AnyP::PROTO_HTTP && Http::Is1xx(newrep->sline.status())) {
handle1xx(newrep);
ctx_exit(ctx);
return;
}
flags.chunked = false;
- if (newrep->sline.protocol == AnyP::PROTO_HTTP && newrep->header.chunked()) {
+ if (newrep->sline.version.protocol == AnyP::PROTO_HTTP && newrep->header.chunked()) {
flags.chunked = true;
httpChunkDecoder = new Http1::TeChunkedParser;
}
@@ -782,8 +769,6 @@
processSurrogateControl (vrep);
- request->hier.peer_reply_status = newrep->sline.status();
-
ctx_exit(ctx);
}
@@ -1329,6 +1314,11 @@
Must(!flags.headers_parsed);
}
+ if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
+ abortTransaction("store entry aborted while we were waiting for processReply()");
+ return;
+ }
+
if (!flags.headers_parsed) { // have not parsed headers yet?
PROF_start(HttpStateData_processReplyHeader);
processReplyHeader();
@@ -1460,26 +1450,25 @@
bool
HttpStateData::decodeAndWriteReplyBody()
{
- const char *data = NULL;
- int len;
- bool wasThereAnException = false;
assert(flags.chunked);
assert(httpChunkDecoder);
- SQUID_ENTER_THROWING_CODE();
- MemBuf decodedData;
- decodedData.init();
- httpChunkDecoder->setPayloadBuffer(&decodedData);
- const bool doneParsing = httpChunkDecoder->parse(inBuf);
- inBuf = httpChunkDecoder->remaining(); // sync buffers after parse
- len = decodedData.contentSize();
- data=decodedData.content();
- addVirginReplyBody(data, len);
- if (doneParsing) {
- lastChunk = 1;
- flags.do_next_read = false;
+ try {
+ MemBuf decodedData;
+ decodedData.init();
+ httpChunkDecoder->setPayloadBuffer(&decodedData);
+ const bool doneParsing = httpChunkDecoder->parse(inBuf);
+ inBuf = httpChunkDecoder->remaining(); // sync buffers after parse
+ addVirginReplyBody(decodedData.content(), decodedData.contentSize());
+ if (doneParsing) {
+ lastChunk = 1;
+ flags.do_next_read = false;
+ }
+ return true;
+ }
+ catch (...) {
+ debugs (11, 2, "de-chunking failure: " << CurrentException);
}
- SQUID_EXIT_THROWING_CODE(wasThereAnException);
- return wasThereAnException;
+ return false;
}
/**
@@ -2629,7 +2618,8 @@
// should not matter because either client-side will provide its own or
// there will be no response at all (e.g., if the the client has left).
const auto err = new ErrorState(ERR_ICAP_FAILURE, Http::scInternalServerError, fwd->request, fwd->al);
- err->detailError(ERR_DETAIL_SRV_REQMOD_REQ_BODY);
+ static const auto d = MakeNamedErrorDetail("SRV_REQMOD_REQ_BODY");
+ err->detailError(d);
fwd->fail(err);
}
diff -u -r -N squid-5.0.5/src/HttpHdrContRange.cc squid-5.0.6/src/HttpHdrContRange.cc
--- squid-5.0.5/src/HttpHdrContRange.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpHdrContRange.cc 2021-05-10 21:02:34.000000000 +1200
@@ -161,9 +161,13 @@
++p;
- if (*p == '*')
+ if (*p == '*') {
+ if (!known_spec(range->spec.offset)) {
+ debugs(68, 2, "invalid (*/*) content-range-spec near: '" << str << "'");
+ return 0;
+ }
range->elength = range_spec_unknown;
- else if (!httpHeaderParseOffset(p, &range->elength))
+ } else if (!httpHeaderParseOffset(p, &range->elength))
return 0;
else if (range->elength <= 0) {
/* Additional paranoidal check for BUG2155 - entity-length MUST be > 0 */
@@ -174,6 +178,12 @@
return 0;
}
+ // reject unsatisfied-range and such; we only use well-defined ranges today
+ if (!known_spec(range->spec.offset) || !known_spec(range->spec.length)) {
+ debugs(68, 2, "unwanted content-range-spec near: '" << str << "'");
+ return 0;
+ }
+
debugs(68, 8, "parsed content-range field: " <<
(long int) range->spec.offset << "-" <<
(long int) range->spec.offset + range->spec.length - 1 << " / " <<
diff -u -r -N squid-5.0.5/src/HttpHdrRange.cc squid-5.0.6/src/HttpHdrRange.cc
--- squid-5.0.5/src/HttpHdrRange.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpHdrRange.cc 2021-05-10 21:02:34.000000000 +1200
@@ -226,7 +226,7 @@
int ilen;
assert(range_spec);
++ParsedCount;
- debugs(64, 8, "parsing range field: '" << range_spec << "'");
+ debugs(64, 8, "parsing range field: '" << *range_spec << "'");
/* check range type */
if (range_spec->caseCmp("bytes=", 6))
@@ -247,7 +247,7 @@
delete specs.back();
specs.pop_back();
}
- debugs(64, 2, "ignoring invalid range field: '" << range_spec << "'");
+ debugs(64, 2, "ignoring invalid range field: '" << *range_spec << "'");
break;
}
@@ -526,23 +526,6 @@
return true;
}
-bool
-HttpHdrRange::contains(const HttpHdrRangeSpec& r) const
-{
- assert(r.length >= 0);
- HttpHdrRangeSpec::HttpRange rrange(r.offset, r.offset + r.length);
-
- for (const_iterator i = begin(); i != end(); ++i) {
- HttpHdrRangeSpec::HttpRange irange((*i)->offset, (*i)->offset + (*i)->length);
- HttpHdrRangeSpec::HttpRange intersection = rrange.intersection(irange);
-
- if (intersection.start == irange.start && intersection.size() == irange.size())
- return true;
- }
-
- return false;
-}
-
const HttpHdrRangeSpec *
HttpHdrRangeIter::currentSpec() const
{
diff -u -r -N squid-5.0.5/src/HttpHdrSc.cc squid-5.0.6/src/HttpHdrSc.cc
--- squid-5.0.5/src/HttpHdrSc.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpHdrSc.cc 2021-05-10 21:02:34.000000000 +1200
@@ -108,7 +108,7 @@
type = scLookupTable.lookup(SBuf(item,ilen));
if (type == SC_ENUM_END) {
- debugs(90, 2, "hdr sc: unknown control-directive: near '" << item << "' in '" << str << "'");
+ debugs(90, 2, "unknown control-directive near '" << item << "' in '" << *str << "'");
type = SC_OTHER;
}
@@ -132,7 +132,7 @@
if (sct->isSet(type)) {
if (type != SC_OTHER)
- debugs(90, 2, "hdr sc: ignoring duplicate control-directive: near '" << item << "' in '" << str << "'");
+ debugs(90, 2, "ignoring duplicate control-directive near '" << item << "' in '" << *str << "'");
++ scHeaderStats[type].repCount;
@@ -336,6 +336,16 @@
HttpHdrScTarget *sctus = findTarget(ourtarget);
HttpHdrScTarget *sctgeneric = findTarget(NULL);
+ /* W3C Edge Architecture Specification 1.0 section 3
+ *
+ * "If more than one is targeted at a surrogate, the most specific applies.
+ * For example,
+ * Surrogate-Control: max-age=60, no-store;abc
+ * The surrogate that identified itself as 'abc' would apply no-store;
+ * others would apply max-age=60.
+ *
+ * XXX: the if statements below will *merge* the no-store and max-age settings.
+ */
if (sctgeneric || sctus) {
HttpHdrScTarget *sctusable = new HttpHdrScTarget(NULL);
diff -u -r -N squid-5.0.5/src/HttpHeader.cc squid-5.0.6/src/HttpHeader.cc
--- squid-5.0.5/src/HttpHeader.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpHeader.cc 2021-05-10 21:02:34.000000000 +1200
@@ -35,6 +35,7 @@
#include "util.h"
#include
+#include
/* XXX: the whole set of API managing the entries vector should be rethought
* after the parse4r-ng effort is complete.
@@ -74,7 +75,7 @@
/* header accounting */
// NP: keep in sync with enum http_hdr_owner_type
-static HttpHeaderStat HttpHeaderStats[] = {
+static std::array HttpHeaderStats = {
HttpHeaderStat(/*hoNone*/ "all", NULL),
#if USE_HTCP
HttpHeaderStat(/*hoHtcpReply*/ "HTCP reply", &ReplyHeadersMask),
@@ -82,11 +83,10 @@
HttpHeaderStat(/*hoRequest*/ "request", &RequestHeadersMask),
HttpHeaderStat(/*hoReply*/ "reply", &ReplyHeadersMask)
#if USE_OPENSSL
- /* hoErrorDetail */
+ , HttpHeaderStat(/*hoErrorDetail*/ "error detail templates", nullptr)
#endif
/* hoEnd */
};
-static int HttpHeaderStatCount = countof(HttpHeaderStats);
static int HeaderEntryParsedCount = 0;
@@ -129,8 +129,8 @@
CBIT_SET(ReplyHeadersMask,h);
}
- /* header stats initialized by class constructor */
- assert(HttpHeaderStatCount == hoReply + 1);
+ assert(HttpHeaderStats[0].label && "httpHeaderInitModule() called via main()");
+ assert(HttpHeaderStats[hoEnd-1].label && "HttpHeaderStats created with all elements");
/* init dependent modules */
httpHdrCcInitModule();
@@ -539,11 +539,10 @@
if (delById(Http::HdrType::CONTENT_LENGTH))
debugs(55, 3, "Content-Length is " << clen.prohibitedAndIgnored());
- // RFC 7230 section 3.3.1 has the same criteria forbid Transfer-Encoding
- if (delById(Http::HdrType::TRANSFER_ENCODING)) {
+ // The same RFC 7230 3.3.3#1-based logic applies to Transfer-Encoding
+ // banned by RFC 7230 section 3.3.1.
+ if (delById(Http::HdrType::TRANSFER_ENCODING))
debugs(55, 3, "Transfer-Encoding is " << clen.prohibitedAndIgnored());
- teUnsupported_ = true;
- }
} else if (getByIdIfPresent(Http::HdrType::TRANSFER_ENCODING, &rawTe)) {
// RFC 2616 section 4.4: ignore Content-Length with Transfer-Encoding
@@ -1640,6 +1639,9 @@
assert(hs);
assert(e);
+ if (!hs->owner_mask)
+ return; // these HttpHeaderStat objects were not meant to be dumped here
+
dump_stat = hs;
storeAppendPrintf(e, "\nHeader Stats: %s\n", hs->label);
storeAppendPrintf(e, "\nField type distribution\n");
@@ -1665,7 +1667,6 @@
void
httpHeaderStoreReport(StoreEntry * e)
{
- int i;
assert(e);
HttpHeaderStats[0].parsedCount =
@@ -1677,9 +1678,8 @@
HttpHeaderStats[0].busyDestroyedCount =
HttpHeaderStats[hoRequest].busyDestroyedCount + HttpHeaderStats[hoReply].busyDestroyedCount;
- for (i = 1; i < HttpHeaderStatCount; ++i) {
- httpHeaderStatDump(HttpHeaderStats + i, e);
- }
+ for (const auto &stats: HttpHeaderStats)
+ httpHeaderStatDump(&stats, e);
/* field stats for all messages */
storeAppendPrintf(e, "\nHttp Fields Stats (replies and requests)\n");
diff -u -r -N squid-5.0.5/src/HttpHeaderRange.h squid-5.0.6/src/HttpHeaderRange.h
--- squid-5.0.5/src/HttpHeaderRange.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpHeaderRange.h 2021-05-10 21:02:34.000000000 +1200
@@ -18,8 +18,11 @@
class HttpReply;
class Packable;
-/* http byte-range-spec */
-
+// TODO: Refactor to disambiguate and provide message-specific APIs.
+/// either byte-range-spec (in a request Range header)
+/// or suffix-byte-range-spec (in a request Range header)
+/// or byte-range part of byte-range-resp (in a response Content-Range header)
+/// or "*" part of unsatisfied-range (in a response Content-Range header)
class HttpHdrRangeSpec
{
MEMPROXY_CLASS(HttpHdrRangeSpec);
@@ -78,7 +81,6 @@
int64_t firstOffset() const;
int64_t lowestOffset(int64_t) const;
bool offsetLimitExceeded(const int64_t limit) const;
- bool contains(const HttpHdrRangeSpec& r) const;
std::vector specs;
private:
@@ -100,9 +102,9 @@
void updateSpec();
int64_t debt() const;
void debt(int64_t);
- int64_t debt_size; /* bytes left to send from the current spec */
+ int64_t debt_size = 0; /* bytes left to send from the current spec */
String boundary; /* boundary for multipart responses */
- bool valid;
+ bool valid = false;
};
#endif /* SQUID_HTTPHEADERRANGE_H */
diff -u -r -N squid-5.0.5/src/HttpRequest.cc squid-5.0.6/src/HttpRequest.cc
--- squid-5.0.5/src/HttpRequest.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpRequest.cc 2021-05-10 21:02:34.000000000 +1200
@@ -17,7 +17,7 @@
#include "client_side_request.h"
#include "dns/LookupDetails.h"
#include "Downloader.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "globals.h"
#include "gopher.h"
#include "http.h"
@@ -91,8 +91,7 @@
body_pipe = NULL;
// hier
dnsWait = -1;
- errType = ERR_NONE;
- errDetail = ERR_DETAIL_NONE;
+ error.clear();
peer_login = NULL; // not allocated/deallocated by this class
peer_domain = NULL; // not allocated/deallocated by this class
peer_host = NULL;
@@ -193,7 +192,7 @@
copy->imslen = imslen;
copy->hier = hier; // Is it safe to copy? Should we?
- copy->errType = errType;
+ copy->error = error;
// XXX: what to do with copy->peer_login?
@@ -238,8 +237,7 @@
// may eventually need cloneNullAdaptationImmune() for that.
flags = aReq->flags.cloneAdaptationImmune();
- errType = aReq->errType;
- errDetail = aReq->errDetail;
+ error = aReq->error;
#if USE_AUTH
auth_user_request = aReq->auth_user_request;
extacl_user = aReq->extacl_user;
@@ -268,7 +266,7 @@
* NP: Other errors are left for detection later in the parse.
*/
bool
-HttpRequest::sanityCheckStartLine(const char *buf, const size_t hdr_len, Http::StatusCode *error)
+HttpRequest::sanityCheckStartLine(const char *buf, const size_t hdr_len, Http::StatusCode *scode)
{
// content is long enough to possibly hold a reply
// 2 being magic size of a 1-byte request method plus space delimiter
@@ -276,7 +274,7 @@
// this is ony a real error if the headers apparently complete.
if (hdr_len > 0) {
debugs(58, 3, HERE << "Too large request header (" << hdr_len << " bytes)");
- *error = Http::scInvalidHeader;
+ *scode = Http::scInvalidHeader;
}
return false;
}
@@ -286,7 +284,7 @@
m.HttpRequestMethodXXX(buf);
if (m == Http::METHOD_NONE) {
debugs(73, 3, "HttpRequest::sanityCheckStartLine: did not find HTTP request method");
- *error = Http::scInvalidHeader;
+ *scode = Http::scInvalidHeader;
return false;
}
@@ -465,25 +463,10 @@
}
void
-HttpRequest::detailError(err_type aType, int aDetail)
-{
- if (errType || errDetail)
- debugs(11, 5, HERE << "old error details: " << errType << '/' << errDetail);
- debugs(11, 5, HERE << "current error details: " << aType << '/' << aDetail);
- // checking type and detail separately may cause inconsistency, but
- // may result in more details available if they only become available later
- if (!errType)
- errType = aType;
- if (!errDetail)
- errDetail = aDetail;
-}
-
-void
HttpRequest::clearError()
{
- debugs(11, 7, HERE << "old error details: " << errType << '/' << errDetail);
- errType = ERR_NONE;
- errDetail = ERR_DETAIL_NONE;
+ debugs(11, 7, "old: " << error);
+ error.clear();
}
void
diff -u -r -N squid-5.0.5/src/HttpRequest.h squid-5.0.6/src/HttpRequest.h
--- squid-5.0.5/src/HttpRequest.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/HttpRequest.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,7 +12,7 @@
#include "anyp/Uri.h"
#include "base/CbcPointer.h"
#include "dns/forward.h"
-#include "err_type.h"
+#include "error/Error.h"
#include "HierarchyLogEntry.h"
#include "http/Message.h"
#include "http/RequestMethod.h"
@@ -98,7 +98,7 @@
void recordLookup(const Dns::LookupDetails &detail);
/// sets error detail if no earlier detail was available
- void detailError(err_type aType, int aDetail);
+ void detailError(const err_type c, const ErrorDetail::Pointer &d) { error.update(c, d); }
/// clear error details, useful for retries/repeats
void clearError();
@@ -158,8 +158,7 @@
int dnsWait; ///< sum of DNS lookup delays in milliseconds, for %dt
- err_type errType;
- int errDetail; ///< errType-specific detail about the transaction error
+ Error error; ///< the first transaction problem encountered (or falsy)
char *peer_login; /* Configured peer login:password */
diff -u -r -N squid-5.0.5/src/icmp/Makefile.am squid-5.0.6/src/icmp/Makefile.am
--- squid-5.0.5/src/icmp/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/icmp/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -20,17 +20,17 @@
# ICMP API definition ...
libicmpcore_la_SOURCES = \
- Icmp.h \
- Icmp.cc
+ Icmp.cc \
+ Icmp.h
# Squid Internal ICMP helper interface
libicmp_la_SOURCES = \
IcmpConfig.cc \
IcmpConfig.h \
- IcmpSquid.h \
IcmpSquid.cc \
- net_db.h \
- net_db.cc
+ IcmpSquid.h \
+ net_db.cc \
+ net_db.h
libicmp_la_LIBADD= libicmpcore.la
@@ -50,12 +50,12 @@
# ICMP lookup helper
pinger_SOURCES = \
Icmp.h \
- IcmpPinger.h \
- IcmpPinger.cc \
- Icmp4.h \
Icmp4.cc \
- Icmp6.h \
+ Icmp4.h \
Icmp6.cc \
+ Icmp6.h \
+ IcmpPinger.cc \
+ IcmpPinger.h \
pinger.cc
nodist_pinger_SOURCES = $(COPIED_SOURCE)
pinger_LDFLAGS = $(LIBADD_DL)
diff -u -r -N squid-5.0.5/src/icmp/Makefile.in squid-5.0.6/src/icmp/Makefile.in
--- squid-5.0.5/src/icmp/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/icmp/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -178,8 +178,8 @@
libicmpcore_la_LIBADD =
am_libicmpcore_la_OBJECTS = Icmp.lo
libicmpcore_la_OBJECTS = $(am_libicmpcore_la_OBJECTS)
-am_pinger_OBJECTS = IcmpPinger.$(OBJEXT) Icmp4.$(OBJEXT) \
- Icmp6.$(OBJEXT) pinger.$(OBJEXT)
+am_pinger_OBJECTS = Icmp4.$(OBJEXT) Icmp6.$(OBJEXT) \
+ IcmpPinger.$(OBJEXT) pinger.$(OBJEXT)
am__dirstamp = $(am__leading_dot)dirstamp
am__objects_1 = debug.$(OBJEXT) globals.$(OBJEXT) \
SquidConfig.$(OBJEXT) SquidNew.$(OBJEXT) \
@@ -768,18 +768,18 @@
# ICMP API definition ...
libicmpcore_la_SOURCES = \
- Icmp.h \
- Icmp.cc
+ Icmp.cc \
+ Icmp.h
# Squid Internal ICMP helper interface
libicmp_la_SOURCES = \
IcmpConfig.cc \
IcmpConfig.h \
- IcmpSquid.h \
IcmpSquid.cc \
- net_db.h \
- net_db.cc
+ IcmpSquid.h \
+ net_db.cc \
+ net_db.h
libicmp_la_LIBADD = libicmpcore.la
@@ -800,12 +800,12 @@
# ICMP lookup helper
pinger_SOURCES = \
Icmp.h \
- IcmpPinger.h \
- IcmpPinger.cc \
- Icmp4.h \
Icmp4.cc \
- Icmp6.h \
+ Icmp4.h \
Icmp6.cc \
+ Icmp6.h \
+ IcmpPinger.cc \
+ IcmpPinger.h \
pinger.cc
nodist_pinger_SOURCES = $(COPIED_SOURCE)
diff -u -r -N squid-5.0.5/src/ident/Makefile.am squid-5.0.6/src/ident/Makefile.am
--- squid-5.0.5/src/ident/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ident/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,8 +11,8 @@
noinst_LTLIBRARIES = libident.la
libident_la_SOURCES = \
- AclIdent.h \
AclIdent.cc \
+ AclIdent.h \
Config.h \
Ident.cc \
Ident.h
diff -u -r -N squid-5.0.5/src/ident/Makefile.in squid-5.0.6/src/ident/Makefile.in
--- squid-5.0.5/src/ident/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/ident/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -728,8 +728,8 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libident.la
libident_la_SOURCES = \
- AclIdent.h \
AclIdent.cc \
+ AclIdent.h \
Config.h \
Ident.cc \
Ident.h
diff -u -r -N squid-5.0.5/src/ip/Address.h squid-5.0.6/src/ip/Address.h
--- squid-5.0.5/src/ip/Address.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ip/Address.h 2021-05-10 21:02:34.000000000 +1200
@@ -41,7 +41,7 @@
{
public:
- /** @name Constructors and Destructor */
+ /** @name Constructors */
/*@{*/
Address() { setEmpty(); }
Address(const struct in_addr &);
@@ -51,7 +51,6 @@
Address(const struct hostent &);
Address(const struct addrinfo &);
Address(const char*);
- ~Address() {}
/*@}*/
/** @name Assignment Operators */
diff -u -r -N squid-5.0.5/src/ip/Makefile.am squid-5.0.6/src/ip/Makefile.am
--- squid-5.0.5/src/ip/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ip/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,14 +11,14 @@
noinst_LTLIBRARIES = libip.la
libip_la_SOURCES = \
- forward.h \
- Address.h \
Address.cc \
- Intercept.h \
+ Address.h \
Intercept.cc \
- NfMarkConfig.h \
+ Intercept.h \
NfMarkConfig.cc \
- QosConfig.h \
+ NfMarkConfig.h \
QosConfig.cc \
+ QosConfig.h \
+ forward.h \
tools.cc \
tools.h
diff -u -r -N squid-5.0.5/src/ip/Makefile.in squid-5.0.6/src/ip/Makefile.in
--- squid-5.0.5/src/ip/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/ip/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -731,15 +731,15 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libip.la
libip_la_SOURCES = \
- forward.h \
- Address.h \
Address.cc \
- Intercept.h \
+ Address.h \
Intercept.cc \
- NfMarkConfig.h \
+ Intercept.h \
NfMarkConfig.cc \
- QosConfig.h \
+ NfMarkConfig.h \
QosConfig.cc \
+ QosConfig.h \
+ forward.h \
tools.cc \
tools.h
diff -u -r -N squid-5.0.5/src/ip/QosConfig.cc squid-5.0.6/src/ip/QosConfig.cc
--- squid-5.0.5/src/ip/QosConfig.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ip/QosConfig.cc 2021-05-10 21:02:34.000000000 +1200
@@ -20,6 +20,7 @@
#include "Parsing.h"
#include
+#include
CBDATA_CLASS_INIT(acl_tos);
diff -u -r -N squid-5.0.5/src/ipc/Coordinator.cc squid-5.0.6/src/ipc/Coordinator.cc
--- squid-5.0.5/src/ipc/Coordinator.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Coordinator.cc 2021-05-10 21:02:34.000000000 +1200
@@ -78,13 +78,13 @@
void Ipc::Coordinator::receive(const TypedMsgHdr& message)
{
- switch (message.type()) {
- case mtRegistration:
+ switch (message.rawType()) {
+ case mtRegisterStrand:
debugs(54, 6, HERE << "Registration request");
- handleRegistrationRequest(HereIamMessage(message));
+ handleRegistrationRequest(StrandMessage(message));
break;
- case mtStrandSearchRequest: {
+ case mtFindStrand: {
const StrandSearchRequest sr(message);
debugs(54, 6, HERE << "Strand search request: " << sr.requestorId <<
" tag: " << sr.tag);
@@ -107,7 +107,7 @@
case mtCacheMgrResponse: {
debugs(54, 6, HERE << "Cache manager response");
const Mgr::Response resp(message);
- handleCacheMgrResponse(resp);
+ handleCacheMgrResponse(Mine(resp));
}
break;
@@ -122,24 +122,24 @@
case mtSnmpResponse: {
debugs(54, 6, HERE << "SNMP response");
const Snmp::Response resp(message);
- handleSnmpResponse(resp);
+ handleSnmpResponse(Mine(resp));
}
break;
#endif
default:
- debugs(54, DBG_IMPORTANT, HERE << "Unhandled message type: " << message.type());
+ Port::receive(message);
break;
}
}
-void Ipc::Coordinator::handleRegistrationRequest(const HereIamMessage& msg)
+void Ipc::Coordinator::handleRegistrationRequest(const StrandMessage& msg)
{
registerStrand(msg.strand);
// send back an acknowledgement; TODO: remove as not needed?
TypedMsgHdr message;
- msg.pack(message);
+ msg.pack(mtStrandRegistered, message);
SendMessage(MakeAddr(strandAddrLabel, msg.strand.kidId), message);
}
@@ -222,9 +222,9 @@
{
debugs(54, 3, HERE << "tell kid" << request.requestorId << " that " <<
request.tag << " is kid" << strand.kidId);
- const StrandSearchResponse response(strand);
+ const StrandMessage response(strand, request.qid);
TypedMsgHdr message;
- response.pack(message);
+ response.pack(mtStrandReady, message);
SendMessage(MakeAddr(strandAddrLabel, request.requestorId), message);
}
diff -u -r -N squid-5.0.5/src/ipc/Coordinator.h squid-5.0.6/src/ipc/Coordinator.h
--- squid-5.0.5/src/ipc/Coordinator.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Coordinator.h 2021-05-10 21:02:34.000000000 +1200
@@ -47,7 +47,7 @@
StrandCoord* findStrand(int kidId); ///< registered strand or NULL
void registerStrand(const StrandCoord &); ///< adds or updates existing
- void handleRegistrationRequest(const HereIamMessage &); ///< register,ACK
+ void handleRegistrationRequest(const StrandMessage &); ///< register,ACK
/// answer the waiting search request
void notifySearcher(const StrandSearchRequest &request, const StrandCoord&);
diff -u -r -N squid-5.0.5/src/ipc/Forwarder.cc squid-5.0.6/src/ipc/Forwarder.cc
--- squid-5.0.5/src/ipc/Forwarder.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Forwarder.cc 2021-05-10 21:02:34.000000000 +1200
@@ -16,12 +16,13 @@
#include "HttpRequest.h"
#include "ipc/Forwarder.h"
#include "ipc/Port.h"
+#include "ipc/RequestId.h"
#include "ipc/TypedMsgHdr.h"
CBDATA_NAMESPACED_CLASS_INIT(Ipc, Forwarder);
Ipc::Forwarder::RequestsMap Ipc::Forwarder::TheRequestsMap;
-unsigned int Ipc::Forwarder::LastRequestId = 0;
+Ipc::RequestId::Index Ipc::Forwarder::LastRequestId = 0;
Ipc::Forwarder::Forwarder(Request::Pointer aRequest, double aTimeout):
AsyncJob("Ipc::Forwarder"),
@@ -149,7 +150,7 @@
/// returns and forgets the right Forwarder callback for the request
AsyncCall::Pointer
-Ipc::Forwarder::DequeueRequest(unsigned int requestId)
+Ipc::Forwarder::DequeueRequest(const RequestId::Index requestId)
{
debugs(54, 3, HERE);
Must(requestId != 0);
@@ -172,7 +173,7 @@
}
void
-Ipc::Forwarder::HandleRemoteAck(unsigned int requestId)
+Ipc::Forwarder::HandleRemoteAck(const RequestId requestId)
{
debugs(54, 3, HERE);
Must(requestId != 0);
diff -u -r -N squid-5.0.5/src/ipc/Forwarder.h squid-5.0.6/src/ipc/Forwarder.h
--- squid-5.0.5/src/ipc/Forwarder.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Forwarder.h 2021-05-10 21:02:34.000000000 +1200
@@ -35,7 +35,7 @@
virtual ~Forwarder();
/// finds and calls the right Forwarder upon Coordinator's response
- static void HandleRemoteAck(unsigned int requestId);
+ static void HandleRemoteAck(RequestId);
/* has-to-be-public AsyncJob API */
virtual void callException(const std::exception& e);
@@ -59,17 +59,17 @@
void handleRemoteAck();
- static AsyncCall::Pointer DequeueRequest(unsigned int requestId);
+ static AsyncCall::Pointer DequeueRequest(RequestId::Index);
protected:
Request::Pointer request;
const double timeout; ///< response wait timeout in seconds
/// maps request->id to Forwarder::handleRemoteAck callback
- typedef std::map RequestsMap;
+ typedef std::map RequestsMap;
static RequestsMap TheRequestsMap; ///< pending Coordinator requests
- static unsigned int LastRequestId; ///< last requestId used
+ static RequestId::Index LastRequestId; ///< last requestId used
};
} // namespace Ipc
diff -u -r -N squid-5.0.5/src/ipc/forward.h squid-5.0.6/src/ipc/forward.h
--- squid-5.0.5/src/ipc/forward.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/forward.h 2021-05-10 21:02:34.000000000 +1200
@@ -14,14 +14,15 @@
namespace Ipc
{
-class TypedMsgHdr;
-class StrandCoord;
-class HereIamMessage;
-class StrandSearchResponse;
class Forwarder;
class Inquirer;
+class QuestionerId;
class Request;
+class RequestId;
class Response;
+class StrandCoord;
+class StrandMessage;
+class TypedMsgHdr;
} // namespace Ipc
diff -u -r -N squid-5.0.5/src/ipc/Inquirer.cc squid-5.0.6/src/ipc/Inquirer.cc
--- squid-5.0.5/src/ipc/Inquirer.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Inquirer.cc 2021-05-10 21:02:34.000000000 +1200
@@ -21,7 +21,7 @@
CBDATA_NAMESPACED_CLASS_INIT(Ipc, Inquirer);
Ipc::Inquirer::RequestsMap Ipc::Inquirer::TheRequestsMap;
-unsigned int Ipc::Inquirer::LastRequestId = 0;
+Ipc::RequestId::Index Ipc::Inquirer::LastRequestId = 0;
/// compare Ipc::StrandCoord using kidId, for std::sort() below
static bool
@@ -139,7 +139,7 @@
/// returns and forgets the right Inquirer callback for strand request
AsyncCall::Pointer
-Ipc::Inquirer::DequeueRequest(unsigned int requestId)
+Ipc::Inquirer::DequeueRequest(const RequestId::Index requestId)
{
debugs(54, 3, HERE << " requestId " << requestId);
Must(requestId != 0);
@@ -206,7 +206,7 @@
{
static MemBuf buf;
buf.reset();
- buf.appendf(" [request->requestId %u]", request->requestId);
+ buf.appendf(" [requestId %u]", request->requestId.index());
buf.terminate();
return buf.content();
}
diff -u -r -N squid-5.0.5/src/ipc/Inquirer.h squid-5.0.6/src/ipc/Inquirer.h
--- squid-5.0.5/src/ipc/Inquirer.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Inquirer.h 2021-05-10 21:02:34.000000000 +1200
@@ -64,7 +64,7 @@
void handleRemoteAck(Response::Pointer response);
- static AsyncCall::Pointer DequeueRequest(unsigned int requestId);
+ static AsyncCall::Pointer DequeueRequest(RequestId::Index);
static void RequestTimedOut(void* param);
void requestTimedOut();
@@ -79,10 +79,10 @@
const double timeout; ///< number of seconds to wait for strand response
/// maps request->id to Inquirer::handleRemoteAck callback
- typedef std::map RequestsMap;
+ typedef std::map RequestsMap;
static RequestsMap TheRequestsMap; ///< pending strand requests
- static unsigned int LastRequestId; ///< last requestId used
+ static RequestId::Index LastRequestId; ///< last requestId used
};
} // namespace Ipc
diff -u -r -N squid-5.0.5/src/ipc/Makefile.am squid-5.0.6/src/ipc/Makefile.am
--- squid-5.0.5/src/ipc/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,57 +11,60 @@
noinst_LTLIBRARIES = libipc.la
libipc_la_SOURCES = \
+ Coordinator.cc \
+ Coordinator.h \
FdNotes.cc \
FdNotes.h \
+ Forwarder.cc \
+ Forwarder.h \
+ Inquirer.cc \
+ Inquirer.h \
Kid.cc \
Kid.h \
Kids.cc \
Kids.h \
- Messages.h \
MemMap.cc \
MemMap.h \
+ Messages.h \
+ Port.cc \
+ Port.h \
+ QuestionerId.cc \
+ QuestionerId.h \
Queue.cc \
Queue.h \
ReadWriteLock.cc \
ReadWriteLock.h \
+ Request.h \
+ RequestId.cc \
+ RequestId.h \
+ Response.h \
+ SharedListen.cc \
+ SharedListen.h \
StartListening.cc \
StartListening.h \
StoreMap.cc \
StoreMap.h \
+ Strand.cc \
+ Strand.h \
StrandCoord.cc \
StrandCoord.h \
StrandCoords.h \
StrandSearch.cc \
StrandSearch.h \
- SharedListen.cc \
- SharedListen.h \
TypedMsgHdr.cc \
TypedMsgHdr.h \
- Coordinator.cc \
- Coordinator.h \
UdsOp.cc \
UdsOp.h \
- Port.cc \
- Port.h \
- Strand.cc \
- Strand.h \
forward.h \
- Forwarder.cc \
- Forwarder.h \
- Inquirer.cc \
- Inquirer.h \
- Request.h \
- Response.h \
- \
mem/FlexibleArray.h \
mem/Page.cc \
mem/Page.h \
mem/PagePool.cc \
mem/PagePool.h \
- mem/Pages.cc \
- mem/Pages.h \
mem/PageStack.cc \
mem/PageStack.h \
+ mem/Pages.cc \
+ mem/Pages.h \
mem/Pointer.h \
mem/Segment.cc \
mem/Segment.h \
diff -u -r -N squid-5.0.5/src/ipc/Makefile.in squid-5.0.6/src/ipc/Makefile.in
--- squid-5.0.5/src/ipc/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/ipc/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -166,12 +166,12 @@
am__DEPENDENCIES_1 =
libipc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__dirstamp = $(am__leading_dot)dirstamp
-am_libipc_la_OBJECTS = FdNotes.lo Kid.lo Kids.lo MemMap.lo Queue.lo \
- ReadWriteLock.lo StartListening.lo StoreMap.lo StrandCoord.lo \
- StrandSearch.lo SharedListen.lo TypedMsgHdr.lo Coordinator.lo \
- UdsOp.lo Port.lo Strand.lo Forwarder.lo Inquirer.lo \
- mem/Page.lo mem/PagePool.lo mem/Pages.lo mem/PageStack.lo \
- mem/Segment.lo
+am_libipc_la_OBJECTS = Coordinator.lo FdNotes.lo Forwarder.lo \
+ Inquirer.lo Kid.lo Kids.lo MemMap.lo Port.lo QuestionerId.lo \
+ Queue.lo ReadWriteLock.lo RequestId.lo SharedListen.lo \
+ StartListening.lo StoreMap.lo Strand.lo StrandCoord.lo \
+ StrandSearch.lo TypedMsgHdr.lo UdsOp.lo mem/Page.lo \
+ mem/PagePool.lo mem/PageStack.lo mem/Pages.lo mem/Segment.lo
libipc_la_OBJECTS = $(am_libipc_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -196,8 +196,9 @@
./$(DEPDIR)/FdNotes.Plo ./$(DEPDIR)/Forwarder.Plo \
./$(DEPDIR)/Inquirer.Plo ./$(DEPDIR)/Kid.Plo \
./$(DEPDIR)/Kids.Plo ./$(DEPDIR)/MemMap.Plo \
- ./$(DEPDIR)/Port.Plo ./$(DEPDIR)/Queue.Plo \
- ./$(DEPDIR)/ReadWriteLock.Plo ./$(DEPDIR)/SharedListen.Plo \
+ ./$(DEPDIR)/Port.Plo ./$(DEPDIR)/QuestionerId.Plo \
+ ./$(DEPDIR)/Queue.Plo ./$(DEPDIR)/ReadWriteLock.Plo \
+ ./$(DEPDIR)/RequestId.Plo ./$(DEPDIR)/SharedListen.Plo \
./$(DEPDIR)/StartListening.Plo ./$(DEPDIR)/StoreMap.Plo \
./$(DEPDIR)/Strand.Plo ./$(DEPDIR)/StrandCoord.Plo \
./$(DEPDIR)/StrandSearch.Plo ./$(DEPDIR)/TypedMsgHdr.Plo \
@@ -747,57 +748,60 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libipc.la
libipc_la_SOURCES = \
+ Coordinator.cc \
+ Coordinator.h \
FdNotes.cc \
FdNotes.h \
+ Forwarder.cc \
+ Forwarder.h \
+ Inquirer.cc \
+ Inquirer.h \
Kid.cc \
Kid.h \
Kids.cc \
Kids.h \
- Messages.h \
MemMap.cc \
MemMap.h \
+ Messages.h \
+ Port.cc \
+ Port.h \
+ QuestionerId.cc \
+ QuestionerId.h \
Queue.cc \
Queue.h \
ReadWriteLock.cc \
ReadWriteLock.h \
+ Request.h \
+ RequestId.cc \
+ RequestId.h \
+ Response.h \
+ SharedListen.cc \
+ SharedListen.h \
StartListening.cc \
StartListening.h \
StoreMap.cc \
StoreMap.h \
+ Strand.cc \
+ Strand.h \
StrandCoord.cc \
StrandCoord.h \
StrandCoords.h \
StrandSearch.cc \
StrandSearch.h \
- SharedListen.cc \
- SharedListen.h \
TypedMsgHdr.cc \
TypedMsgHdr.h \
- Coordinator.cc \
- Coordinator.h \
UdsOp.cc \
UdsOp.h \
- Port.cc \
- Port.h \
- Strand.cc \
- Strand.h \
forward.h \
- Forwarder.cc \
- Forwarder.h \
- Inquirer.cc \
- Inquirer.h \
- Request.h \
- Response.h \
- \
mem/FlexibleArray.h \
mem/Page.cc \
mem/Page.h \
mem/PagePool.cc \
mem/PagePool.h \
- mem/Pages.cc \
- mem/Pages.h \
mem/PageStack.cc \
mem/PageStack.h \
+ mem/Pages.cc \
+ mem/Pages.h \
mem/Pointer.h \
mem/Segment.cc \
mem/Segment.h \
@@ -866,8 +870,8 @@
@: > mem/$(DEPDIR)/$(am__dirstamp)
mem/Page.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
mem/PagePool.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
-mem/Pages.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
mem/PageStack.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
+mem/Pages.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
mem/Segment.lo: mem/$(am__dirstamp) mem/$(DEPDIR)/$(am__dirstamp)
libipc.la: $(libipc_la_OBJECTS) $(libipc_la_DEPENDENCIES) $(EXTRA_libipc_la_DEPENDENCIES)
@@ -889,8 +893,10 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Kids.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemMap.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Port.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QuestionerId.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Queue.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReadWriteLock.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestId.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SharedListen.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StartListening.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StoreMap.Plo@am__quote@ # am--include-marker
@@ -1246,8 +1252,10 @@
-rm -f ./$(DEPDIR)/Kids.Plo
-rm -f ./$(DEPDIR)/MemMap.Plo
-rm -f ./$(DEPDIR)/Port.Plo
+ -rm -f ./$(DEPDIR)/QuestionerId.Plo
-rm -f ./$(DEPDIR)/Queue.Plo
-rm -f ./$(DEPDIR)/ReadWriteLock.Plo
+ -rm -f ./$(DEPDIR)/RequestId.Plo
-rm -f ./$(DEPDIR)/SharedListen.Plo
-rm -f ./$(DEPDIR)/StartListening.Plo
-rm -f ./$(DEPDIR)/StoreMap.Plo
@@ -1314,8 +1322,10 @@
-rm -f ./$(DEPDIR)/Kids.Plo
-rm -f ./$(DEPDIR)/MemMap.Plo
-rm -f ./$(DEPDIR)/Port.Plo
+ -rm -f ./$(DEPDIR)/QuestionerId.Plo
-rm -f ./$(DEPDIR)/Queue.Plo
-rm -f ./$(DEPDIR)/ReadWriteLock.Plo
+ -rm -f ./$(DEPDIR)/RequestId.Plo
-rm -f ./$(DEPDIR)/SharedListen.Plo
-rm -f ./$(DEPDIR)/StartListening.Plo
-rm -f ./$(DEPDIR)/StoreMap.Plo
diff -u -r -N squid-5.0.5/src/ipc/mem/PageStack.cc squid-5.0.6/src/ipc/mem/PageStack.cc
--- squid-5.0.5/src/ipc/mem/PageStack.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/mem/PageStack.cc 2021-05-10 21:02:34.000000000 +1200
@@ -16,6 +16,7 @@
#include
#include
+#include
/*
diff -u -r -N squid-5.0.5/src/ipc/Messages.h squid-5.0.6/src/ipc/Messages.h
--- squid-5.0.5/src/ipc/Messages.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Messages.h 2021-05-10 21:02:34.000000000 +1200
@@ -17,16 +17,30 @@
{
/// message class identifier
-typedef enum { mtNone = 0, mtRegistration,
- mtStrandSearchRequest, mtStrandSearchResponse,
- mtSharedListenRequest, mtSharedListenResponse,
+typedef enum { mtNone = 0, ///< unspecified or unknown message kind; unused on the wire
+
+ mtRegisterStrand, ///< notifies about our strand existence
+ mtStrandRegistered, ///< acknowledges mtRegisterStrand acceptance
+
+ mtFindStrand, ///< a worker requests a strand from Coordinator
+ mtStrandReady, ///< an mtFindStrand answer: the strand exists and should be usable
+
+ mtSharedListenRequest,
+ mtSharedListenResponse,
+
mtIpcIoNotification,
+
mtCollapsedForwardingNotification,
- mtCacheMgrRequest, mtCacheMgrResponse
+
+ mtCacheMgrRequest,
+ mtCacheMgrResponse,
+
#if SQUID_SNMP
- ,
- mtSnmpRequest, mtSnmpResponse
+ mtSnmpRequest,
+ mtSnmpResponse,
#endif
+
+ mtEnd ///< for message kind range checks; unused on the wire
} MessageType;
} // namespace Ipc;
diff -u -r -N squid-5.0.5/src/ipc/Port.cc squid-5.0.6/src/ipc/Port.cc
--- squid-5.0.5/src/ipc/Port.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Port.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,6 +14,7 @@
#include "comm/Read.h"
#include "CommCalls.h"
#include "ipc/Port.h"
+#include "sbuf/Stream.h"
#include "tools.h"
#include "util.h"
@@ -73,13 +74,33 @@
return coordinatorAddr;
}
+void
+Ipc::Port::receive(const TypedMsgHdr &message)
+{
+ throw TextException(ToSBuf("bad IPC message type: ", message.rawType()), Here());
+}
+
+/// receive() but ignore any errors
+void
+Ipc::Port::receiveOrIgnore(const TypedMsgHdr &message)
+{
+ try {
+ receive(message);
+ } catch (...) {
+ debugs(54, DBG_IMPORTANT, "WARNING: Ignoring IPC message" <<
+ Debug::Extra << "message type: " << message.rawType() <<
+ Debug::Extra << "problem: " << CurrentException);
+ }
+}
+
void Ipc::Port::noteRead(const CommIoCbParams& params)
{
debugs(54, 6, HERE << params.conn << " flag " << params.flag <<
" [" << this << ']');
if (params.flag == Comm::OK) {
assert(params.buf == buf.raw());
- receive(buf);
+ debugs(54, 6, "message type: " << buf.rawType());
+ receiveOrIgnore(buf);
}
// TODO: if there was a fatal error on our socket, close the socket before
// trying to listen again and print a level-1 error message.
diff -u -r -N squid-5.0.5/src/ipc/Port.h squid-5.0.6/src/ipc/Port.h
--- squid-5.0.5/src/ipc/Port.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Port.h 2021-05-10 21:02:34.000000000 +1200
@@ -36,10 +36,12 @@
void doListen();
/// handle IPC message just read
- virtual void receive(const TypedMsgHdr& message) = 0;
+ /// kids must call parent method when they do not recognize the message type
+ virtual void receive(const TypedMsgHdr &) = 0;
private:
void noteRead(const CommIoCbParams ¶ms); // Comm callback API
+ void receiveOrIgnore(const TypedMsgHdr& );
private:
TypedMsgHdr buf; ///< msghdr struct filled by Comm
diff -u -r -N squid-5.0.5/src/ipc/QuestionerId.cc squid-5.0.6/src/ipc/QuestionerId.cc
--- squid-5.0.5/src/ipc/QuestionerId.cc 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/ipc/QuestionerId.cc 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#include "squid.h"
+#include "base/TextException.h"
+#include "ipc/QuestionerId.h"
+#include "ipc/TypedMsgHdr.h"
+#include "sbuf/Stream.h"
+
+#include
+
+Ipc::QuestionerId
+Ipc::MyQuestionerId()
+{
+ static const QuestionerId qid(getpid());
+ return qid;
+}
+
+void
+Ipc::QuestionerId::pack(TypedMsgHdr &hdrMsg) const
+{
+ hdrMsg.putPod(pid);
+}
+
+void
+Ipc::QuestionerId::unpack(const TypedMsgHdr &hdrMsg)
+{
+ hdrMsg.getPod(pid);
+}
+
+void
+Ipc::QuestionerId::rejectAnswerIfStale() const
+{
+ const auto myPid = MyQuestionerId().pid;
+ if (myPid != pid) {
+ throw TextException(ToSBuf("received answer to an IPC question asked by process ", pid,
+ Debug::Extra, "my process PID: ", myPid), Here());
+ }
+}
+
+void
+Ipc::QuestionerId::print(std::ostream &os) const
+{
+ os << pid;
+}
+
diff -u -r -N squid-5.0.5/src/ipc/QuestionerId.h squid-5.0.6/src/ipc/QuestionerId.h
--- squid-5.0.5/src/ipc/QuestionerId.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/ipc/QuestionerId.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef SQUID_SRC_IPC_QUESTIONERID_H
+#define SQUID_SRC_IPC_QUESTIONERID_H
+
+#include "ipc/forward.h"
+
+#include
+
+namespace Ipc
+{
+
+/// Identifies a kid process sending IPC messages that require an answer.
+/// Must be unique across all kids with pending questions.
+class QuestionerId
+{
+public:
+ /// to-be-determined ID
+ QuestionerId() = default;
+
+ /// for sending the ID of the asking process
+ void pack(TypedMsgHdr &) const;
+
+ /// for receiving the ID of the asking process
+ void unpack(const TypedMsgHdr &);
+
+ /// does nothing but throws if the questioner was not the current process
+ void rejectAnswerIfStale() const;
+
+ /// reports the stored opaque ID value (for debugging)
+ void print(std::ostream &) const;
+
+private:
+ /// for MyQuestionerId() convenience
+ explicit QuestionerId(const pid_t aPid): pid(aPid) {}
+ friend QuestionerId MyQuestionerId();
+
+ /// OS process ID of the asking kid. If the kid restarts, it is assumed
+ /// not to wrap back to the old value until the answer is received.
+ pid_t pid = -1;
+};
+
+/// the questioner ID of the current/calling process
+QuestionerId MyQuestionerId();
+
+/// Convenience wrapper for rejecting (freshly parsed) stale answers.
+/// All answers are assumed to have a "QuestionerId intendedRecepient()" member.
+template
+const Answer &
+Mine(const Answer &answer)
+{
+ answer.intendedRecepient().rejectAnswerIfStale();
+ return answer;
+}
+
+inline std::ostream &
+operator <<(std::ostream &os, const QuestionerId &qid)
+{
+ qid.print(os);
+ return os;
+}
+
+} // namespace Ipc;
+
+#endif /* SQUID_SRC_IPC_QUESTIONERID_H */
+
diff -u -r -N squid-5.0.5/src/ipc/Request.h squid-5.0.6/src/ipc/Request.h
--- squid-5.0.5/src/ipc/Request.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Request.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,31 +12,41 @@
#define SQUID_IPC_REQUEST_H
#include "base/RefCount.h"
-#include "ipc/forward.h"
+#include "base/TypeTraits.h"
+#include "ipc/RequestId.h"
namespace Ipc
{
+// TODO: Request and Response ought to have their own un/pack() methods instead
+// of duplicating their functionality in derived classes. To avoid dependency
+// loops between libipc and libmgr/libsnmp, fixing that requires extracting
+// src/ipc/Coordinator and its friends into a new src/coordinator/ library.
+
/// IPC request
-class Request: public RefCountable
+class Request: public RefCountable, public Interface
{
public:
typedef RefCount Pointer;
public:
- Request(int aRequestorId, unsigned int aRequestId):
- requestorId(aRequestorId), requestId(aRequestId) {}
-
virtual void pack(TypedMsgHdr& msg) const = 0; ///< prepare for sendmsg()
virtual Pointer clone() const = 0; ///< returns a copy of this
-private:
- Request(const Request&); // not implemented
- Request& operator= (const Request&); // not implemented
-
public:
- int requestorId; ///< kidId of the requestor; used for response destination
- unsigned int requestId; ///< unique for sender; matches request w/ response
+ int requestorId = 0; ///< kidId of the requestor; used for response destination
+ RequestId requestId; ///< matches the request[or] with the response
+
+protected:
+ /// sender's constructor
+ Request(const int aRequestorId, const RequestId aRequestId):
+ requestorId(aRequestorId),
+ requestId(aRequestId)
+ {
+ }
+
+ /// recipient's constructor
+ Request() = default;
};
} // namespace Ipc
diff -u -r -N squid-5.0.5/src/ipc/RequestId.cc squid-5.0.6/src/ipc/RequestId.cc
--- squid-5.0.5/src/ipc/RequestId.cc 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/ipc/RequestId.cc 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#include "squid.h"
+#include "base/TextException.h"
+#include "Debug.h"
+#include "ipc/RequestId.h"
+
+#include
+
+Ipc::RequestId::RequestId(const Index anIndex):
+ qid_(anIndex ? MyQuestionerId() : QuestionerId()),
+ index_(anIndex)
+{
+}
+
+std::ostream &
+Ipc::operator <<(std::ostream &os, const RequestId &requestId)
+{
+ os << requestId.index() << '@' << requestId.questioner();
+ return os;
+}
+
diff -u -r -N squid-5.0.5/src/ipc/RequestId.h squid-5.0.6/src/ipc/RequestId.h
--- squid-5.0.5/src/ipc/RequestId.h 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/ipc/RequestId.h 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef SQUID_IPC_REQUESTID_H
+#define SQUID_IPC_REQUESTID_H
+
+#include "ipc/forward.h"
+#include "ipc/QuestionerId.h"
+
+#include
+
+namespace Ipc
+{
+
+/// uniquely identifies an IPC request among same-type concurrent IPC requests
+/// submitted by a single Squid instance
+class RequestId
+{
+public:
+ /// A simple ID for correlating IPC responses with pending requests.
+ /// Value 0 has a special meaning of "unset/unknown", but otherwise opaque.
+ typedef unsigned int Index;
+
+ /// Request sender's constructor.
+ /// For performance and clarity sake, default constructor is preferred to 0 index.
+ explicit RequestId(Index);
+
+ /// request recipient's constructor
+ RequestId() = default;
+
+ /// Make the ID unset/unknown.
+ /// Optimization: leaves the questioner field alone.
+ void reset() { index_ = 0; }
+
+ /// Make the ID set/known with the given (by the questioner) index.
+ /// For performance and clarity sake, reset(void) is preferred to reset(0).
+ void reset(const Index anIndex) { *this = RequestId(anIndex); }
+
+ QuestionerId questioner() const { return qid_; }
+ Index index() const { return index_; }
+
+ // these conversion operators allow our users to treat us as an Index
+ operator Index() const { return index_; }
+ RequestId &operator =(const Index anIndex) { anIndex ? reset(anIndex) : reset(); return *this; }
+
+private:
+ /// the sender of the request
+ QuestionerId qid_;
+
+ /// request ID; unique within pending same-qid_ questions of the same kind
+ Index index_ = 0;
+};
+
+std::ostream &operator <<(std::ostream &, const RequestId &);
+
+} // namespace Ipc;
+
+#endif /* SQUID_IPC_REQUESTID_H */
+
diff -u -r -N squid-5.0.5/src/ipc/Response.h squid-5.0.6/src/ipc/Response.h
--- squid-5.0.5/src/ipc/Response.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Response.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,38 +12,36 @@
#define SQUID_IPC_RESPONSE_H
#include "base/RefCount.h"
+#include "base/TypeTraits.h"
#include "ipc/forward.h"
+#include "ipc/QuestionerId.h"
namespace Ipc
{
/// A response to Ipc::Request.
-class Response: public RefCountable
+class Response: public RefCountable, public Interface
{
public:
typedef RefCount Pointer;
public:
- explicit Response(unsigned int aRequestId):
- requestId(aRequestId) {}
-
virtual void pack(TypedMsgHdr& msg) const = 0; ///< prepare for sendmsg()
virtual Pointer clone() const = 0; ///< returns a copy of this
-private:
- Response(const Response&); // not implemented
- Response& operator= (const Response&); // not implemented
+ /// for Mine() tests
+ QuestionerId intendedRecepient() const { return requestId.questioner(); }
public:
- unsigned int requestId; ///< ID of request we are responding to
-};
+ RequestId requestId; ///< the ID of the request we are responding to
-inline
-std::ostream& operator << (std::ostream &os, const Response& response)
-{
- os << "[response.requestId %u]" << response.requestId << '}';
- return os;
-}
+protected:
+ /// sender's constructor
+ explicit Response(const RequestId aRequestId): requestId(aRequestId) {}
+
+ /// recipient's constructor
+ Response() = default;
+};
} // namespace Ipc
diff -u -r -N squid-5.0.5/src/ipc/SharedListen.cc squid-5.0.6/src/ipc/SharedListen.cc
--- squid-5.0.5/src/ipc/SharedListen.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/SharedListen.cc 2021-05-10 21:02:34.000000000 +1200
@@ -33,25 +33,26 @@
};
/// maps ID assigned at request time to the response callback
-typedef std::map SharedListenRequestMap;
+typedef std::map SharedListenRequestMap;
static SharedListenRequestMap TheSharedListenRequestMap;
/// accumulates delayed requests until they are ready to be sent, in FIFO order
typedef std::list DelayedSharedListenRequests;
static DelayedSharedListenRequests TheDelayedRequests;
-static int
+// TODO: Encapsulate "Pending Request Map" logic shared by all RequestId users.
+/// registers the given request in the collection of pending requests
+/// \returns the registration key
+static Ipc::RequestId::Index
AddToMap(const PendingOpenRequest &por)
{
- // find unused ID using linear seach; there should not be many entries
- for (int id = 0; true; ++id) {
- if (TheSharedListenRequestMap.find(id) == TheSharedListenRequestMap.end()) {
- TheSharedListenRequestMap[id] = por;
- return id;
- }
- }
- assert(false); // not reached
- return -1;
+ static Ipc::RequestId::Index LastIndex = 0;
+ // TODO: Switch Ipc::RequestId::Index to uint64_t and drop these 0 checks.
+ if (++LastIndex == 0) // don't use zero value as an ID
+ ++LastIndex;
+ assert(TheSharedListenRequestMap.find(LastIndex) == TheSharedListenRequestMap.end());
+ TheSharedListenRequestMap[LastIndex] = por;
+ return LastIndex;
}
bool
@@ -68,7 +69,10 @@
return addr.compareWhole(p.addr) < 0;
}
-Ipc::SharedListenRequest::SharedListenRequest(): requestorId(-1), mapId(-1)
+Ipc::SharedListenRequest::SharedListenRequest(const OpenListenerParams &aParams, const RequestId aMapId):
+ requestorId(KidIdentifier),
+ params(aParams),
+ mapId(aMapId)
{
// caller will then set public data members
}
@@ -76,22 +80,25 @@
Ipc::SharedListenRequest::SharedListenRequest(const TypedMsgHdr &hdrMsg)
{
hdrMsg.checkType(mtSharedListenRequest);
+ // XXX: our handlerSubscription is not a POD!
hdrMsg.getPod(*this);
}
void Ipc::SharedListenRequest::pack(TypedMsgHdr &hdrMsg) const
{
hdrMsg.setType(mtSharedListenRequest);
+ // XXX: our handlerSubscription is not a POD!
hdrMsg.putPod(*this);
}
-Ipc::SharedListenResponse::SharedListenResponse(int aFd, int anErrNo, int aMapId):
+Ipc::SharedListenResponse::SharedListenResponse(const int aFd, const int anErrNo, const RequestId aMapId):
fd(aFd), errNo(anErrNo), mapId(aMapId)
{
}
Ipc::SharedListenResponse::SharedListenResponse(const TypedMsgHdr &hdrMsg):
- fd(-1), errNo(0), mapId(-1)
+ fd(-1),
+ errNo(0)
{
hdrMsg.checkType(mtSharedListenResponse);
hdrMsg.getPod(*this);
@@ -103,16 +110,14 @@
{
hdrMsg.setType(mtSharedListenResponse);
hdrMsg.putPod(*this);
+ // XXX: When we respond with an error, putFd() throws due to the negative fd
hdrMsg.putFd(fd);
}
static void
SendSharedListenRequest(const PendingOpenRequest &por)
{
- Ipc::SharedListenRequest request;
- request.requestorId = KidIdentifier;
- request.params = por.params;
- request.mapId = AddToMap(por);
+ const Ipc::SharedListenRequest request(por.params, Ipc::RequestId(AddToMap(por)));
debugs(54, 3, "getting listening FD for " << request.params.addr <<
" mapId=" << request.mapId);
@@ -160,10 +165,12 @@
TheSharedListenRequestMap.size() << " active + " <<
TheDelayedRequests.size() << " delayed requests");
- Must(TheSharedListenRequestMap.find(response.mapId) != TheSharedListenRequestMap.end());
- PendingOpenRequest por = TheSharedListenRequestMap[response.mapId];
- Must(por.callback != NULL);
- TheSharedListenRequestMap.erase(response.mapId);
+ Must(response.mapId);
+ const auto pori = TheSharedListenRequestMap.find(response.mapId.index());
+ Must(pori != TheSharedListenRequestMap.end());
+ auto por = pori->second;
+ Must(por.callback);
+ TheSharedListenRequestMap.erase(pori);
StartListeningCb *cbd = dynamic_cast(por.callback->getDialer());
assert(cbd && cbd->conn != NULL);
diff -u -r -N squid-5.0.5/src/ipc/SharedListen.h squid-5.0.6/src/ipc/SharedListen.h
--- squid-5.0.5/src/ipc/SharedListen.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/SharedListen.h 2021-05-10 21:02:34.000000000 +1200
@@ -13,6 +13,8 @@
#include "base/AsyncCall.h"
#include "base/Subscription.h"
+#include "ipc/QuestionerId.h"
+#include "ipc/RequestId.h"
namespace Ipc
{
@@ -45,7 +47,7 @@
class SharedListenRequest
{
public:
- SharedListenRequest(); ///< from OpenSharedListen() which then sets public data
+ SharedListenRequest(const OpenListenerParams &, RequestId aMapId); ///< sender's constructor
explicit SharedListenRequest(const TypedMsgHdr &hdrMsg); ///< from recvmsg()
void pack(TypedMsgHdr &hdrMsg) const; ///< prepare for sendmsg()
@@ -54,21 +56,24 @@
OpenListenerParams params; ///< actual comm_open_sharedListen() parameters
- int mapId; ///< to map future response to the requestor's callback
+ RequestId mapId; ///< to map future response to the requestor's callback
};
/// a response to SharedListenRequest
class SharedListenResponse
{
public:
- SharedListenResponse(int fd, int errNo, int mapId);
+ SharedListenResponse(int fd, int errNo, RequestId aMapId); ///< sender's constructor
explicit SharedListenResponse(const TypedMsgHdr &hdrMsg); ///< from recvmsg()
void pack(TypedMsgHdr &hdrMsg) const; ///< prepare for sendmsg()
+ /// for Mine() tests
+ QuestionerId intendedRecepient() const { return mapId.questioner(); }
+
public:
int fd; ///< opened listening socket or -1
int errNo; ///< errno value from comm_open_sharedListen() call
- int mapId; ///< to map future response to the requestor's callback
+ RequestId mapId; ///< to map future response to the requestor's callback
};
/// prepare and send SharedListenRequest to Coordinator
diff -u -r -N squid-5.0.5/src/ipc/Strand.cc squid-5.0.6/src/ipc/Strand.cc
--- squid-5.0.5/src/ipc/Strand.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Strand.cc 2021-05-10 21:02:34.000000000 +1200
@@ -18,6 +18,7 @@
#include "globals.h"
#include "ipc/Kids.h"
#include "ipc/Messages.h"
+#include "ipc/QuestionerId.h"
#include "ipc/SharedListen.h"
#include "ipc/Strand.h"
#include "ipc/StrandCoord.h"
@@ -53,29 +54,25 @@
debugs(54, 6, HERE);
Must(!isRegistered);
- HereIamMessage ann(StrandCoord(KidIdentifier, getpid()));
- TypedMsgHdr message;
- ann.pack(message);
- SendMessage(Port::CoordinatorAddr(), message);
+ StrandMessage::NotifyCoordinator(mtRegisterStrand, nullptr);
setTimeout(6, "Ipc::Strand::timeoutHandler"); // TODO: make 6 configurable?
}
void Ipc::Strand::receive(const TypedMsgHdr &message)
{
- debugs(54, 6, HERE << message.type());
- switch (message.type()) {
+ switch (message.rawType()) {
- case mtRegistration:
- handleRegistrationResponse(HereIamMessage(message));
+ case mtStrandRegistered:
+ handleRegistrationResponse(Mine(StrandMessage(message)));
break;
case mtSharedListenResponse:
- SharedListenJoined(SharedListenResponse(message));
+ SharedListenJoined(Mine(SharedListenResponse(message)));
break;
#if HAVE_DISKIO_MODULE_IPCIO
- case mtStrandSearchResponse:
- IpcIoFile::HandleOpenResponse(StrandSearchResponse(message));
+ case mtStrandReady:
+ IpcIoFile::HandleOpenResponse(Mine(StrandMessage(message)));
break;
case mtIpcIoNotification:
@@ -91,7 +88,7 @@
case mtCacheMgrResponse: {
const Mgr::Response resp(message);
- handleCacheMgrResponse(resp);
+ handleCacheMgrResponse(Mine(resp));
}
break;
@@ -108,18 +105,19 @@
case mtSnmpResponse: {
const Snmp::Response resp(message);
- handleSnmpResponse(resp);
+ handleSnmpResponse(Mine(resp));
}
break;
#endif
default:
- debugs(54, DBG_IMPORTANT, HERE << "Unhandled message type: " << message.type());
+ Port::receive(message);
break;
}
}
-void Ipc::Strand::handleRegistrationResponse(const HereIamMessage &msg)
+void
+Ipc::Strand::handleRegistrationResponse(const StrandMessage &msg)
{
// handle registration response from the coordinator; it could be stale
if (msg.strand.kidId == KidIdentifier && msg.strand.pid == getpid()) {
diff -u -r -N squid-5.0.5/src/ipc/StrandCoord.cc squid-5.0.6/src/ipc/StrandCoord.cc
--- squid-5.0.5/src/ipc/StrandCoord.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/StrandCoord.cc 2021-05-10 21:02:34.000000000 +1200
@@ -10,7 +10,8 @@
#include "squid.h"
#include "Debug.h"
-#include "ipc/Messages.h"
+#include "globals.h"
+#include "ipc/Port.h"
#include "ipc/StrandCoord.h"
#include "ipc/TypedMsgHdr.h"
@@ -37,20 +38,35 @@
hdrMsg.putString(tag);
}
-Ipc::HereIamMessage::HereIamMessage(const StrandCoord &aStrand):
- strand(aStrand)
+Ipc::StrandMessage::StrandMessage(const StrandCoord &aStrand, const QuestionerId aQid):
+ strand(aStrand),
+ qid(aQid)
{
}
-Ipc::HereIamMessage::HereIamMessage(const TypedMsgHdr &hdrMsg)
+Ipc::StrandMessage::StrandMessage(const TypedMsgHdr &hdrMsg)
{
- hdrMsg.checkType(mtRegistration);
strand.unpack(hdrMsg);
+ qid.unpack(hdrMsg);
}
-void Ipc::HereIamMessage::pack(TypedMsgHdr &hdrMsg) const
+void
+Ipc::StrandMessage::pack(const MessageType messageType, TypedMsgHdr &hdrMsg) const
{
- hdrMsg.setType(mtRegistration);
+ hdrMsg.setType(messageType);
strand.pack(hdrMsg);
+ qid.pack(hdrMsg);
+}
+
+void
+Ipc::StrandMessage::NotifyCoordinator(const MessageType msgType, const char *tag)
+{
+ static const auto pid = getpid();
+ StrandMessage message(StrandCoord(KidIdentifier, pid), MyQuestionerId());
+ if (tag)
+ message.strand.tag = tag;
+ TypedMsgHdr hdr;
+ message.pack(msgType, hdr);
+ SendMessage(Port::CoordinatorAddr(), hdr);
}
diff -u -r -N squid-5.0.5/src/ipc/StrandCoord.h squid-5.0.6/src/ipc/StrandCoord.h
--- squid-5.0.5/src/ipc/StrandCoord.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/StrandCoord.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,6 +10,8 @@
#define SQUID_IPC_STRAND_COORD_H
#include "ipc/forward.h"
+#include "ipc/Messages.h"
+#include "ipc/QuestionerId.h"
#include "SquidString.h"
namespace Ipc
@@ -32,16 +34,26 @@
String tag; ///< optional unique well-known key (e.g., cache_dir path)
};
-/// strand registration with Coordinator (also used as an ACK)
-class HereIamMessage
+/// an IPC message carrying StrandCoord
+class StrandMessage
{
public:
- explicit HereIamMessage(const StrandCoord &strand); ///< from registrant
- explicit HereIamMessage(const TypedMsgHdr &hdrMsg); ///< from recvmsg()
- void pack(TypedMsgHdr &hdrMsg) const; ///< prepare for sendmsg()
+ explicit StrandMessage(const StrandCoord &, QuestionerId);
+ explicit StrandMessage(const TypedMsgHdr &);
+ void pack(MessageType, TypedMsgHdr &) const;
+
+ /// creates and sends StrandMessage to Coordinator
+ static void NotifyCoordinator(MessageType, const char *tag);
+
+ /// for Mine() tests
+ QuestionerId intendedRecepient() const { return qid; }
public:
- StrandCoord strand; ///< registrant coordinates and related details
+ StrandCoord strand; ///< messageType-specific coordinates (e.g., sender)
+
+ /// For IPC requests/questions: The sender of this request.
+ /// For IPC responses/answers: The sender of the corresponding request.
+ QuestionerId qid;
};
} // namespace Ipc;
diff -u -r -N squid-5.0.5/src/ipc/Strand.h squid-5.0.6/src/ipc/Strand.h
--- squid-5.0.5/src/ipc/Strand.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/Strand.h 2021-05-10 21:02:34.000000000 +1200
@@ -39,7 +39,7 @@
private:
void registerSelf(); /// let Coordinator know this strand exists
- void handleRegistrationResponse(const HereIamMessage &msg);
+ void handleRegistrationResponse(const StrandMessage &);
void handleCacheMgrRequest(const Mgr::Request& request);
void handleCacheMgrResponse(const Mgr::Response& response);
#if SQUID_SNMP
diff -u -r -N squid-5.0.5/src/ipc/StrandSearch.cc squid-5.0.6/src/ipc/StrandSearch.cc
--- squid-5.0.5/src/ipc/StrandSearch.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/StrandSearch.cc 2021-05-10 21:02:34.000000000 +1200
@@ -9,45 +9,32 @@
/* DEBUG: section 54 Interprocess Communication */
#include "squid.h"
+#include "globals.h"
#include "ipc/Messages.h"
#include "ipc/StrandSearch.h"
#include "ipc/TypedMsgHdr.h"
-Ipc::StrandSearchRequest::StrandSearchRequest(): requestorId(-1)
+Ipc::StrandSearchRequest::StrandSearchRequest(const String &aTag):
+ requestorId(KidIdentifier),
+ tag(aTag),
+ qid(MyQuestionerId())
{
}
Ipc::StrandSearchRequest::StrandSearchRequest(const TypedMsgHdr &hdrMsg):
requestorId(-1)
{
- hdrMsg.checkType(mtStrandSearchRequest);
+ hdrMsg.checkType(mtFindStrand);
hdrMsg.getPod(requestorId);
hdrMsg.getString(tag);
+ qid.unpack(hdrMsg);
}
void Ipc::StrandSearchRequest::pack(TypedMsgHdr &hdrMsg) const
{
- hdrMsg.setType(mtStrandSearchRequest);
+ hdrMsg.setType(mtFindStrand);
hdrMsg.putPod(requestorId);
hdrMsg.putString(tag);
-}
-
-/* StrandSearchResponse */
-
-Ipc::StrandSearchResponse::StrandSearchResponse(const Ipc::StrandCoord &aStrand):
- strand(aStrand)
-{
-}
-
-Ipc::StrandSearchResponse::StrandSearchResponse(const TypedMsgHdr &hdrMsg)
-{
- hdrMsg.checkType(mtStrandSearchResponse);
- strand.unpack(hdrMsg);
-}
-
-void Ipc::StrandSearchResponse::pack(TypedMsgHdr &hdrMsg) const
-{
- hdrMsg.setType(mtStrandSearchResponse);
- strand.pack(hdrMsg);
+ qid.pack(hdrMsg);
}
diff -u -r -N squid-5.0.5/src/ipc/StrandSearch.h squid-5.0.6/src/ipc/StrandSearch.h
--- squid-5.0.5/src/ipc/StrandSearch.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/StrandSearch.h 2021-05-10 21:02:34.000000000 +1200
@@ -10,6 +10,7 @@
#define SQUID_IPC_STRAND_SEARCH_H
#include "ipc/forward.h"
+#include "ipc/QuestionerId.h"
#include "ipc/StrandCoord.h"
#include "SquidString.h"
@@ -20,25 +21,14 @@
class StrandSearchRequest
{
public:
- StrandSearchRequest();
+ explicit StrandSearchRequest(const String &aTag); ///< sender's constructor
explicit StrandSearchRequest(const TypedMsgHdr &hdrMsg); ///< from recvmsg()
void pack(TypedMsgHdr &hdrMsg) const; ///< prepare for sendmsg()
public:
int requestorId; ///< sender-provided return address
String tag; ///< set when looking for a matching StrandCoord::tag
-};
-
-/// asynchronous strand search response
-class StrandSearchResponse
-{
-public:
- StrandSearchResponse(const StrandCoord &strand);
- explicit StrandSearchResponse(const TypedMsgHdr &hdrMsg); ///< from recvmsg()
- void pack(TypedMsgHdr &hdrMsg) const; ///< prepare for sendmsg()
-
-public:
- StrandCoord strand; ///< answer matching StrandSearchRequest criteria
+ QuestionerId qid; ///< the sender of the request
};
} // namespace Ipc;
diff -u -r -N squid-5.0.5/src/ipc/TypedMsgHdr.cc squid-5.0.6/src/ipc/TypedMsgHdr.cc
--- squid-5.0.5/src/ipc/TypedMsgHdr.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/TypedMsgHdr.cc 2021-05-10 21:02:34.000000000 +1200
@@ -81,13 +81,6 @@
offset = 0;
}
-int
-Ipc::TypedMsgHdr::type() const
-{
- Must(msg_iovlen == 1);
- return data.type_;
-}
-
void
Ipc::TypedMsgHdr::address(const struct sockaddr_un& addr)
{
@@ -100,7 +93,7 @@
void
Ipc::TypedMsgHdr::checkType(int destType) const
{
- Must(type() == destType);
+ Must(rawType() == destType);
}
void
diff -u -r -N squid-5.0.5/src/ipc/TypedMsgHdr.h squid-5.0.6/src/ipc/TypedMsgHdr.h
--- squid-5.0.5/src/ipc/TypedMsgHdr.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/ipc/TypedMsgHdr.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#define SQUID_IPC_TYPED_MSG_HDR_H
#include "compat/cmsg.h"
+#include "ipc/Messages.h"
#if HAVE_SYS_SOCKET_H
#include
#endif
@@ -43,13 +44,13 @@
/* message type manipulation; these must be called before put/get*() */
void setType(int aType); ///< sets message type; use MessageType enum
void checkType(int aType) const; ///< throws if stored type is not aType
- int type() const; ///< returns stored type or zero if none
-
- /* access for Plain Old Data (POD)-based message parts */
- template
- void getPod(Pod &pod) const { getFixed(&pod, sizeof(pod)); } ///< load POD
- template
- void putPod(const Pod &pod) { putFixed(&pod, sizeof(pod)); } ///< store POD
+ /// received or set message kind; may not be a MessageType value
+ /// \returns 0 if no message kind has been received or set
+ int rawType() const { return msg_iov ? data.type_ : 0; }
+
+ /* access for TriviallyCopyable (a.k.a. Plain Old Data or POD) message parts */
+ template void getPod(Pod &pod) const; ///< load POD
+ template void putPod(const Pod &pod); ///< store POD
/* access to message parts for selected commonly-used part types */
void getString(String &s) const; ///< load variable-length string
@@ -110,5 +111,23 @@
} // namespace Ipc
+template
+void
+Ipc::TypedMsgHdr::getPod(Pod &pod) const
+{
+ // TODO: Enable after fixing Ipc::SharedListenRequest::SharedListenRequest()
+ //static_assert(std::is_trivially_copyable::value, "getPod() used for a POD");
+ getFixed(&pod, sizeof(pod));
+}
+
+template
+void
+Ipc::TypedMsgHdr::putPod(const Pod &pod)
+{
+ // TODO: Enable after fixing Ipc::SharedListenRequest::pack()
+ //static_assert(std::is_trivially_copyable::value, "putPod() used for a POD");
+ putFixed(&pod, sizeof(pod));
+}
+
#endif /* SQUID_IPC_TYPED_MSG_HDR_H */
diff -u -r -N squid-5.0.5/src/log/access_log.cc squid-5.0.6/src/log/access_log.cc
--- squid-5.0.5/src/log/access_log.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/log/access_log.cc 2021-05-10 21:02:34.000000000 +1200
@@ -15,7 +15,7 @@
#include "adaptation/Config.h"
#endif
#include "CachePeer.h"
-#include "err_detail_type.h"
+#include "error/Detail.h"
#include "errorpage.h"
#include "format/Token.h"
#include "globals.h"
diff -u -r -N squid-5.0.5/src/log/DB/log_db_daemon.8 squid-5.0.6/src/log/DB/log_db_daemon.8
--- squid-5.0.5/src/log/DB/log_db_daemon.8 2021-02-08 13:46:40.000000000 +1300
+++ squid-5.0.6/src/log/DB/log_db_daemon.8 2021-05-10 23:02:24.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "LOG_DB_DAEMON 8"
-.TH LOG_DB_DAEMON 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH LOG_DB_DAEMON 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/log/forward.h squid-5.0.6/src/log/forward.h
--- squid-5.0.5/src/log/forward.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/log/forward.h 2021-05-10 21:02:34.000000000 +1200
@@ -14,5 +14,8 @@
class AccessLogEntry;
typedef RefCount AccessLogEntryPointer;
+class LogTags;
+class LogTagsErrors;
+
#endif /* SQUID_FORMAT_FORWARD_H */
diff -u -r -N squid-5.0.5/src/log/Makefile.am squid-5.0.6/src/log/Makefile.am
--- squid-5.0.5/src/log/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/log/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -15,21 +15,20 @@
noinst_LTLIBRARIES = liblog.la
liblog_la_SOURCES = \
- access_log.h \
- access_log.cc \
Config.cc \
Config.h \
+ CustomLog.cc \
+ CustomLog.h \
File.cc \
File.h \
FormatHttpdCombined.cc \
FormatHttpdCommon.cc \
- Formats.h \
FormatSquidCustom.cc \
FormatSquidIcap.cc \
FormatSquidNative.cc \
FormatSquidReferer.cc \
FormatSquidUseragent.cc \
- forward.h \
+ Formats.h \
ModDaemon.cc \
ModDaemon.h \
ModStdio.cc \
@@ -38,8 +37,9 @@
ModSyslog.h \
ModUdp.cc \
ModUdp.h \
- CustomLog.h \
- CustomLog.cc \
TcpLogger.cc \
- TcpLogger.h
+ TcpLogger.h \
+ access_log.cc \
+ access_log.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/log/Makefile.in squid-5.0.6/src/log/Makefile.in
--- squid-5.0.5/src/log/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/log/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -164,11 +164,11 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
liblog_la_LIBADD =
-am_liblog_la_OBJECTS = access_log.lo Config.lo File.lo \
+am_liblog_la_OBJECTS = Config.lo CustomLog.lo File.lo \
FormatHttpdCombined.lo FormatHttpdCommon.lo \
FormatSquidCustom.lo FormatSquidIcap.lo FormatSquidNative.lo \
FormatSquidReferer.lo FormatSquidUseragent.lo ModDaemon.lo \
- ModStdio.lo ModSyslog.lo ModUdp.lo CustomLog.lo TcpLogger.lo
+ ModStdio.lo ModSyslog.lo ModUdp.lo TcpLogger.lo access_log.lo
liblog_la_OBJECTS = $(am_liblog_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -785,21 +785,20 @@
EXTRA_DIST = helpers.m4
noinst_LTLIBRARIES = liblog.la
liblog_la_SOURCES = \
- access_log.h \
- access_log.cc \
Config.cc \
Config.h \
+ CustomLog.cc \
+ CustomLog.h \
File.cc \
File.h \
FormatHttpdCombined.cc \
FormatHttpdCommon.cc \
- Formats.h \
FormatSquidCustom.cc \
FormatSquidIcap.cc \
FormatSquidNative.cc \
FormatSquidReferer.cc \
FormatSquidUseragent.cc \
- forward.h \
+ Formats.h \
ModDaemon.cc \
ModDaemon.h \
ModStdio.cc \
@@ -808,10 +807,11 @@
ModSyslog.h \
ModUdp.cc \
ModUdp.h \
- CustomLog.h \
- CustomLog.cc \
TcpLogger.cc \
- TcpLogger.h
+ TcpLogger.h \
+ access_log.cc \
+ access_log.h \
+ forward.h
all: all-recursive
diff -u -r -N squid-5.0.5/src/LogTags.cc squid-5.0.6/src/LogTags.cc
--- squid-5.0.5/src/LogTags.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/LogTags.cc 2021-05-10 21:02:34.000000000 +1200
@@ -10,6 +10,16 @@
#include "Debug.h"
#include "LogTags.h"
+void
+LogTagsErrors::update(const LogTagsErrors &other)
+{
+ ignored = ignored || other.ignored;
+ timedout = timedout || other.timedout;
+ aborted = aborted || other.aborted;
+}
+
+/* LogTags */
+
// old deprecated tag strings
const char * LogTags::Str_[] = {
"TAG_NONE",
diff -u -r -N squid-5.0.5/src/LogTags.h squid-5.0.6/src/LogTags.h
--- squid-5.0.5/src/LogTags.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/LogTags.h 2021-05-10 21:02:34.000000000 +1200
@@ -11,6 +11,21 @@
#include "CollapsingHistory.h"
+/// Things that may happen to a transaction while it is being
+/// processed according to its LOG_* category. Logged as _SUFFIX(es).
+/// Unlike LOG_* categories, these flags may not be mutually exclusive.
+class LogTagsErrors
+{
+public:
+ /// Update each of this object flags to "set" if the corresponding
+ /// flag of the given object is set
+ void update(const LogTagsErrors &other);
+
+ bool ignored = false; ///< _IGNORED: the response was not used for anything
+ bool timedout = false; ///< _TIMEDOUT: terminated due to a lifetime or I/O timeout
+ bool aborted = false; ///< _ABORTED: other abnormal termination (e.g., I/O error)
+};
+
/** Squid transaction result code/tag set.
*
* These codes indicate how the request was received
@@ -62,17 +77,8 @@
/// determine if the log tag code indicates a cache HIT
bool isTcpHit() const;
- /// Things that may happen to a transaction while it is being
- /// processed according to its LOG_* category. Logged as _SUFFIX(es).
- /// Unlike LOG_* categories, these flags may not be mutually exclusive.
- class Errors {
- public:
- Errors() : ignored(false), timedout(false), aborted(false) {}
-
- bool ignored; ///< _IGNORED: the response was not used for anything
- bool timedout; ///< _TIMEDOUT: terminated due to a lifetime or I/O timeout
- bool aborted; ///< _ABORTED: other abnormal termination (e.g., I/O error)
- } err;
+ /// various problems augmenting the primary log tag
+ LogTagsErrors err;
private:
/// list of string representations for LogTags_ot
diff -u -r -N squid-5.0.5/src/Makefile.am squid-5.0.6/src/Makefile.am
--- squid-5.0.5/src/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -26,13 +26,13 @@
StoreMetaVary.h
LOADABLE_MODULES_SOURCES = \
- LoadableModule.h \
LoadableModule.cc \
- LoadableModules.h \
- LoadableModules.cc
+ LoadableModule.h \
+ LoadableModules.cc \
+ LoadableModules.h
-SUBDIRS = mem base anyp helper dns ftp parser comm eui acl format clients sbuf servers fs repl store DiskIO proxyp
-DIST_SUBDIRS = mem base anyp helper dns ftp parser comm eui acl format clients sbuf servers fs repl store DiskIO proxyp
+SUBDIRS = mem base anyp helper dns ftp parser comm error eui acl format clients sbuf servers fs repl store DiskIO proxyp
+DIST_SUBDIRS = mem base anyp helper dns ftp parser comm error eui acl format clients sbuf servers fs repl store DiskIO proxyp
if ENABLE_AUTH
SUBDIRS += auth
@@ -198,67 +198,58 @@
AM_CPPFLAGS += -I$(top_builddir)/src
-ACL_REGISTRATION_SOURCES = AclRegs.cc AuthReg.cc
+ACL_REGISTRATION_SOURCES = \
+ AclRegs.cc \
+ AuthReg.cc
# common library for all the binaries and tests. This is kindof a catch all
# and smaller libraries split from this are encouraged. Using lt convenience
# libraries, dependencies should not be a problem either.
libsquid_la_SOURCES = \
- comm.cc \
- comm.h \
CommCalls.cc \
CommCalls.h \
DescriptorSet.cc \
DescriptorSet.h \
+ SquidConfig.cc \
SquidConfig.h \
- SquidConfig.cc
+ comm.cc \
+ comm.h
squid_SOURCES = \
$(ACL_REGISTRATION_SOURCES) \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(LEAKFINDERSOURCE) \
+ $(SNMP_SOURCE) \
+ $(STOREMETA_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
+ $(WINSVC_SOURCE) \
+ $(XPROF_STATS_SOURCE) \
AccessLogEntry.cc \
AccessLogEntry.h \
AsyncEngine.cc \
AsyncEngine.h \
- cache_cf.h \
AuthReg.h \
- RefreshPattern.h \
- cache_cf.cc \
- CacheDigest.h \
+ BodyPipe.cc \
+ BodyPipe.h \
CacheDigest.cc \
- cache_manager.cc \
- NeighborTypeDomainList.h \
+ CacheDigest.h \
+ CacheManager.h \
CachePeer.cc \
CachePeer.h \
- CacheManager.h \
- carp.h \
- carp.cc \
- cbdata.cc \
- cbdata.h \
- client_db.h \
- client_db.cc \
- client_side.h \
- client_side.cc \
- client_side.h \
- client_side_reply.cc \
- client_side_reply.h \
- client_side_request.cc \
- client_side_request.h \
- ClientInfo.h \
- BodyPipe.cc \
- BodyPipe.h \
ClientInfo.h \
ClientRequestContext.h \
- clientStream.cc \
- clientStream.h \
- clientStreamForward.h \
CollapsedForwarding.cc \
CollapsedForwarding.h \
CollapsingHistory.h \
+ CommRead.h \
CommandLine.cc \
CommandLine.h \
CompletionDispatcher.cc \
CompletionDispatcher.h \
- CommRead.h \
ConfigOption.cc \
ConfigParser.cc \
ConfigParser.h \
@@ -268,249 +259,256 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
Debug.h \
- defines.h \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
Downloader.cc \
Downloader.h \
- enums.h \
- err_type.h \
- err_detail_type.h \
- errorpage.cc \
- errorpage.h \
ETag.cc \
ETag.h \
- event.cc \
- event.h \
- EventLoop.h \
EventLoop.cc \
- external_acl.cc \
+ EventLoop.h \
ExternalACL.h \
ExternalACLEntry.cc \
ExternalACLEntry.h \
- FadingCounter.h \
FadingCounter.cc \
- fatal.h \
- fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
- fde.h \
+ FadingCounter.h \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
Generic.h \
- globals.h \
- gopher.h \
- gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- helper.h \
- hier_code.h \
HierarchyLogEntry.h \
- $(HTCPSOURCE) \
- HttpUpgradeProtocolAccess.cc \
- HttpUpgradeProtocolAccess.h \
- http.cc \
- http.h \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.cc \
+ HttpBody.h \
+ HttpControlMsg.cc \
+ HttpControlMsg.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
+ HttpHdrContRange.cc \
+ HttpHdrContRange.h \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrSc.h \
HttpHdrScTarget.cc \
HttpHdrScTarget.h \
- HttpHdrContRange.cc \
- HttpHdrContRange.h \
- HttpHeaderStat.h \
- HttpHeader.h \
HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
HttpHeaderMask.h \
HttpHeaderRange.h \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderStat.h \
HttpHeaderTools.cc \
- HttpBody.h \
- HttpBody.cc \
- HttpControlMsg.cc \
- HttpControlMsg.h \
+ HttpHeaderTools.h \
HttpReply.cc \
HttpReply.h \
- RequestFlags.h \
- RequestFlags.cc \
HttpRequest.cc \
HttpRequest.h \
+ HttpUpgradeProtocolAccess.cc \
+ HttpUpgradeProtocolAccess.h \
ICP.h \
- icp_opcode.h \
- icp_v2.cc \
- icp_v3.cc \
- Instance.h \
Instance.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- ipcache.h \
- $(LEAKFINDERSOURCE) \
+ Instance.h \
+ IoStats.h \
LogTags.cc \
LogTags.h \
- lookup_t.h \
- main.cc \
MasterXaction.cc \
MasterXaction.h \
- mem_node.cc \
- mem_node.h \
MemBuf.cc \
MemObject.cc \
MemObject.h \
+ MemStore.cc \
+ MemStore.h \
MessageSizes.h \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- multicast.h \
- multicast.cc \
- neighbors.h \
- neighbors.cc \
- Notes.h \
+ NeighborTypeDomainList.h \
Notes.cc \
+ Notes.h \
Parsing.cc \
Parsing.h \
- $(XPROF_STATS_SOURCE) \
- pconn.cc \
- pconn.h \
PeerDigest.h \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
- PeerPoolMgr.h \
PeerPoolMgr.cc \
+ PeerPoolMgr.h \
PeerSelectState.h \
PingData.h \
Pipeline.cc \
Pipeline.h \
- protos.h \
- redirect.h \
- redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
RemovalPolicy.h \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
- send-announce.h \
- send-announce.cc \
- SBufStatsAction.h \
SBufStatsAction.cc \
- sbuf/StringConvert.h \
- $(SNMP_SOURCE) \
- SquidMath.h \
+ SBufStatsAction.h \
SquidMath.cc \
+ SquidMath.h \
SquidNew.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- String.cc \
- StrList.h \
- StrList.cc \
- stmem.cc \
- stmem.h \
- repl_modules.h \
- store.cc \
+ StatHist.h \
Store.h \
+ StoreClient.h \
StoreFileSystem.cc \
StoreFileSystem.h \
- store_io.cc \
StoreIOBuffer.h \
StoreIOState.cc \
StoreIOState.h \
- store_client.cc \
- StoreClient.h \
- store_digest.h \
- store_digest.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_log.h \
- store_log.cc \
- store_rebuild.h \
- store_rebuild.cc \
- store_swapin.h \
- store_swapin.cc \
- store_swapmeta.cc \
- store_swapout.cc \
StoreMetaUnpacker.cc \
StoreMetaUnpacker.h \
- $(STOREMETA_SOURCE) \
StoreSearch.h \
StoreStats.cc \
StoreStats.h \
StoreSwapLogData.cc \
StoreSwapLogData.h \
- swap_log_op.h \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ TimeOrTag.h \
Transients.cc \
Transients.h \
- MemStore.cc \
- MemStore.h \
+ XactionInitiator.cc \
+ XactionInitiator.h \
+ XactionStep.h \
+ cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ carp.cc \
+ carp.h \
+ cbdata.cc \
+ cbdata.h \
+ clientStream.cc \
+ clientStream.h \
+ clientStreamForward.h \
+ client_db.cc \
+ client_db.h \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_reply.h \
+ client_side_request.cc \
+ client_side_request.h \
+ debug.cc \
+ defines.h \
+ dlink.cc \
+ dlink.h \
+ enums.h \
+ errorpage.cc \
+ errorpage.h \
+ event.cc \
+ event.h \
+ external_acl.cc \
+ fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fde.h \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ globals.h \
+ gopher.cc \
+ gopher.h \
+ helper.cc \
+ helper.h \
+ hier_code.h \
+ http.cc \
+ http.h \
+ icp_opcode.h \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ ipcache.cc \
+ ipcache.h \
+ lookup_t.h \
+ main.cc \
+ mem_node.cc \
+ mem_node.h \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ pconn.h \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ protos.h \
+ redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
+ sbuf/StringConvert.h \
+ send-announce.cc \
+ send-announce.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
+ stmem.h \
+ store.cc \
+ store_client.cc \
+ store_digest.cc \
+ store_digest.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
+ store_log.cc \
+ store_log.h \
+ store_rebuild.cc \
+ store_rebuild.h \
+ store_swapin.cc \
+ store_swapin.h \
+ store_swapmeta.cc \
+ store_swapout.cc \
+ swap_log_op.h \
time.cc \
- TimeOrTag.h \
- tools.h \
tools.cc \
+ tools.h \
tunnel.cc \
typedefs.h \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp.h \
+ urn.h \
wccp.cc \
- wccp2.h \
+ wccp.h \
wccp2.cc \
- whois.h \
+ wccp2.h \
whois.cc \
- wordlist.h \
+ whois.h \
wordlist.cc \
- XactionInitiator.h \
- XactionInitiator.cc \
- XactionStep.h \
- $(WIN32_SOURCE) \
- $(WINSVC_SOURCE)
+ wordlist.h
EXTRA_squid_SOURCES = \
+ $(DELAY_POOL_ALL_SOURCE) \
+ $(LOADABLE_MODULES_SOURCES) \
+ $(SNMP_ALL_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_ALL_SOURCE) \
$(all_AUTHMODULES) \
ConfigOption.h \
- $(DELAY_POOL_ALL_SOURCE) \
+ LeakFinder.cc \
+ LeakFinder.h \
+ ProfStats.cc \
htcp.cc \
htcp.h \
ipc.cc \
- ipc_win32.cc \
- ProfStats.cc \
- LeakFinder.cc \
- LeakFinder.h \
- $(SNMP_ALL_SOURCE) \
- $(UNLINKDSOURCE) \
- $(WIN32_ALL_SOURCE) \
- $(LOADABLE_MODULES_SOURCES)
+ ipc_win32.cc
noinst_HEADERS = \
MemBuf.h \
@@ -520,8 +518,6 @@
BUILT_SOURCES = \
cf_gen_defines.cci \
cf_parser.cci \
- err_type.cc \
- err_detail_type.cc \
globals.cc \
hier_code.cc \
icp_opcode.cc \
@@ -556,6 +552,7 @@
anyp/libanyp.la \
security/libsecurity.la \
$(SSL_LIBS) \
+ error/liberror.la \
ipc/libipc.la \
mgr/libmgr.la \
proxyp/libproxyp.la \
@@ -626,32 +623,32 @@
## libbase.la wants cbdata.*
## libbase.la wants MemBuf.*
ufsdump_SOURCES = \
+ $(WIN32_SOURCE) \
ClientInfo.h \
- cbdata.h \
- cbdata.cc \
- debug.cc \
- int.h \
- int.cc \
- mem/forward.h \
+ tests/stub_HelperChildConfig.cc \
MemBuf.cc \
MemBuf.h \
Parsing.h \
- store_key_md5.h \
- store_key_md5.cc \
+ RemovalPolicy.cc \
+ SquidNew.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
String.cc \
- SquidNew.cc \
- tests/stub_time.cc \
- ufsdump.cc \
- dlink.h \
+ cbdata.cc \
+ cbdata.h \
+ debug.cc \
dlink.cc \
- helper/ChildConfig.h \
- tests/stub_HelperChildConfig.cc \
- RemovalPolicy.cc \
- $(WIN32_SOURCE) \
+ dlink.h \
+ tests/stub_fd.cc \
fd.h \
- tests/stub_fd.cc
+ helper/ChildConfig.h \
+ int.cc \
+ int.h \
+ mem/forward.h \
+ store_key_md5.cc \
+ store_key_md5.h \
+ tests/stub_time.cc \
+ ufsdump.cc
ufsdump_LDADD = \
ident/libident.la \
acl/libacls.la \
@@ -743,12 +740,6 @@
hier_code.cc: hier_code.h mk-string-arrays.awk
$(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/hier_code.h > $@ || ($(RM) -f $@ && exit 1)
-err_type.cc: err_type.h mk-string-arrays.awk
- $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_type.h > $@ || ($(RM) -f $@ && exit 1)
-
-err_detail_type.cc: err_detail_type.h mk-string-arrays.awk
- $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_detail_type.h | sed 's/ERR_DETAIL_//' > $@ || ($(RM) -f $@ && exit 1)
-
lookup_t.cc: lookup_t.h mk-string-arrays.awk
$(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/lookup_t.h > $@ || ($(RM) -f $@ && exit 1)
@@ -953,10 +944,10 @@
tests/testLookupTable.cc \
tests/testLookupTable.h
nodist_tests_testLookupTable_SOURCES = \
+ tests/stub_SBufDetailedStats.cc \
base/LookupTable.h \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_SBufDetailedStats.cc
+ tests/stub_libmem.cc
tests_testLookupTable_LDADD = \
sbuf/libsbuf.la \
base/libbase.la \
@@ -982,9 +973,9 @@
tests/testYesNoNone.cc \
tests/testYesNoNone.h
nodist_tests_testYesNoNone_SOURCES = \
+ tests/stub_SBuf.cc \
base/YesNoNone.h \
- tests/stub_debug.cc \
- tests/stub_SBuf.cc
+ tests/stub_debug.cc
tests_testYesNoNone_LDADD = \
base/libbase.la \
$(LIBCPPUNIT_LIBS) \
@@ -1001,18 +992,18 @@
tests/testUriScheme.cc \
tests/testUriScheme.h
nodist_tests_testURL_SOURCES = \
- anyp/Uri.h \
- anyp/UriScheme.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/stub_HttpHeader.cc \
+ tests/stub_HttpRequest.cc \
+ tests/stub_StatHist.cc \
String.cc \
tests/stub_access_log.cc \
+ anyp/Uri.h \
+ anyp/UriScheme.h \
tests/stub_cbdata.cc \
tests/stub_debug.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpHeader.cc \
- tests/stub_HttpRequest.cc \
tests/stub_libhttp.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testURL_LDADD = \
libsquid.la \
proxyp/libproxyp.la \
@@ -1048,10 +1039,10 @@
tests/testTokenizer.cc \
tests/testTokenizer.h
nodist_tests_testTokenizer_SOURCES = \
- parser/Tokenizer.h \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ parser/Tokenizer.h
tests_testTokenizer_LDADD = \
parser/libparser.la \
sbuf/libsbuf.la \
@@ -1065,14 +1056,14 @@
check_PROGRAMS += tests/testSBuf
tests_testSBuf_SOURCES = \
- tests/SBufFindTest.cc \
- tests/SBufFindTest.h \
tests/testSBuf.cc \
- tests/testSBuf.h
+ tests/testSBuf.h \
+ tests/SBufFindTest.cc \
+ tests/SBufFindTest.h
nodist_tests_testSBuf_SOURCES = \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testSBuf_LDADD = \
sbuf/libsbuf.la \
base/libbase.la \
@@ -1086,9 +1077,9 @@
tests/testSBufList.cc \
tests/testSBufList.h
nodist_tests_testSBufList_SOURCES = \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testSBufList_LDADD = \
sbuf/libsbuf.la \
base/libbase.la \
@@ -1102,8 +1093,8 @@
tests/testString.cc \
tests/testString.h
nodist_tests_testString_SOURCES = \
- String.cc \
tests/stub_SBuf.cc \
+ String.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc
tests_testString_LDADD = \
@@ -1118,132 +1109,133 @@
if ENABLE_FS_ROCK
check_PROGRAMS += tests/testRock
tests_testRock_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(STOREMETA_SOURCE) \
+ $(UNLINKDSOURCE) \
AccessLogEntry.cc \
AccessLogEntry.h \
- cbdata.cc \
+ tests/stub_CacheDigest.cc \
CacheDigest.h \
- CollapsedForwarding.h \
CollapsedForwarding.cc \
- tests/stub_CacheDigest.cc \
+ CollapsedForwarding.h \
ConfigOption.cc \
ConfigParser.cc \
- fs_io.h \
- fs_io.cc \
ETag.cc \
EventLoop.cc \
- event.cc \
FadingCounter.cc \
- fatal.h \
- fatal.cc \
- fd.h \
- fd.cc \
- fde.h \
- fde.cc \
FileMap.h \
- filemap.cc \
- HttpHeaderFieldStat.h \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
+ HttpBody.h \
HttpHdrCc.cc \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
- HttpHeader.h \
HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- int.h \
- int.cc \
+ tests/stub_HttpRequest.cc \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
MemStore.cc \
- mem_node.cc \
- Notes.h \
Notes.cc \
+ Notes.h \
Parsing.cc \
+ tests/stub_Port.cc \
RemovalPolicy.cc \
RequestFlags.cc \
RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
- StatCounters.h \
+ tests/testRock.cc \
+ tests/testRock.h \
+ tests/stub_SBufDetailedStats.cc \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
tests/stub_StatHist.cc \
- stmem.cc \
- repl_modules.h \
- tests/stub_stat.cc \
- store.cc \
+ StatHist.h \
StoreFileSystem.cc \
StoreIOState.cc \
StoreMetaUnpacker.cc \
- $(STOREMETA_SOURCE) \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
StoreSwapLogData.cc \
- store_io.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_swapmeta.cc \
- store_swapout.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- StrList.h \
StrList.cc \
- Transients.h \
+ StrList.h \
+ String.cc \
Transients.cc \
- tests/testRock.cc \
- tests/testRock.h \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
- log/access_log.h \
+ Transients.h \
tests/stub_access_log.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
tests/stub_client_db.cc \
tests/stub_client_side_request.cc \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
- tests/stub_HelperChildConfig.cc \
+ event.cc \
+ fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fde.h \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
tests/stub_http.cc \
- tests/stub_HttpRequest.cc \
- tests/stub_libauth.cc \
tests/stub_icp.cc \
+ int.cc \
+ int.h \
tests/stub_ipc.cc \
tests/stub_ipcache.cc \
+ tests/stub_libanyp.cc \
+ tests/stub_libauth.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libicmp.cc \
tests/stub_liblog.cc \
tests/stub_libmgr.cc \
tests/stub_libsecurity.cc \
- mime.h \
+ log/access_log.h \
+ mem_node.cc \
tests/stub_mime.cc \
+ mime.h \
tests/stub_neighbors.cc \
- tests/stub_Port.cc \
tests/stub_pconn.cc \
+ repl_modules.h \
+ tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- store_rebuild.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
tests/stub_store_rebuild.cc \
+ store_rebuild.h \
tests/stub_store_stats.cc \
- tools.h \
- tests/stub_tools.cc \
+ store_swapmeta.cc \
+ store_swapout.cc \
time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
+ tests/stub_tools.cc \
+ tools.h \
wordlist.cc \
- $(DELAY_POOL_SOURCE) \
- $(UNLINKDSOURCE)
+ wordlist.h
nodist_tests_testRock_SOURCES = \
$(TESTSOURCES) \
- hier_code.cc \
SquidMath.cc \
SquidMath.h \
+ hier_code.cc \
swap_log_op.cc
tests_testRock_LDADD = \
http/libhttp.la \
@@ -1288,138 +1280,139 @@
if ENABLE_FS_UFS
check_PROGRAMS += tests/testUfs
tests_testUfs_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(STOREMETA_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
AccessLogEntry.h \
- tests/testUfs.cc \
- tests/testUfs.h \
- tests/stub_cache_manager.cc \
- tests/stub_client_db.cc \
+ tests/stub_CacheDigest.cc \
+ CacheDigest.h \
+ ClientInfo.h \
tests/stub_CollapsedForwarding.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_icp.cc \
- tests/stub_ipc.cc \
- tests/stub_ipcache.cc \
- tests/stub_libeui.cc \
- tests/stub_libicmp.cc \
- tests/stub_liblog.cc \
- tests/stub_neighbors.cc \
- tests/stub_pconn.cc \
- tests/stub_Port.cc \
- tests/stub_UdsOp.cc \
- internal.h \
- tests/stub_internal.cc \
- tests/stub_libformat.cc \
- tests/stub_libsecurity.cc \
- tests/stub_stat.cc \
- store_rebuild.h \
- tests/stub_store_rebuild.cc \
- tests/stub_store_stats.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.h \
- fde.cc \
- client_db.h \
+ ConfigOption.cc \
+ ConfigParser.cc \
+ ETag.cc \
+ EventLoop.cc \
FadingCounter.cc \
- fs_io.h \
- fs_io.cc \
FileMap.h \
- filemap.cc \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
+ HttpBody.h \
+ HttpHdrCc.cc \
+ HttpHdrCc.h \
+ HttpHdrContRange.cc \
+ HttpHdrRange.cc \
+ HttpHdrSc.cc \
+ HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- int.h \
- int.cc \
+ tests/stub_HttpRequest.cc \
LogTags.cc \
- RequestFlags.h \
- RequestFlags.cc \
- Transients.cc \
MasterXaction.cc \
MasterXaction.h \
+ MemBuf.cc \
MemObject.cc \
MemStore.cc \
- Notes.h \
Notes.cc \
- StoreSwapLogData.cc \
+ Notes.h \
+ Parsing.cc \
+ tests/stub_Port.cc \
+ RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
+ tests/stub_SBufDetailedStats.cc \
+ StatCounters.cc \
+ StatCounters.h \
+ StatHist.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
StoreIOState.cc \
StoreMetaUnpacker.cc \
- $(STOREMETA_SOURCE) \
- StoreFileSystem.cc \
- store_io.cc \
- store_swapout.cc \
- store_swapmeta.cc \
- $(UNLINKDSOURCE) \
- $(WIN32_SOURCE) \
- event.cc \
- $(DELAY_POOL_SOURCE) \
- CacheDigest.h \
- tests/stub_CacheDigest.cc \
- ConfigParser.cc \
- EventLoop.cc \
- RemovalPolicy.cc \
- repl_modules.h \
- store.cc \
- store_key_md5.h \
- store_key_md5.cc \
- Parsing.cc \
- ConfigOption.cc \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_UdsOp.cc \
+ tests/testUfs.cc \
+ tests/testUfs.h \
+ tests/stub_access_log.cc \
tests/stub_acl.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
- tests/stub_helper.cc \
+ cache_cf.h \
+ tests/stub_cache_manager.cc \
cbdata.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- tests/stub_debug.cc \
+ tests/stub_client_db.cc \
+ client_db.h \
tests/stub_client_side_request.cc \
+ tests/stub_debug.cc \
+ tests/stub_errorpage.cc \
+ event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fde.h \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_helper.cc \
tests/stub_http.cc \
+ tests/stub_icp.cc \
+ int.cc \
+ int.h \
+ tests/stub_internal.cc \
+ internal.h \
+ tests/stub_ipc.cc \
+ tests/stub_ipcache.cc \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
+ tests/stub_libformat.cc \
+ tests/stub_libicmp.cc \
+ tests/stub_liblog.cc \
+ tests/stub_libsecurity.cc \
+ log/access_log.h \
mem_node.cc \
- stmem.cc \
- mime.h \
tests/stub_mime.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeader.h \
- HttpHeader.cc \
- ClientInfo.h \
- MemBuf.cc \
- HttpHdrContRange.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
- HttpHdrCc.cc \
- HttpHdrSc.cc \
- HttpHdrScTarget.cc \
- tests/stub_libanyp.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- StatHist.cc \
- StrList.h \
- StrList.cc \
- HttpHdrRange.cc \
- ETag.cc \
- tests/stub_errorpage.cc \
- tests/stub_HttpRequest.cc \
- log/access_log.h \
- tests/stub_access_log.cc \
- refresh.h \
+ mime.h \
+ tests/stub_neighbors.cc \
+ tests/stub_pconn.cc \
refresh.cc \
+ refresh.h \
+ repl_modules.h \
+ tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- tools.h \
- tests/stub_tools.cc \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
+ tests/stub_store_rebuild.cc \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
+ store_swapmeta.cc \
+ store_swapout.cc \
time.cc \
- wordlist.h \
- wordlist.cc
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testUfs_SOURCES = \
$(TESTSOURCES) \
- hier_code.cc \
SquidMath.cc \
SquidMath.h \
+ hier_code.cc \
swap_log_op.cc
tests_testUfs_LDADD = \
http/libhttp.la \
@@ -1469,133 +1462,134 @@
check_PROGRAMS += tests/testStore
## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
## first line - what we are testing.
-tests_testStore_SOURCES= \
- CacheDigest.h \
+tests_testStore_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
tests/stub_CacheDigest.cc \
- cbdata.cc \
+ CacheDigest.h \
ClientInfo.h \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
ETag.cc \
- event.cc \
EventLoop.cc \
- fatal.h \
- tests/stub_fatal.cc \
FileMap.h \
- filemap.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ tests/stub_HelperChildConfig.cc \
+ HttpBody.cc \
+ HttpBody.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
- HttpHeader.h \
- HttpHeader.cc \
- RequestFlags.cc \
- RequestFlags.h \
- int.h \
- int.cc \
+ HttpHeaderTools.h \
+ tests/stub_HttpReply.cc \
+ tests/stub_HttpRequest.cc \
MasterXaction.cc \
MasterXaction.h \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
MemStore.cc \
- Notes.h \
Notes.cc \
+ Notes.h \
+ tests/testPackableStream.cc \
+ tests/testPackableStream.h \
Parsing.cc \
+ tests/stub_Port.cc \
RemovalPolicy.cc \
- refresh.h \
- refresh.cc \
- StatCounters.h \
+ RequestFlags.cc \
+ RequestFlags.h \
+ tests/stub_SBufDetailedStats.cc \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
- repl_modules.h \
- store.cc \
- store_io.cc \
- store_swapout.cc \
+ StatHist.h \
+ tests/testStore.cc \
+ tests/testStore.h \
+ tests/testStoreController.cc \
+ tests/testStoreController.h \
+ tests/testStoreHashIndex.cc \
+ tests/testStoreHashIndex.h \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
StoreSwapLogData.cc \
- store_key_md5.h \
- store_key_md5.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/CapturingStoreEntry.h \
- log/access_log.h \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
tests/stub_client_side_request.cc \
tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
+ event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ tests/stub_fd.cc \
fd.h \
fde.h \
- tests/stub_fd.cc \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc \
tests/stub_http.cc \
+ int.cc \
+ int.h \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
- tests/stub_libeui.cc \
+ tests/stub_libcomm.cc \
tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libsecurity.cc \
tests/stub_libsslsquid.cc \
- HttpBody.h \
- HttpBody.cc \
- tests/stub_HttpReply.cc \
- tests/stub_HttpRequest.cc \
- tests/stub_libcomm.cc \
- mime.h \
+ log/access_log.h \
+ mem_node.cc \
tests/stub_mime.cc \
- tests/stub_Port.cc \
+ mime.h \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- tests/stub_store_stats.cc \
- store_rebuild.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
tests/stub_store_rebuild.cc \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
+ store_swapout.cc \
tests/stub_store_swapout.cc \
- tools.h \
- Transients.cc \
- tests/stub_tools.cc \
- tests/stub_UdsOp.cc \
- tests/testPackableStream.cc \
- tests/testPackableStream.h \
- tests/testStore.cc \
- tests/testStore.h \
- tests/testStoreController.cc \
- tests/testStoreController.h \
- tests/testStoreHashIndex.cc \
- tests/testStoreHashIndex.h \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
+ tests/CapturingStoreEntry.h \
tests/TestSwapDir.cc \
tests/TestSwapDir.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
-nodist_tests_testStore_SOURCES= \
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
+nodist_tests_testStore_SOURCES = \
+ $(TESTSOURCES) \
SquidMath.cc \
SquidMath.h \
- swap_log_op.cc \
- $(TESTSOURCES)
+ swap_log_op.cc
tests_testStore_LDADD= \
libsquid.la \
http/libhttp.la \
@@ -1631,143 +1625,144 @@
check_PROGRAMS += tests/testDiskIO
tests_testDiskIO_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
AccessLogEntry.h \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cbdata.cc \
- client_db.h \
+ CacheDigest.h \
ClientInfo.h \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
- $(DELAY_POOL_SOURCE) \
- FadingCounter.cc \
- fs_io.h \
- fs_io.cc \
+ tests/testDiskIO.cc \
+ tests/testDiskIO.h \
tests/stub_ETag.cc \
EventLoop.cc \
- event.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.h \
- fde.cc \
+ FadingCounter.cc \
FileMap.h \
- filemap.cc \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
+ HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
- HttpHdrRange.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
- HttpHeader.h \
- HttpHeader.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- int.h \
- int.cc \
+ tests/stub_HttpRequest.cc \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
- mem_node.cc \
- Notes.h \
+ tests/stub_MemStore.cc \
Notes.cc \
+ Notes.h \
Parsing.cc \
- refresh.h \
- refresh.cc \
+ tests/stub_Port.cc \
RemovalPolicy.cc \
- RequestFlags.h \
RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
- tests/stub_libsecurity.cc \
- StatCounters.h \
+ tests/stub_SBufDetailedStats.cc \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
tests/stub_StatHist.cc \
- stmem.cc \
- tests/stub_SBufDetailedStats.cc \
+ StatHist.h \
StoreFileSystem.cc \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
StoreSwapLogData.cc \
- store_io.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_swapout.cc \
- store_swapmeta.cc \
- repl_modules.h \
- store.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/stub_libstore.cc \
+ StrList.h \
+ String.cc \
Transients.cc \
- log/access_log.h \
+ tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
tests/stub_client_db.cc \
- client_side_request.h \
+ client_db.h \
tests/stub_client_side_request.cc \
+ client_side_request.h \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
+ event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fde.h \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpRequest.cc \
tests/stub_http.cc \
tests/stub_icp.cc \
- internal.h \
+ int.cc \
+ int.h \
tests/stub_internal.cc \
+ internal.h \
tests/stub_ipc.cc \
tests/stub_ipcache.cc \
- tests/stub_libauth_acls.cc \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libicmp.cc \
tests/stub_liblog.cc \
- tests/stub_MemStore.cc \
- mime.h \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ log/access_log.h \
+ mem_node.cc \
tests/stub_mime.cc \
+ mime.h \
tests/stub_neighbors.cc \
tests/stub_pconn.cc \
- tests/stub_Port.cc \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- tests/stub_store_stats.cc \
- store_rebuild.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
tests/stub_store_rebuild.cc \
- tests/stub_UdsOp.cc \
- tests/testDiskIO.cc \
- tests/testDiskIO.h \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
+ store_swapmeta.cc \
+ store_swapout.cc \
tests/stub_time.cc \
- $(UNLINKDSOURCE) \
- tests/stub_libanyp.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc \
+ tests/stub_tools.cc \
tools.h \
- tests/stub_tools.cc
-nodist_tests_testDiskIO_SOURCES= \
+ wordlist.cc \
+ wordlist.h
+nodist_tests_testDiskIO_SOURCES = \
$(TESTSOURCES) \
- hier_code.cc \
SquidMath.cc \
SquidMath.h \
+ hier_code.cc \
swap_log_op.cc
tests_testDiskIO_LDADD = \
libsquid.la \
@@ -1815,26 +1810,26 @@
tests/testACLMaxUserIP.h
nodist_tests_testACLMaxUserIP_SOURCES = \
ConfigParser.cc \
- dlink.cc \
- globals.cc \
+ tests/stub_HelperChildConfig.cc \
+ tests/stub_HttpHeader.cc \
+ tests/stub_HttpRequest.cc \
+ tests/stub_MemBuf.cc \
Parsing.cc \
+ tests/stub_StatHist.cc \
String.cc \
tests/stub_access_log.cc \
tests/stub_cache_cf.cc \
tests/stub_cbdata.cc \
tests/stub_client_side.cc \
tests/stub_debug.cc \
+ dlink.cc \
tests/stub_errorpage.cc \
tests/stub_fatal.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpHeader.cc \
- tests/stub_HttpRequest.cc \
+ globals.cc \
tests/stub_libauth.cc \
tests/stub_libhttp.cc \
tests/stub_libmem.cc \
- tests/stub_libsecurity.cc \
- tests/stub_MemBuf.cc \
- tests/stub_StatHist.cc
+ tests/stub_libsecurity.cc
tests_testACLMaxUserIP_LDADD = \
$(AUTH_ACL_LIBS) \
acl/libapi.la \
@@ -1860,26 +1855,21 @@
check_PROGRAMS += tests/test_http_range
tests_test_http_range_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- BodyPipe.cc \
- cache_cf.h \
AuthReg.h \
- RefreshPattern.h \
+ BodyPipe.cc \
+ tests/stub_CacheDigest.cc \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- cache_manager.cc \
- CacheDigest.h \
- tests/stub_CacheDigest.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -1887,166 +1877,172 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
+ tests/stub_EventLoop.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_libauth.cc \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
- HttpHeader.h \
HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
- PeerPoolMgr.cc \
- RequestFlags.h \
- RequestFlags.cc \
HttpRequest.cc \
- icp_v2.cc \
- icp_v3.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
- tests/stub_libmem.cc \
- mem_node.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- multicast.h \
- multicast.cc \
- neighbors.h \
- neighbors.cc \
+ tests/stub_MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
+ PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- pconn.cc \
- redirect.h \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
- repl_modules.h \
- store.cc \
- store_client.cc \
- store_digest.h \
- tests/stub_store_digest.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_io.cc \
- store_log.h \
- store_log.cc \
- store_rebuild.h \
- store_rebuild.cc \
- store_swapin.h \
- store_swapin.cc \
- store_swapmeta.cc \
- store_swapout.cc \
+ StatHist.h \
StoreFileSystem.cc \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
StoreSwapLogData.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/stub_libstore.cc \
+ StrList.h \
+ String.cc \
Transients.cc \
tests/test_http_range.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
tests/stub_external_acl.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
+ tests/stub_libmem.cc \
tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
tests/stub_main_cc.cc \
- tests/stub_MemStore.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
+ store.cc \
+ store_client.cc \
+ tests/stub_store_digest.cc \
+ store_digest.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
+ store_log.cc \
+ store_log.h \
+ store_rebuild.cc \
+ store_rebuild.h \
tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
+ store_swapin.cc \
+ store_swapin.h \
+ store_swapmeta.cc \
+ store_swapout.cc \
time.cc \
- tools.h \
tools.cc \
+ tools.h \
tests/stub_tunnel.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_test_http_range_SOURCES = \
$(BUILT_SOURCES)
tests_test_http_range_LDADD = \
@@ -2089,6 +2085,7 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_test_http_range_LDFLAGS = $(LIBADD_DL)
@@ -2096,34 +2093,34 @@
check_PROGRAMS += tests/testHttp1Parser
tests_testHttp1Parser_SOURCES = \
Debug.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/testHttp1Parser.cc \
+ tests/testHttp1Parser.h \
MemBuf.cc \
MemBuf.h \
tests/stub_MemObject.cc \
- mime_header.cc \
- mime_header.h \
- String.cc \
- cache_cf.h \
tests/stub_SBufDetailedStats.cc \
+ String.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
- tests/stub_comm.cc \
tests/stub_cbdata.cc \
+ tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_event.cc \
- tests/stub_HelperChildConfig.cc \
+ tests/stub_libanyp.cc \
tests/stub_libmem.cc \
tests/stub_libsecurity.cc \
+ mime_header.cc \
+ mime_header.h \
tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_stats.cc \
- tools.h \
- tests/stub_tools.cc \
- tests/testHttp1Parser.cc \
- tests/testHttp1Parser.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testHttp1Parser_SOURCES = \
$(TESTSOURCES)
tests_testHttp1Parser_LDADD= \
@@ -2142,18 +2139,16 @@
tests_testHttp1Parser_LDFLAGS = $(LIBADD_DL)
check_PROGRAMS += tests/testHttpReply
-tests_testHttpReply_SOURCES=\
- cbdata.cc \
- cbdata.h \
+tests_testHttpReply_SOURCES = \
ConfigParser.cc \
tests/stub_ETag.cc \
- fatal.h \
- tests/stub_fatal.cc \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
+ HttpControlMsg.cc \
+ HttpControlMsg.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrContRange.h \
HttpHdrRange.cc \
@@ -2161,64 +2156,67 @@
HttpHdrSc.h \
HttpHdrScTarget.cc \
HttpHdrScTarget.h \
- HttpHeader.h \
HttpHeader.cc \
- HttpHeaderMask.h \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderMask.h \
HttpHeaderTools.cc \
- HttpControlMsg.cc \
- HttpControlMsg.h \
+ HttpHeaderTools.h \
HttpReply.cc \
+ tests/testHttpReply.cc \
HttpReply.h \
+ tests/testHttpReply.h \
+ tests/stub_HttpRequest.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemBuf.h \
- mime_header.h \
- mime_header.cc \
- Notes.h \
Notes.cc \
+ Notes.h \
+ tests/stub_SBufDetailedStats.cc \
SquidString.h \
SquidTime.h \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- StrList.h \
+ StatCounters.cc \
+ StatCounters.h \
+ tests/stub_StatHist.cc \
+ StatHist.h \
StrList.cc \
- log/access_log.h \
+ StrList.h \
+ String.cc \
tests/stub_access_log.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
+ cbdata.h \
tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
tests/stub_event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_fd.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_libformat.cc \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
tests/stub_libcomm.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libformat.cc \
tests/stub_libmgr.cc \
tests/stub_libsecurity.cc \
tests/stub_libsslsquid.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- tests/stub_StatHist.cc \
+ log/access_log.h \
+ mime_header.cc \
+ mime_header.h \
repl_modules.h \
tests/stub_store.cc \
tests/stub_store_stats.cc \
- tools.h \
- tests/stub_tools.cc \
- tests/stub_HttpRequest.cc \
- tests/testHttpReply.cc \
- tests/testHttpReply.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
-nodist_tests_testHttpReply_SOURCES=\
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
+nodist_tests_testHttpReply_SOURCES = \
$(TESTSOURCES) \
hier_code.cc
tests_testHttpReply_LDADD=\
@@ -2246,44 +2244,20 @@
check_PROGRAMS += tests/testHttpRequest
tests_testHttpRequest_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- RequestFlags.h \
- RequestFlags.cc \
- HttpRequest.cc \
- tests/stub_libmem.cc \
- String.cc \
- tests/testHttpRequest.h \
- tests/testHttpRequest.cc \
- tests/testHttpRequestMethod.h \
- tests/testHttpRequestMethod.cc \
- tests/stub_libauth.cc \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
- time.cc \
- BodyPipe.cc \
- cache_manager.cc \
- cache_cf.h \
AuthReg.h \
- RefreshPattern.h \
- debug.cc \
- CacheDigest.h \
+ BodyPipe.cc \
tests/stub_CacheDigest.cc \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -2291,150 +2265,175 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- external_acl.cc \
+ tests/stub_EventLoop.cc \
ExternalACLEntry.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
- fqdncache.h \
- fqdncache.cc \
+ FadingCounter.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ HttpRequest.cc \
+ tests/testHttpRequest.cc \
+ tests/testHttpRequest.h \
+ tests/testHttpRequestMethod.cc \
+ tests/testHttpRequestMethod.h \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
- tests/stub_libsecurity.cc \
MasterXaction.cc \
MasterXaction.h \
- multicast.h \
- multicast.cc \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- neighbors.h \
- neighbors.cc \
+ MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- pconn.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
- PeerPoolMgr.h \
PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- redirect.h \
- tests/stub_libauth_acls.cc \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
+ tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- StrList.h \
- StrList.cc \
- event.cc \
- tools.h \
+ time.cc \
tools.cc \
- Transients.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tools.h \
tests/stub_tunnel.cc \
- tests/stub_libstore.cc \
- MemStore.cc \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- FadingCounter.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testHttpRequest_SOURCES = \
$(BUILT_SOURCES)
tests_testHttpRequest_LDADD = \
@@ -2477,6 +2476,7 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testHttpRequest_LDFLAGS = $(LIBADD_DL)
@@ -2488,9 +2488,9 @@
tests/testIpAddress.cc \
tests/testIpAddress.h
nodist_tests_testIpAddress_SOURCES = \
+ tests/stub_SBuf.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
tests/stub_tools.cc
tests_testIpAddress_LDADD = \
ip/libip.la \
@@ -2505,16 +2505,16 @@
check_PROGRAMS += tests/testIcmp
# icmp/libicmpcore.la is used by pinger so SHOULD NOT require more dependancies! :-(
tests_testIcmp_SOURCES = \
- tests/testIcmp.h \
- tests/testIcmp.cc
+ tests/testIcmp.cc \
+ tests/testIcmp.h
nodist_tests_testIcmp_SOURCES = \
- icmp/Icmp.h \
+ tests/stub_SBuf.cc \
SquidTime.h \
tests/stub_debug.cc \
+ globals.cc \
+ icmp/Icmp.h \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
- time.cc \
- globals.cc
+ time.cc
tests_testIcmp_LDADD=\
icmp/libicmpcore.la \
ip/libip.la \
@@ -2529,12 +2529,12 @@
tests/testNetDb.cc \
tests/testNetDb.h
nodist_tests_testNetDb_SOURCES = \
+ tests/stub_SBuf.cc \
SquidTime.h \
tests/stub_debug.cc \
+ globals.cc \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
- time.cc \
- globals.cc
+ time.cc
tests_testNetDb_LDADD = \
icmp/libicmp.la \
ip/libip.la \
@@ -2549,39 +2549,23 @@
check_PROGRAMS += tests/testCacheManager
tests_testCacheManager_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- debug.cc \
- RequestFlags.h \
- RequestFlags.cc \
- HttpRequest.cc \
- String.cc \
+ AuthReg.h \
+ BodyPipe.cc \
+ tests/stub_CacheDigest.cc \
+ CacheDigest.h \
tests/testCacheManager.cc \
tests/testCacheManager.h \
- tests/stub_main_cc.cc \
- tests/stub_HttpControlMsg.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
- time.cc \
- BodyPipe.cc \
- cache_manager.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
CachePeer.cc \
CachePeer.h \
- CacheDigest.h \
- tests/stub_CacheDigest.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -2589,154 +2573,171 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
- external_acl.cc \
+ tests/stub_EventLoop.cc \
ExternalACLEntry.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
+ FadingCounter.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- hier_code.h \
- helper.cc \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
+ tests/stub_HttpControlMsg.cc \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
- tests/stub_libsecurity.cc \
MasterXaction.cc \
MasterXaction.h \
- multicast.h \
- multicast.cc \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- neighbors.h \
- neighbors.cc \
+ MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- pconn.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
- PeerPoolMgr.h \
PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- redirect.h \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
- ResolvedPeers.h \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
+ ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
+ StatCounters.h \
+ tests/stub_StatHist.cc \
StatHist.h \
- StrList.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
StrList.cc \
- tests/stub_libauth_acls.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
tests/stub_libdiskio.cc \
- tests/stub_StatHist.cc \
- stmem.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- tools.h \
+ time.cc \
tools.cc \
- Transients.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tools.h \
tests/stub_tunnel.cc \
- tests/stub_libstore.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- FadingCounter.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testCacheManager_SOURCES = \
$(BUILT_SOURCES)
# comm.cc only requires comm/libcomm.la until fdc_table is dead.
@@ -2781,39 +2782,40 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testCacheManager_LDFLAGS = $(LIBADD_DL)
check_PROGRAMS += tests/testStatHist
tests_testStatHist_SOURCES = \
- tests/stub_cbdata.cc \
- fatal.h \
- tests/stub_fatal.cc \
+ tests/stub_DelayId.cc \
+ tests/stub_HelperChildConfig.cc \
tests/stub_MemBuf.cc \
+ tests/stub_MemObject.cc \
tests/stub_SBufDetailedStats.cc \
StatHist.cc \
+ tests/testStatHist.cc \
StatHist.h \
+ tests/testStatHist.h \
String.cc \
tests/stub_cache_manager.cc \
+ tests/stub_cbdata.cc \
tests/stub_comm.cc \
tests/stub_debug.cc \
- tests/stub_DelayId.cc \
- tests/stub_HelperChildConfig.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_libmem.cc \
- tests/stub_MemObject.cc \
- mime.h \
tests/stub_mime.cc \
+ mime.h \
tests/stub_pconn.cc \
- tests/stub_stmem.cc \
repl_modules.h \
+ tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_stats.cc \
time.cc \
- tools.h \
tests/stub_tools.cc \
- tests/testStatHist.cc \
- tests/testStatHist.h
+ tools.h
nodist_tests_testStatHist_SOURCES = \
$(TESTSOURCES)
tests_testStatHist_LDADD = \
@@ -2830,25 +2832,25 @@
check_PROGRAMS += tests/testConfigParser
tests_testConfigParser_SOURCES = \
ClientInfo.h \
- tests/stub_MemBuf.cc \
- tests/stub_time.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
ConfigParser.cc \
- fatal.h \
- tests/stub_fatal.cc \
tests/testConfigParser.cc \
tests/testConfigParser.h \
- cache_cf.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/stub_MemBuf.cc \
+ tests/stub_SBufDetailedStats.cc \
+ String.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cbdata.cc \
tests/stub_debug.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_libmem.cc \
- tests/stub_HelperChildConfig.cc \
- tools.h \
+ tests/stub_time.cc \
tests/stub_tools.cc \
- wordlist.h \
- wordlist.cc
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testConfigParser_SOURCES = \
$(TESTSOURCES)
tests_testConfigParser_LDADD = \
@@ -2868,26 +2870,21 @@
check_PROGRAMS += tests/testEvent
tests_testEvent_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
+ AuthReg.h \
BodyPipe.cc \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- cache_manager.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -2895,171 +2892,177 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
- EventLoop.h \
+ tests/testEvent.cc \
+ tests/testEvent.h \
EventLoop.cc \
- external_acl.cc \
+ EventLoop.h \
ExternalACLEntry.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
+ HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
+ LogTags.cc \
+ MasterXaction.cc \
+ MasterXaction.h \
+ MemBuf.cc \
+ MemObject.cc \
+ MemStore.cc \
+ Notes.cc \
+ Notes.h \
+ Parsing.cc \
PeerPoolMgr.cc \
- RequestFlags.h \
+ PeerPoolMgr.h \
+ Pipeline.cc \
+ Pipeline.h \
+ RefreshPattern.h \
+ RemovalPolicy.cc \
RequestFlags.cc \
- HttpRequest.cc \
+ RequestFlags.h \
+ ResolvedPeers.cc \
+ ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc \
+ SquidMath.cc \
+ SquidMath.h \
+ StatCounters.cc \
+ StatCounters.h \
+ StatHist.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
icp_v2.cc \
icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
int.cc \
- internal.h \
+ int.h \
internal.cc \
- LogTags.cc \
- tests/stub_libsecurity.cc \
- MasterXaction.cc \
- MasterXaction.h \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
mem_node.cc \
- MemBuf.cc \
- MemObject.cc \
- mime.h \
mime.cc \
- mime_header.h \
+ mime.h \
mime_header.cc \
- multicast.h \
+ mime_header.h \
multicast.cc \
- neighbors.h \
+ multicast.h \
neighbors.cc \
- Notes.cc \
- Notes.h \
- Parsing.cc \
+ neighbors.h \
pconn.cc \
peer_digest.cc \
- peer_proxy_negotiate_auth.h \
peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
peer_select.cc \
- peer_sourcehash.h \
peer_sourcehash.cc \
- peer_userhash.h \
+ peer_sourcehash.h \
peer_userhash.cc \
- Pipeline.cc \
- Pipeline.h \
- redirect.h \
+ peer_userhash.h \
tests/stub_redirect.cc \
- refresh.h \
+ redirect.h \
refresh.cc \
- RemovalPolicy.cc \
- ResolvedPeers.h \
- ResolvedPeers.cc \
- StrList.h \
- StrList.cc \
- tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.cc \
- SquidMath.h \
- IoStats.h \
- stat.h \
+ refresh.h \
+ repl_modules.h \
stat.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- StatHist.cc \
+ stat.h \
stmem.cc \
- repl_modules.h \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- String.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_libstore.cc \
tests/CapturingStoreEntry.h \
- tests/testEvent.cc \
- tests/testEvent.h \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_store_stats.cc \
time.cc \
- tools.h \
tools.cc \
- Transients.cc \
+ tools.h \
tests/stub_tunnel.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testEvent_SOURCES = \
$(BUILT_SOURCES)
tests_testEvent_LDADD = \
@@ -3101,32 +3104,28 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testEvent_LDFLAGS = $(LIBADD_DL)
check_PROGRAMS += tests/testEventLoop
tests_testEventLoop_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
+ AuthReg.h \
BodyPipe.cc \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cache_manager.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -3134,170 +3133,176 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- EventLoop.h \
EventLoop.cc \
- event.cc \
- external_acl.cc \
+ tests/testEventLoop.cc \
+ EventLoop.h \
+ tests/testEventLoop.h \
ExternalACLEntry.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
- PeerPoolMgr.cc \
- RequestFlags.h \
- RequestFlags.cc \
HttpRequest.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
+ MemStore.cc \
+ Notes.cc \
+ Notes.h \
+ Parsing.cc \
+ PeerPoolMgr.cc \
+ PeerPoolMgr.h \
+ Pipeline.cc \
+ Pipeline.h \
+ RefreshPattern.h \
+ RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
+ ResolvedPeers.cc \
+ ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc \
+ SquidMath.cc \
+ SquidMath.h \
+ StatCounters.cc \
+ StatCounters.h \
+ StatHist.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
mem_node.cc \
- mime.h \
mime.cc \
- mime_header.h \
+ mime.h \
mime_header.cc \
- multicast.h \
+ mime_header.h \
multicast.cc \
- neighbors.h \
+ multicast.h \
neighbors.cc \
- Notes.cc \
- Notes.h \
- Parsing.cc \
+ neighbors.h \
pconn.cc \
peer_digest.cc \
- peer_proxy_negotiate_auth.h \
peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
peer_select.cc \
- peer_sourcehash.h \
peer_sourcehash.cc \
- peer_userhash.h \
+ peer_sourcehash.h \
peer_userhash.cc \
- Pipeline.cc \
- Pipeline.h \
- RemovalPolicy.cc \
- ResolvedPeers.cc \
- ResolvedPeers.h \
- redirect.h \
+ peer_userhash.h \
tests/stub_redirect.cc \
- refresh.h \
+ redirect.h \
refresh.cc \
- tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
- SquidMath.cc \
- IoStats.h \
- stat.h \
+ refresh.h \
+ repl_modules.h \
stat.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- StatHist.cc \
+ stat.h \
stmem.cc \
- repl_modules.h \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- String.cc \
- StrList.h \
- StrList.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_libstore.cc \
- tests/testEventLoop.cc \
- tests/testEventLoop.h \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_libsecurity.cc \
- tests/stub_store_stats.cc \
time.cc \
- tools.h \
tools.cc \
- Transients.cc \
+ tools.h \
tests/stub_tunnel.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testEventLoop_SOURCES = \
$(BUILT_SOURCES)
tests_testEventLoop_LDADD = \
@@ -3339,6 +3344,7 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testEventLoop_LDFLAGS = $(LIBADD_DL)
diff -u -r -N squid-5.0.5/src/Makefile.in squid-5.0.6/src/Makefile.in
--- squid-5.0.5/src/Makefile.in 2021-02-08 13:40:45.000000000 +1300
+++ squid-5.0.6/src/Makefile.in 2021-05-10 22:57:53.000000000 +1200
@@ -226,8 +226,8 @@
$(sbin_PROGRAMS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
libsquid_la_LIBADD =
-am_libsquid_la_OBJECTS = comm.lo CommCalls.lo DescriptorSet.lo \
- SquidConfig.lo
+am_libsquid_la_OBJECTS = CommCalls.lo DescriptorSet.lo SquidConfig.lo \
+ comm.lo
libsquid_la_OBJECTS = $(am_libsquid_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -249,89 +249,89 @@
fs/libfs.la ipc/libipc.la mgr/libmgr.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
$(am__DEPENDENCIES_1)
-am__squid_SOURCES_DIST = AclRegs.cc AuthReg.cc AccessLogEntry.cc \
- AccessLogEntry.h AsyncEngine.cc AsyncEngine.h cache_cf.h \
- AuthReg.h RefreshPattern.h cache_cf.cc CacheDigest.h \
- CacheDigest.cc cache_manager.cc NeighborTypeDomainList.h \
- CachePeer.cc CachePeer.h CacheManager.h carp.h carp.cc \
- cbdata.cc cbdata.h client_db.h client_db.cc client_side.h \
- client_side.cc client_side_reply.cc client_side_reply.h \
- client_side_request.cc client_side_request.h ClientInfo.h \
- BodyPipe.cc BodyPipe.h ClientRequestContext.h clientStream.cc \
- clientStream.h clientStreamForward.h CollapsedForwarding.cc \
- CollapsedForwarding.h CollapsingHistory.h CommandLine.cc \
- CommandLine.h CompletionDispatcher.cc CompletionDispatcher.h \
- CommRead.h ConfigOption.cc ConfigParser.cc ConfigParser.h \
- CpuAffinity.cc CpuAffinity.h CpuAffinityMap.cc \
- CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h debug.cc \
- Debug.h defines.h BandwidthBucket.cc BandwidthBucket.h \
- CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
- DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
- DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
- DelayPools.h DelaySpec.cc DelaySpec.h DelayTagged.cc \
- DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
- DelayVector.h MessageBucket.cc MessageBucket.h \
+am__squid_SOURCES_DIST = AclRegs.cc AuthReg.cc BandwidthBucket.cc \
+ BandwidthBucket.h CommonPool.h CompositePoolNode.h \
+ delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
+ DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
+ DelayPool.cc DelayPool.h DelayPools.h DelaySpec.cc DelaySpec.h \
+ DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
+ DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc Downloader.cc Downloader.h \
- enums.h err_type.h err_detail_type.h errorpage.cc errorpage.h \
- ETag.cc ETag.h event.cc event.h EventLoop.h EventLoop.cc \
- external_acl.cc ExternalACL.h ExternalACLEntry.cc \
- ExternalACLEntry.h FadingCounter.h FadingCounter.cc fatal.h \
- fatal.cc fd.h fd.cc fde.cc fde.h FileMap.h filemap.cc \
- fqdncache.h fqdncache.cc FwdState.cc FwdState.h Generic.h \
- globals.h gopher.h gopher.cc HappyConnOpener.cc \
- HappyConnOpener.h helper.cc helper.h hier_code.h \
- HierarchyLogEntry.h htcp.cc htcp.h \
- HttpUpgradeProtocolAccess.cc HttpUpgradeProtocolAccess.h \
- http.cc http.h HttpHeaderFieldStat.h HttpHdrCc.h HttpHdrCc.cc \
- HttpHdrRange.cc HttpHdrSc.cc HttpHdrSc.h HttpHdrScTarget.cc \
- HttpHdrScTarget.h HttpHdrContRange.cc HttpHdrContRange.h \
- HttpHeaderStat.h HttpHeader.h HttpHeader.cc HttpHeaderMask.h \
- HttpHeaderRange.h HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpBody.h HttpBody.cc HttpControlMsg.cc \
- HttpControlMsg.h HttpReply.cc HttpReply.h RequestFlags.h \
- RequestFlags.cc HttpRequest.cc HttpRequest.h ICP.h \
- icp_opcode.h icp_v2.cc icp_v3.cc Instance.h Instance.cc int.h \
- int.cc internal.h internal.cc SquidIpc.h ipc.cc ipc_win32.cc \
- ipcache.cc ipcache.h LeakFinder.cc LogTags.cc LogTags.h \
- lookup_t.h main.cc MasterXaction.cc MasterXaction.h \
- mem_node.cc mem_node.h MemBuf.cc MemObject.cc MemObject.h \
- MessageSizes.h mime.h mime.cc mime_header.h mime_header.cc \
- multicast.h multicast.cc neighbors.h neighbors.cc Notes.h \
- Notes.cc Parsing.cc Parsing.h ProfStats.cc pconn.cc pconn.h \
- PeerDigest.h peer_digest.cc peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.h \
- peer_sourcehash.cc peer_userhash.h peer_userhash.cc \
- PeerPoolMgr.h PeerPoolMgr.cc PeerSelectState.h PingData.h \
- Pipeline.cc Pipeline.h protos.h redirect.h redirect.cc \
- refresh.h refresh.cc RemovalPolicy.cc RemovalPolicy.h \
- ResolvedPeers.cc ResolvedPeers.h send-announce.h \
- send-announce.cc SBufStatsAction.h SBufStatsAction.cc \
- sbuf/StringConvert.h SnmpRequest.h snmp_core.h snmp_core.cc \
- snmp_agent.h snmp_agent.cc SquidMath.h SquidMath.cc \
- SquidNew.cc IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc String.cc StrList.h \
- StrList.cc stmem.cc stmem.h repl_modules.h store.cc Store.h \
- StoreFileSystem.cc StoreFileSystem.h store_io.cc \
- StoreIOBuffer.h StoreIOState.cc StoreIOState.h store_client.cc \
- StoreClient.h store_digest.h store_digest.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreMetaUnpacker.cc \
- StoreMetaUnpacker.h StoreMeta.cc StoreMeta.h StoreMetaMD5.cc \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc LeakFinder.cc \
+ SnmpRequest.h snmp_core.h snmp_core.cc snmp_agent.h \
+ snmp_agent.cc StoreMeta.cc StoreMeta.h StoreMetaMD5.cc \
StoreMetaMD5.h StoreMetaSTD.cc StoreMetaSTD.h \
StoreMetaSTDLFS.cc StoreMetaSTDLFS.h StoreMetaObjSize.h \
StoreMetaURL.cc StoreMetaURL.h StoreMetaVary.cc \
- StoreMetaVary.h StoreSearch.h StoreStats.cc StoreStats.h \
- StoreSwapLogData.cc StoreSwapLogData.h swap_log_op.h \
- Transients.cc Transients.h MemStore.cc MemStore.h time.cc \
- TimeOrTag.h tools.h tools.cc tunnel.cc typedefs.h unlinkd.h \
- unlinkd.cc urn.h urn.cc wccp.h wccp.cc wccp2.h wccp2.cc \
- whois.h whois.cc wordlist.h wordlist.cc XactionInitiator.h \
- XactionInitiator.cc XactionStep.h win32.cc WinSvc.cc \
- LoadableModule.h LoadableModule.cc LoadableModules.h \
- LoadableModules.cc
+ StoreMetaVary.h unlinkd.h unlinkd.cc win32.cc WinSvc.cc \
+ ProfStats.cc AccessLogEntry.cc AccessLogEntry.h AsyncEngine.cc \
+ AsyncEngine.h AuthReg.h BodyPipe.cc BodyPipe.h CacheDigest.cc \
+ CacheDigest.h CacheManager.h CachePeer.cc CachePeer.h \
+ ClientInfo.h ClientRequestContext.h CollapsedForwarding.cc \
+ CollapsedForwarding.h CollapsingHistory.h CommRead.h \
+ CommandLine.cc CommandLine.h CompletionDispatcher.cc \
+ CompletionDispatcher.h ConfigOption.cc ConfigParser.cc \
+ ConfigParser.h CpuAffinity.cc CpuAffinity.h CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h Debug.h \
+ Downloader.cc Downloader.h ETag.cc ETag.h EventLoop.cc \
+ EventLoop.h ExternalACL.h ExternalACLEntry.cc \
+ ExternalACLEntry.h FadingCounter.cc FadingCounter.h FileMap.h \
+ FwdState.cc FwdState.h Generic.h HappyConnOpener.cc \
+ HappyConnOpener.h HierarchyLogEntry.h HttpBody.cc HttpBody.h \
+ HttpControlMsg.cc HttpControlMsg.h HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrContRange.h HttpHdrRange.cc \
+ HttpHdrSc.cc HttpHdrSc.h HttpHdrScTarget.cc HttpHdrScTarget.h \
+ HttpHeader.cc HttpHeader.h HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h HttpHeaderMask.h HttpHeaderRange.h \
+ HttpHeaderStat.h HttpHeaderTools.cc HttpHeaderTools.h \
+ HttpReply.cc HttpReply.h HttpRequest.cc HttpRequest.h \
+ HttpUpgradeProtocolAccess.cc HttpUpgradeProtocolAccess.h ICP.h \
+ Instance.cc Instance.h IoStats.h LogTags.cc LogTags.h \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemObject.h MemStore.cc MemStore.h MessageSizes.h \
+ NeighborTypeDomainList.h Notes.cc Notes.h Parsing.cc Parsing.h \
+ PeerDigest.h PeerPoolMgr.cc PeerPoolMgr.h PeerSelectState.h \
+ PingData.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RemovalPolicy.h RequestFlags.cc \
+ RequestFlags.h ResolvedPeers.cc ResolvedPeers.h \
+ SBufStatsAction.cc SBufStatsAction.h SquidMath.cc SquidMath.h \
+ SquidNew.cc StatCounters.cc StatCounters.h StatHist.cc \
+ StatHist.h Store.h StoreClient.h StoreFileSystem.cc \
+ StoreFileSystem.h StoreIOBuffer.h StoreIOState.cc \
+ StoreIOState.h StoreMetaUnpacker.cc StoreMetaUnpacker.h \
+ StoreSearch.h StoreStats.cc StoreStats.h StoreSwapLogData.cc \
+ StoreSwapLogData.h StrList.cc StrList.h String.cc TimeOrTag.h \
+ Transients.cc Transients.h XactionInitiator.cc \
+ XactionInitiator.h XactionStep.h cache_cf.cc cache_cf.h \
+ cache_manager.cc carp.cc carp.h cbdata.cc cbdata.h \
+ clientStream.cc clientStream.h clientStreamForward.h \
+ client_db.cc client_db.h client_side.cc client_side.h \
+ client_side_reply.cc client_side_reply.h \
+ client_side_request.cc client_side_request.h debug.cc \
+ defines.h dlink.cc dlink.h enums.h errorpage.cc errorpage.h \
+ event.cc event.h external_acl.cc fatal.cc fatal.h fd.cc fd.h \
+ fde.cc fde.h filemap.cc fqdncache.cc fqdncache.h fs_io.cc \
+ fs_io.h globals.h gopher.cc gopher.h helper.cc helper.h \
+ hier_code.h http.cc http.h icp_opcode.h icp_v2.cc icp_v3.cc \
+ int.cc int.h internal.cc internal.h ipcache.cc ipcache.h \
+ lookup_t.h main.cc mem_node.cc mem_node.h mime.cc mime.h \
+ mime_header.cc mime_header.h multicast.cc multicast.h \
+ neighbors.cc neighbors.h pconn.cc pconn.h peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h protos.h redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h \
+ sbuf/StringConvert.h send-announce.cc send-announce.h stat.cc \
+ stat.h stmem.cc stmem.h store.cc store_client.cc \
+ store_digest.cc store_digest.h store_io.cc store_key_md5.cc \
+ store_key_md5.h store_log.cc store_log.h store_rebuild.cc \
+ store_rebuild.h store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc swap_log_op.h time.cc \
+ tools.cc tools.h tunnel.cc typedefs.h urn.cc urn.h wccp.cc \
+ wccp.h wccp2.cc wccp2.h whois.cc whois.h wordlist.cc \
+ wordlist.h LoadableModule.cc LoadableModule.h \
+ LoadableModules.cc LoadableModules.h
am__objects_1 = AclRegs.$(OBJEXT) AuthReg.$(OBJEXT)
am__objects_2 = BandwidthBucket.$(OBJEXT) delay_pools.$(OBJEXT) \
DelayId.$(OBJEXT) DelayBucket.$(OBJEXT) DelayConfig.$(OBJEXT) \
@@ -345,88 +345,86 @@
@ENABLE_WIN32_IPC_FALSE@am__objects_6 = ipc.$(OBJEXT)
@ENABLE_WIN32_IPC_TRUE@am__objects_6 = ipc_win32.$(OBJEXT)
@ENABLE_LEAKFINDER_TRUE@am__objects_7 = LeakFinder.$(OBJEXT)
-@ENABLE_XPROF_STATS_TRUE@am__objects_8 = ProfStats.$(OBJEXT)
-am__objects_9 = snmp_core.$(OBJEXT) snmp_agent.$(OBJEXT)
-@ENABLE_SNMP_TRUE@am__objects_10 = $(am__objects_9)
-am__objects_11 = StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \
+am__objects_8 = snmp_core.$(OBJEXT) snmp_agent.$(OBJEXT)
+@ENABLE_SNMP_TRUE@am__objects_9 = $(am__objects_8)
+am__objects_10 = StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \
StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \
StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT)
-@ENABLE_UNLINKD_TRUE@am__objects_12 = unlinkd.$(OBJEXT)
-@ENABLE_WIN32SPECIFIC_TRUE@am__objects_13 = win32.$(OBJEXT)
-@ENABLE_WIN32SPECIFIC_TRUE@am__objects_14 = WinSvc.$(OBJEXT)
+@ENABLE_UNLINKD_TRUE@am__objects_11 = unlinkd.$(OBJEXT)
+@ENABLE_WIN32SPECIFIC_TRUE@am__objects_12 = win32.$(OBJEXT)
+@ENABLE_WIN32SPECIFIC_TRUE@am__objects_13 = WinSvc.$(OBJEXT)
+@ENABLE_XPROF_STATS_TRUE@am__objects_14 = ProfStats.$(OBJEXT)
am__objects_15 = LoadableModule.$(OBJEXT) LoadableModules.$(OBJEXT)
@ENABLE_LOADABLE_MODULES_TRUE@am__objects_16 = $(am__objects_15)
-am_squid_OBJECTS = $(am__objects_1) AccessLogEntry.$(OBJEXT) \
- AsyncEngine.$(OBJEXT) cache_cf.$(OBJEXT) CacheDigest.$(OBJEXT) \
- cache_manager.$(OBJEXT) CachePeer.$(OBJEXT) carp.$(OBJEXT) \
- cbdata.$(OBJEXT) client_db.$(OBJEXT) client_side.$(OBJEXT) \
- client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
- BodyPipe.$(OBJEXT) clientStream.$(OBJEXT) \
+am_squid_OBJECTS = $(am__objects_1) $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_7) \
+ $(am__objects_9) $(am__objects_10) $(am__objects_11) \
+ $(am__objects_12) $(am__objects_13) $(am__objects_14) \
+ AccessLogEntry.$(OBJEXT) AsyncEngine.$(OBJEXT) \
+ BodyPipe.$(OBJEXT) CacheDigest.$(OBJEXT) CachePeer.$(OBJEXT) \
CollapsedForwarding.$(OBJEXT) CommandLine.$(OBJEXT) \
CompletionDispatcher.$(OBJEXT) ConfigOption.$(OBJEXT) \
ConfigParser.$(OBJEXT) CpuAffinity.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- debug.$(OBJEXT) $(am__objects_3) fs_io.$(OBJEXT) \
- dlink.$(OBJEXT) $(am__objects_4) Downloader.$(OBJEXT) \
- errorpage.$(OBJEXT) ETag.$(OBJEXT) event.$(OBJEXT) \
- EventLoop.$(OBJEXT) external_acl.$(OBJEXT) \
+ Downloader.$(OBJEXT) ETag.$(OBJEXT) EventLoop.$(OBJEXT) \
ExternalACLEntry.$(OBJEXT) FadingCounter.$(OBJEXT) \
- fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
- fqdncache.$(OBJEXT) FwdState.$(OBJEXT) gopher.$(OBJEXT) \
- HappyConnOpener.$(OBJEXT) helper.$(OBJEXT) $(am__objects_5) \
- HttpUpgradeProtocolAccess.$(OBJEXT) http.$(OBJEXT) \
- HttpHdrCc.$(OBJEXT) HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
- HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
+ FwdState.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
HttpBody.$(OBJEXT) HttpControlMsg.$(OBJEXT) \
- HttpReply.$(OBJEXT) RequestFlags.$(OBJEXT) \
- HttpRequest.$(OBJEXT) icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) \
- Instance.$(OBJEXT) int.$(OBJEXT) internal.$(OBJEXT) \
- $(am__objects_6) ipcache.$(OBJEXT) $(am__objects_7) \
- LogTags.$(OBJEXT) main.$(OBJEXT) MasterXaction.$(OBJEXT) \
- mem_node.$(OBJEXT) MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
+ HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
+ HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+ HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
+ HttpHeaderTools.$(OBJEXT) HttpReply.$(OBJEXT) \
+ HttpRequest.$(OBJEXT) HttpUpgradeProtocolAccess.$(OBJEXT) \
+ Instance.$(OBJEXT) LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) \
+ MemBuf.$(OBJEXT) MemObject.$(OBJEXT) MemStore.$(OBJEXT) \
+ Notes.$(OBJEXT) Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) \
+ Pipeline.$(OBJEXT) RemovalPolicy.$(OBJEXT) \
+ RequestFlags.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
+ SBufStatsAction.$(OBJEXT) SquidMath.$(OBJEXT) \
+ SquidNew.$(OBJEXT) StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
+ StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
+ StoreMetaUnpacker.$(OBJEXT) StoreStats.$(OBJEXT) \
+ StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) String.$(OBJEXT) \
+ Transients.$(OBJEXT) XactionInitiator.$(OBJEXT) \
+ cache_cf.$(OBJEXT) cache_manager.$(OBJEXT) carp.$(OBJEXT) \
+ cbdata.$(OBJEXT) clientStream.$(OBJEXT) client_db.$(OBJEXT) \
+ client_side.$(OBJEXT) client_side_reply.$(OBJEXT) \
+ client_side_request.$(OBJEXT) debug.$(OBJEXT) dlink.$(OBJEXT) \
+ errorpage.$(OBJEXT) event.$(OBJEXT) external_acl.$(OBJEXT) \
+ fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
+ fqdncache.$(OBJEXT) fs_io.$(OBJEXT) gopher.$(OBJEXT) \
+ helper.$(OBJEXT) http.$(OBJEXT) icp_v2.$(OBJEXT) \
+ icp_v3.$(OBJEXT) int.$(OBJEXT) internal.$(OBJEXT) \
+ ipcache.$(OBJEXT) main.$(OBJEXT) mem_node.$(OBJEXT) \
mime.$(OBJEXT) mime_header.$(OBJEXT) multicast.$(OBJEXT) \
- neighbors.$(OBJEXT) Notes.$(OBJEXT) Parsing.$(OBJEXT) \
- $(am__objects_8) pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
+ neighbors.$(OBJEXT) pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) redirect.$(OBJEXT) \
- refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) \
- ResolvedPeers.$(OBJEXT) send-announce.$(OBJEXT) \
- SBufStatsAction.$(OBJEXT) $(am__objects_10) \
- SquidMath.$(OBJEXT) SquidNew.$(OBJEXT) stat.$(OBJEXT) \
- StatCounters.$(OBJEXT) StatHist.$(OBJEXT) String.$(OBJEXT) \
- StrList.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
- StoreFileSystem.$(OBJEXT) store_io.$(OBJEXT) \
- StoreIOState.$(OBJEXT) store_client.$(OBJEXT) \
- store_digest.$(OBJEXT) store_key_md5.$(OBJEXT) \
- store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \
- store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
- store_swapout.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- $(am__objects_11) StoreStats.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) Transients.$(OBJEXT) \
- MemStore.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
- tunnel.$(OBJEXT) $(am__objects_12) urn.$(OBJEXT) \
+ redirect.$(OBJEXT) refresh.$(OBJEXT) send-announce.$(OBJEXT) \
+ stat.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
+ store_client.$(OBJEXT) store_digest.$(OBJEXT) \
+ store_io.$(OBJEXT) store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
+ store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
+ store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
+ time.$(OBJEXT) tools.$(OBJEXT) tunnel.$(OBJEXT) urn.$(OBJEXT) \
wccp.$(OBJEXT) wccp2.$(OBJEXT) whois.$(OBJEXT) \
- wordlist.$(OBJEXT) XactionInitiator.$(OBJEXT) \
- $(am__objects_13) $(am__objects_14) $(am__objects_16)
-am__EXTRA_squid_SOURCES_DIST = ConfigOption.h BandwidthBucket.cc \
- BandwidthBucket.h CommonPool.h CompositePoolNode.h \
- delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
- DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
- DelayPool.cc DelayPool.h DelayPools.h DelaySpec.cc DelaySpec.h \
- DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
- DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
+ wordlist.$(OBJEXT) $(am__objects_16)
+am__EXTRA_squid_SOURCES_DIST = BandwidthBucket.cc BandwidthBucket.h \
+ CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
+ DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
+ DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
+ DelayPools.h DelaySpec.cc DelaySpec.h DelayTagged.cc \
+ DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
+ DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h htcp.cc htcp.h ipc.cc \
- ipc_win32.cc ProfStats.cc LeakFinder.cc LeakFinder.h \
+ ClientDelayConfig.cc ClientDelayConfig.h LoadableModule.cc \
+ LoadableModule.h LoadableModules.cc LoadableModules.h \
SnmpRequest.h snmp_core.h snmp_core.cc snmp_agent.h \
snmp_agent.cc unlinkd.h unlinkd.cc win32.h win32.cc WinSvc.h \
- WinSvc.cc LoadableModule.h LoadableModule.cc LoadableModules.h \
- LoadableModules.cc
-am__objects_17 = err_type.$(OBJEXT) err_detail_type.$(OBJEXT) \
- globals.$(OBJEXT) hier_code.$(OBJEXT) icp_opcode.$(OBJEXT) \
- lookup_t.$(OBJEXT) repl_modules.$(OBJEXT) \
+ WinSvc.cc ConfigOption.h LeakFinder.cc LeakFinder.h \
+ ProfStats.cc htcp.cc htcp.h ipc.cc ipc_win32.cc
+am__objects_17 = globals.$(OBJEXT) hier_code.$(OBJEXT) \
+ icp_opcode.$(OBJEXT) lookup_t.$(OBJEXT) repl_modules.$(OBJEXT) \
swap_log_op.$(OBJEXT)
nodist_squid_OBJECTS = $(am__objects_17)
squid_OBJECTS = $(am_squid_OBJECTS) $(nodist_squid_OBJECTS)
@@ -443,15 +441,15 @@
helper/libhelper.la http/libhttp.la dns/libdns.la \
base/libbase.la libsquid.la ip/libip.la fs/libfs.la \
DiskIO/libdiskio.la comm/libcomm.la anyp/libanyp.la \
- security/libsecurity.la $(SSL_LIBS) ipc/libipc.la \
- mgr/libmgr.la proxyp/libproxyp.la parser/libparser.la \
- eui/libeui.la icmp/libicmp.la log/liblog.la \
- format/libformat.la sbuf/libsbuf.la $(am__DEPENDENCIES_1) \
+ security/libsecurity.la $(SSL_LIBS) error/liberror.la \
+ ipc/libipc.la mgr/libmgr.la proxyp/libproxyp.la \
+ parser/libparser.la eui/libeui.la icmp/libicmp.la \
+ log/liblog.la format/libformat.la sbuf/libsbuf.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \
- $(am__DEPENDENCIES_5) mem/libmem.la store/libstore.la \
- $(top_builddir)/lib/libmisccontainers.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_5) mem/libmem.la \
+ store/libstore.la $(top_builddir)/lib/libmisccontainers.la \
$(top_builddir)/lib/libmiscencoding.la \
$(top_builddir)/lib/libmiscutil.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -467,25 +465,25 @@
@ENABLE_AUTH_TRUE@am_tests_testACLMaxUserIP_OBJECTS = \
@ENABLE_AUTH_TRUE@ tests/testACLMaxUserIP.$(OBJEXT)
@ENABLE_AUTH_TRUE@nodist_tests_testACLMaxUserIP_OBJECTS = \
-@ENABLE_AUTH_TRUE@ ConfigParser.$(OBJEXT) dlink.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ globals.$(OBJEXT) Parsing.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ ConfigParser.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_HelperChildConfig.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_HttpHeader.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_MemBuf.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ Parsing.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_StatHist.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ String.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_access_log.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_cache_cf.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_cbdata.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_client_side.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_debug.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_debug.$(OBJEXT) dlink.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_errorpage.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_fatal.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_HelperChildConfig.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_HttpHeader.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
+@ENABLE_AUTH_TRUE@ tests/stub_fatal.$(OBJEXT) globals.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_libauth.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_libhttp.$(OBJEXT) \
@ENABLE_AUTH_TRUE@ tests/stub_libmem.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_libsecurity.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_MemBuf.$(OBJEXT) \
-@ENABLE_AUTH_TRUE@ tests/stub_StatHist.$(OBJEXT)
+@ENABLE_AUTH_TRUE@ tests/stub_libsecurity.$(OBJEXT)
tests_testACLMaxUserIP_OBJECTS = $(am_tests_testACLMaxUserIP_OBJECTS) \
$(nodist_tests_testACLMaxUserIP_OBJECTS)
@ENABLE_AUTH_TRUE@tests_testACLMaxUserIP_DEPENDENCIES = \
@@ -510,20 +508,7 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testBoilerplate_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testCacheManager_SOURCES_DIST = AccessLogEntry.cc debug.cc \
- RequestFlags.h RequestFlags.cc HttpRequest.cc String.cc \
- tests/testCacheManager.cc tests/testCacheManager.h \
- tests/stub_main_cc.cc tests/stub_HttpControlMsg.cc \
- tests/stub_ipc_Forwarder.cc tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc time.cc BodyPipe.cc cache_manager.cc \
- cache_cf.h AuthReg.h RefreshPattern.h CachePeer.cc CachePeer.h \
- CacheDigest.h tests/stub_CacheDigest.cc carp.h \
- tests/stub_carp.cc cbdata.cc tests/stub_client_db.cc \
- client_side.h client_side.cc client_side_reply.cc \
- client_side_request.cc ClientInfo.h clientStream.cc \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
- CpuAffinitySet.cc CpuAffinitySet.h BandwidthBucket.cc \
+am__tests_testCacheManager_SOURCES_DIST = BandwidthBucket.cc \
BandwidthBucket.h CommonPool.h CompositePoolNode.h \
delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
@@ -531,106 +516,119 @@
DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc errorpage.cc \
- tests/stub_ETag.cc event.cc external_acl.cc \
- ExternalACLEntry.cc fatal.h tests/stub_fatal.cc fd.h fd.cc \
- fde.cc FileMap.h filemap.cc fqdncache.h fqdncache.cc \
- FwdState.cc FwdState.h gopher.h tests/stub_gopher.cc \
- HappyConnOpener.cc HappyConnOpener.h hier_code.h helper.cc \
- htcp.cc htcp.h http.cc HttpBody.h HttpBody.cc HttpHeader.h \
- HttpHeader.cc HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpHeaderFieldStat.h HttpHdrCc.h \
- HttpHdrCc.cc HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpReply.cc icp_v2.cc icp_v3.cc SquidIpc.h \
- ipc.cc ipc_win32.cc ipcache.cc int.h int.cc internal.h \
- internal.cc LogTags.cc tests/stub_libsecurity.cc \
- MasterXaction.cc MasterXaction.h multicast.h multicast.cc \
- mem_node.cc MemBuf.cc MemObject.cc mime.h mime.cc \
- mime_header.h mime_header.cc neighbors.h neighbors.cc Notes.cc \
- Notes.h Parsing.cc pconn.cc peer_digest.cc \
- peer_proxy_negotiate_auth.h peer_proxy_negotiate_auth.cc \
- peer_select.cc peer_sourcehash.h peer_sourcehash.cc \
- peer_userhash.h peer_userhash.cc PeerPoolMgr.h PeerPoolMgr.cc \
- Pipeline.cc Pipeline.h redirect.h tests/stub_redirect.cc \
- refresh.h refresh.cc RemovalPolicy.cc ResolvedPeers.h \
- ResolvedPeers.cc tests/stub_SBufDetailedStats.cc SnmpRequest.h \
- snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc \
- SquidMath.h SquidMath.cc IoStats.h stat.h stat.cc \
- StatCounters.h StatCounters.cc StatHist.h StrList.h StrList.cc \
- tests/stub_libauth_acls.cc tests/stub_libauth.cc \
- tests/stub_libdiskio.cc tests/stub_StatHist.cc stmem.cc \
- repl_modules.h store.cc store_client.cc store_digest.h \
- tests/stub_store_digest.cc store_io.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc tools.h tools.cc Transients.cc \
- tests/stub_cache_cf.cc tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_tunnel.cc tests/stub_libstore.cc MemStore.cc \
- unlinkd.h unlinkd.cc urn.h urn.cc wccp2.h tests/stub_wccp2.cc \
- whois.h tests/stub_whois.cc FadingCounter.cc win32.cc \
- wordlist.h wordlist.cc
-am_tests_testCacheManager_OBJECTS = AccessLogEntry.$(OBJEXT) \
- debug.$(OBJEXT) RequestFlags.$(OBJEXT) HttpRequest.$(OBJEXT) \
- String.$(OBJEXT) tests/testCacheManager.$(OBJEXT) \
- tests/stub_main_cc.$(OBJEXT) \
- tests/stub_HttpControlMsg.$(OBJEXT) \
- tests/stub_ipc_Forwarder.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) \
- tests/stub_EventLoop.$(OBJEXT) time.$(OBJEXT) \
- BodyPipe.$(OBJEXT) cache_manager.$(OBJEXT) CachePeer.$(OBJEXT) \
- tests/stub_CacheDigest.$(OBJEXT) tests/stub_carp.$(OBJEXT) \
- cbdata.$(OBJEXT) tests/stub_client_db.$(OBJEXT) \
- client_side.$(OBJEXT) client_side_reply.$(OBJEXT) \
- client_side_request.$(OBJEXT) clientStream.$(OBJEXT) \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc SnmpRequest.h \
+ snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc unlinkd.h \
+ unlinkd.cc win32.cc AccessLogEntry.cc AuthReg.h BodyPipe.cc \
+ tests/stub_CacheDigest.cc CacheDigest.h \
+ tests/testCacheManager.cc tests/testCacheManager.h \
+ CachePeer.cc CachePeer.h ClientInfo.h \
+ tests/stub_CollapsedForwarding.cc ConfigOption.cc \
+ ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
+ CpuAffinitySet.cc CpuAffinitySet.h tests/stub_ETag.cc \
+ tests/stub_EventLoop.cc ExternalACLEntry.cc FadingCounter.cc \
+ FileMap.h FwdState.cc FwdState.h HappyConnOpener.cc \
+ HappyConnOpener.h HttpBody.cc HttpBody.h \
+ tests/stub_HttpControlMsg.cc HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc IoStats.h LogTags.cc \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemStore.cc Notes.cc Notes.h Parsing.cc PeerPoolMgr.cc \
+ PeerPoolMgr.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RequestFlags.cc RequestFlags.h \
+ ResolvedPeers.cc ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc SquidMath.cc SquidMath.h \
+ StatCounters.cc StatCounters.h tests/stub_StatHist.cc \
+ StatHist.h StoreFileSystem.cc StoreIOState.cc \
+ tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc StrList.cc StrList.h String.cc \
+ Transients.cc tests/stub_cache_cf.cc cache_cf.h \
+ cache_manager.cc tests/stub_carp.cc carp.h cbdata.cc \
+ clientStream.cc tests/stub_client_db.cc client_side.cc \
+ client_side.h client_side_reply.cc client_side_request.cc \
+ debug.cc dlink.cc dlink.h errorpage.cc event.cc \
+ external_acl.cc tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc \
+ filemap.cc fqdncache.cc fqdncache.h fs_io.cc fs_io.h \
+ tests/stub_gopher.cc gopher.h helper.cc hier_code.h http.cc \
+ icp_v2.cc icp_v3.cc int.cc int.h internal.cc internal.h \
+ tests/stub_ipc_Forwarder.cc ipcache.cc tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc tests/stub_main_cc.cc mem_node.cc \
+ mime.cc mime.h mime_header.cc mime_header.h multicast.cc \
+ multicast.h neighbors.cc neighbors.h pconn.cc peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h tests/stub_redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h stat.cc stat.h \
+ stmem.cc store.cc store_client.cc tests/stub_store_digest.cc \
+ store_digest.h store_io.cc store_key_md5.cc store_key_md5.h \
+ store_log.cc store_log.h store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc time.cc tools.cc tools.h \
+ tests/stub_tunnel.cc urn.cc urn.h tests/stub_wccp2.cc wccp2.h \
+ tests/stub_whois.cc whois.h wordlist.cc wordlist.h
+am_tests_testCacheManager_OBJECTS = $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_9) \
+ $(am__objects_11) $(am__objects_12) AccessLogEntry.$(OBJEXT) \
+ BodyPipe.$(OBJEXT) tests/stub_CacheDigest.$(OBJEXT) \
+ tests/testCacheManager.$(OBJEXT) CachePeer.$(OBJEXT) \
tests/stub_CollapsedForwarding.$(OBJEXT) \
ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- $(am__objects_3) fs_io.$(OBJEXT) dlink.$(OBJEXT) \
- $(am__objects_4) errorpage.$(OBJEXT) tests/stub_ETag.$(OBJEXT) \
- event.$(OBJEXT) external_acl.$(OBJEXT) \
- ExternalACLEntry.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
- fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
- fqdncache.$(OBJEXT) FwdState.$(OBJEXT) \
- tests/stub_gopher.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
- helper.$(OBJEXT) $(am__objects_5) http.$(OBJEXT) \
- HttpBody.$(OBJEXT) HttpHeader.$(OBJEXT) \
- HttpHeaderTools.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
- HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
- HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
- HttpReply.$(OBJEXT) icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) \
- $(am__objects_6) ipcache.$(OBJEXT) int.$(OBJEXT) \
- internal.$(OBJEXT) LogTags.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) MasterXaction.$(OBJEXT) \
- multicast.$(OBJEXT) mem_node.$(OBJEXT) MemBuf.$(OBJEXT) \
- MemObject.$(OBJEXT) mime.$(OBJEXT) mime_header.$(OBJEXT) \
- neighbors.$(OBJEXT) Notes.$(OBJEXT) Parsing.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) tests/stub_EventLoop.$(OBJEXT) \
+ ExternalACLEntry.$(OBJEXT) FadingCounter.$(OBJEXT) \
+ FwdState.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
+ HttpBody.$(OBJEXT) tests/stub_HttpControlMsg.$(OBJEXT) \
+ HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
+ HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+ HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
+ HttpHeaderTools.$(OBJEXT) HttpReply.$(OBJEXT) \
+ HttpRequest.$(OBJEXT) \
+ tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
+ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
+ MemObject.$(OBJEXT) MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+ Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ ResolvedPeers.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
+ SquidMath.$(OBJEXT) StatCounters.$(OBJEXT) \
+ tests/stub_StatHist.$(OBJEXT) StoreFileSystem.$(OBJEXT) \
+ StoreIOState.$(OBJEXT) tests/stub_StoreMeta.$(OBJEXT) \
+ StoreMetaUnpacker.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \
+ StrList.$(OBJEXT) String.$(OBJEXT) Transients.$(OBJEXT) \
+ tests/stub_cache_cf.$(OBJEXT) cache_manager.$(OBJEXT) \
+ tests/stub_carp.$(OBJEXT) cbdata.$(OBJEXT) \
+ clientStream.$(OBJEXT) tests/stub_client_db.$(OBJEXT) \
+ client_side.$(OBJEXT) client_side_reply.$(OBJEXT) \
+ client_side_request.$(OBJEXT) debug.$(OBJEXT) dlink.$(OBJEXT) \
+ errorpage.$(OBJEXT) event.$(OBJEXT) external_acl.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
+ filemap.$(OBJEXT) fqdncache.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_gopher.$(OBJEXT) helper.$(OBJEXT) http.$(OBJEXT) \
+ icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) int.$(OBJEXT) \
+ internal.$(OBJEXT) tests/stub_ipc_Forwarder.$(OBJEXT) \
+ ipcache.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libauth_acls.$(OBJEXT) \
+ tests/stub_libdiskio.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libsecurity.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
+ tests/stub_main_cc.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
+ mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
- tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) $(am__objects_10) \
- SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \
- StrList.$(OBJEXT) tests/stub_libauth_acls.$(OBJEXT) \
- tests/stub_libauth.$(OBJEXT) tests/stub_libdiskio.$(OBJEXT) \
- tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
- store_client.$(OBJEXT) tests/stub_store_digest.$(OBJEXT) \
- store_io.$(OBJEXT) store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
- store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
- StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
- tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) tools.$(OBJEXT) \
- Transients.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
- tests/stub_tunnel.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
- MemStore.$(OBJEXT) $(am__objects_12) urn.$(OBJEXT) \
+ tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) stat.$(OBJEXT) \
+ stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \
+ tests/stub_store_digest.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
+ store_rebuild.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
+ tests/stub_tunnel.$(OBJEXT) urn.$(OBJEXT) \
tests/stub_wccp2.$(OBJEXT) tests/stub_whois.$(OBJEXT) \
- FadingCounter.$(OBJEXT) $(am__objects_13) wordlist.$(OBJEXT)
+ wordlist.$(OBJEXT)
nodist_tests_testCacheManager_OBJECTS = $(am__objects_17)
tests_testCacheManager_OBJECTS = $(am_tests_testCacheManager_OBJECTS) \
$(nodist_tests_testCacheManager_OBJECTS)
@@ -650,7 +648,8 @@
$(top_builddir)/lib/libmiscutil.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_1)
tests_testCacheManager_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testCacheManager_LDFLAGS) \
@@ -666,14 +665,14 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testCharacterSet_LDFLAGS) \
$(LDFLAGS) -o $@
-am_tests_testConfigParser_OBJECTS = tests/stub_MemBuf.$(OBJEXT) \
- tests/stub_time.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) String.$(OBJEXT) \
- ConfigParser.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
- tests/testConfigParser.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_cbdata.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) \
+am_tests_testConfigParser_OBJECTS = ConfigParser.$(OBJEXT) \
+ tests/testConfigParser.$(OBJEXT) \
tests/stub_HelperChildConfig.$(OBJEXT) \
+ tests/stub_MemBuf.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.$(OBJEXT) String.$(OBJEXT) \
+ tests/stub_cache_cf.$(OBJEXT) tests/stub_cbdata.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
+ tests/stub_libmem.$(OBJEXT) tests/stub_time.$(OBJEXT) \
tests/stub_tools.$(OBJEXT) wordlist.$(OBJEXT)
nodist_tests_testConfigParser_OBJECTS = $(am__objects_18)
tests_testConfigParser_OBJECTS = $(am_tests_testConfigParser_OBJECTS) \
@@ -687,108 +686,107 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testConfigParser_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testDiskIO_SOURCES_DIST = AccessLogEntry.cc AccessLogEntry.h \
- CacheDigest.h tests/stub_CacheDigest.cc cbdata.cc client_db.h \
- ClientInfo.h tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc BandwidthBucket.cc BandwidthBucket.h \
- CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
- DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
- DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
- DelayPools.h DelaySpec.cc DelaySpec.h DelayTagged.cc \
- DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
- DelayVector.h MessageBucket.cc MessageBucket.h \
+am__tests_testDiskIO_SOURCES_DIST = BandwidthBucket.cc \
+ BandwidthBucket.h CommonPool.h CompositePoolNode.h \
+ delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
+ DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
+ DelayPool.cc DelayPool.h DelayPools.h DelaySpec.cc DelaySpec.h \
+ DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
+ DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h FadingCounter.cc \
- fs_io.h fs_io.cc tests/stub_ETag.cc EventLoop.cc event.cc \
- fatal.h tests/stub_fatal.cc fd.h fd.cc fde.h fde.cc FileMap.h \
- filemap.cc HttpBody.h HttpBody.cc HttpHeaderFieldStat.h \
- HttpHdrCc.h HttpHdrCc.cc HttpHdrContRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpHdrRange.cc HttpHeaderFieldInfo.h \
- HttpHeaderTools.h HttpHeaderTools.cc HttpHeader.h \
- HttpHeader.cc HttpReply.cc int.h int.cc LogTags.cc \
- MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
- mem_node.cc Notes.h Notes.cc Parsing.cc refresh.h refresh.cc \
- RemovalPolicy.cc RequestFlags.h RequestFlags.cc \
- ResolvedPeers.cc ResolvedPeers.h tests/stub_libsecurity.cc \
- StatCounters.h StatCounters.cc StatHist.h \
- tests/stub_StatHist.cc stmem.cc \
- tests/stub_SBufDetailedStats.cc StoreFileSystem.cc \
+ ClientDelayConfig.cc ClientDelayConfig.h unlinkd.h unlinkd.cc \
+ win32.cc AccessLogEntry.cc AccessLogEntry.h \
+ tests/stub_CacheDigest.cc CacheDigest.h ClientInfo.h \
+ tests/stub_CollapsedForwarding.cc ConfigOption.cc \
+ ConfigParser.cc tests/testDiskIO.cc tests/testDiskIO.h \
+ tests/stub_ETag.cc EventLoop.cc FadingCounter.cc FileMap.h \
+ tests/stub_HelperChildConfig.cc HttpBody.cc HttpBody.h \
+ HttpHdrCc.cc HttpHdrCc.h HttpHdrContRange.cc HttpHdrRange.cc \
+ HttpHdrSc.cc HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc tests/stub_HttpRequest.cc \
+ LogTags.cc MasterXaction.cc MasterXaction.h MemBuf.cc \
+ MemObject.cc tests/stub_MemStore.cc Notes.cc Notes.h \
+ Parsing.cc tests/stub_Port.cc RemovalPolicy.cc RequestFlags.cc \
+ RequestFlags.h ResolvedPeers.cc ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc StatCounters.cc StatCounters.h \
+ tests/stub_StatHist.cc StatHist.h StoreFileSystem.cc \
StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc store_io.cc store_key_md5.h \
- store_key_md5.cc store_swapout.cc store_swapmeta.cc \
- repl_modules.h store.cc String.cc StrList.h StrList.cc \
- tests/stub_libstore.cc Transients.cc log/access_log.h \
- tests/stub_access_log.cc tests/stub_acl.cc cache_cf.h \
- tests/stub_cache_cf.cc tests/stub_cache_manager.cc \
- tests/stub_client_db.cc client_side_request.h \
- tests/stub_client_side_request.cc tests/stub_debug.cc \
- tests/stub_errorpage.cc tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc tests/stub_HttpRequest.cc \
- tests/stub_http.cc tests/stub_icp.cc internal.h \
- tests/stub_internal.cc tests/stub_ipc.cc tests/stub_ipcache.cc \
- tests/stub_libauth_acls.cc tests/stub_libauth.cc \
- tests/stub_libeui.cc tests/stub_libformat.cc \
- tests/stub_libicmp.cc tests/stub_liblog.cc \
- tests/stub_MemStore.cc mime.h tests/stub_mime.cc \
- tests/stub_neighbors.cc tests/stub_pconn.cc tests/stub_Port.cc \
- tests/stub_stat.cc tests/stub_store_client.cc \
- tests/stub_store_stats.cc store_rebuild.h \
- tests/stub_store_rebuild.cc tests/stub_UdsOp.cc \
- tests/testDiskIO.cc tests/testDiskIO.h \
tests/testStoreSupport.cc tests/testStoreSupport.h \
- tests/stub_time.cc unlinkd.h unlinkd.cc tests/stub_libanyp.cc \
- win32.cc wordlist.h wordlist.cc tools.h tests/stub_tools.cc
-am_tests_testDiskIO_OBJECTS = AccessLogEntry.$(OBJEXT) \
- tests/stub_CacheDigest.$(OBJEXT) cbdata.$(OBJEXT) \
+ StoreSwapLogData.cc StrList.cc StrList.h String.cc \
+ Transients.cc tests/stub_UdsOp.cc tests/stub_access_log.cc \
+ tests/stub_acl.cc tests/stub_cache_cf.cc cache_cf.h \
+ tests/stub_cache_manager.cc cbdata.cc tests/stub_client_db.cc \
+ client_db.h tests/stub_client_side_request.cc \
+ client_side_request.h tests/stub_debug.cc \
+ tests/stub_errorpage.cc event.cc tests/stub_fatal.cc fatal.h \
+ fd.cc fd.h fde.cc fde.h filemap.cc fs_io.cc fs_io.h \
+ tests/stub_helper.cc tests/stub_http.cc tests/stub_icp.cc \
+ int.cc int.h tests/stub_internal.cc internal.h \
+ tests/stub_ipc.cc tests/stub_ipcache.cc tests/stub_libanyp.cc \
+ tests/stub_libauth.cc tests/stub_libauth_acls.cc \
+ tests/stub_liberror.cc tests/stub_libeui.cc \
+ tests/stub_libformat.cc tests/stub_libicmp.cc \
+ tests/stub_liblog.cc tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc log/access_log.h mem_node.cc \
+ tests/stub_mime.cc mime.h tests/stub_neighbors.cc \
+ tests/stub_pconn.cc refresh.cc refresh.h repl_modules.h \
+ tests/stub_stat.cc stmem.cc store.cc \
+ tests/stub_store_client.cc store_io.cc store_key_md5.cc \
+ store_key_md5.h tests/stub_store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapmeta.cc store_swapout.cc \
+ tests/stub_time.cc tests/stub_tools.cc tools.h wordlist.cc \
+ wordlist.h
+am_tests_testDiskIO_OBJECTS = $(am__objects_3) $(am__objects_11) \
+ $(am__objects_12) AccessLogEntry.$(OBJEXT) \
+ tests/stub_CacheDigest.$(OBJEXT) \
tests/stub_CollapsedForwarding.$(OBJEXT) \
- ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) $(am__objects_3) \
- FadingCounter.$(OBJEXT) fs_io.$(OBJEXT) \
- tests/stub_ETag.$(OBJEXT) EventLoop.$(OBJEXT) event.$(OBJEXT) \
- tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
- filemap.$(OBJEXT) HttpBody.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
- HttpHdrContRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
- HttpHeaderTools.$(OBJEXT) HttpHeader.$(OBJEXT) \
- HttpReply.$(OBJEXT) int.$(OBJEXT) LogTags.$(OBJEXT) \
+ ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
+ tests/testDiskIO.$(OBJEXT) tests/stub_ETag.$(OBJEXT) \
+ EventLoop.$(OBJEXT) FadingCounter.$(OBJEXT) \
+ tests/stub_HelperChildConfig.$(OBJEXT) HttpBody.$(OBJEXT) \
+ HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
+ HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+ HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
+ HttpHeaderTools.$(OBJEXT) HttpReply.$(OBJEXT) \
+ tests/stub_HttpRequest.$(OBJEXT) LogTags.$(OBJEXT) \
MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
- mem_node.$(OBJEXT) Notes.$(OBJEXT) Parsing.$(OBJEXT) \
- refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) \
- RequestFlags.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) StatCounters.$(OBJEXT) \
- tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) \
+ tests/stub_MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+ Parsing.$(OBJEXT) tests/stub_Port.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ ResolvedPeers.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
+ StatCounters.$(OBJEXT) tests/stub_StatHist.$(OBJEXT) \
StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) store_io.$(OBJEXT) \
- store_key_md5.$(OBJEXT) store_swapout.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store.$(OBJEXT) String.$(OBJEXT) \
- StrList.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
- Transients.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
+ tests/testStoreSupport.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \
+ StrList.$(OBJEXT) String.$(OBJEXT) Transients.$(OBJEXT) \
+ tests/stub_UdsOp.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
tests/stub_acl.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_cache_manager.$(OBJEXT) \
+ tests/stub_cache_manager.$(OBJEXT) cbdata.$(OBJEXT) \
tests/stub_client_db.$(OBJEXT) \
tests/stub_client_side_request.$(OBJEXT) \
tests/stub_debug.$(OBJEXT) tests/stub_errorpage.$(OBJEXT) \
- tests/stub_helper.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) \
- tests/stub_HttpRequest.$(OBJEXT) tests/stub_http.$(OBJEXT) \
- tests/stub_icp.$(OBJEXT) tests/stub_internal.$(OBJEXT) \
- tests/stub_ipc.$(OBJEXT) tests/stub_ipcache.$(OBJEXT) \
- tests/stub_libauth_acls.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_libeui.$(OBJEXT) tests/stub_libformat.$(OBJEXT) \
- tests/stub_libicmp.$(OBJEXT) tests/stub_liblog.$(OBJEXT) \
- tests/stub_MemStore.$(OBJEXT) tests/stub_mime.$(OBJEXT) \
- tests/stub_neighbors.$(OBJEXT) tests/stub_pconn.$(OBJEXT) \
- tests/stub_Port.$(OBJEXT) tests/stub_stat.$(OBJEXT) \
- tests/stub_store_client.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) \
- tests/stub_store_rebuild.$(OBJEXT) tests/stub_UdsOp.$(OBJEXT) \
- tests/testDiskIO.$(OBJEXT) tests/testStoreSupport.$(OBJEXT) \
- tests/stub_time.$(OBJEXT) $(am__objects_12) \
- tests/stub_libanyp.$(OBJEXT) $(am__objects_13) \
- wordlist.$(OBJEXT) tests/stub_tools.$(OBJEXT)
+ event.$(OBJEXT) tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) \
+ fde.$(OBJEXT) filemap.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_helper.$(OBJEXT) tests/stub_http.$(OBJEXT) \
+ tests/stub_icp.$(OBJEXT) int.$(OBJEXT) \
+ tests/stub_internal.$(OBJEXT) tests/stub_ipc.$(OBJEXT) \
+ tests/stub_ipcache.$(OBJEXT) tests/stub_libanyp.$(OBJEXT) \
+ tests/stub_libauth.$(OBJEXT) tests/stub_libauth_acls.$(OBJEXT) \
+ tests/stub_liberror.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
+ tests/stub_libformat.$(OBJEXT) tests/stub_libicmp.$(OBJEXT) \
+ tests/stub_liblog.$(OBJEXT) tests/stub_libsecurity.$(OBJEXT) \
+ tests/stub_libstore.$(OBJEXT) mem_node.$(OBJEXT) \
+ tests/stub_mime.$(OBJEXT) tests/stub_neighbors.$(OBJEXT) \
+ tests/stub_pconn.$(OBJEXT) refresh.$(OBJEXT) \
+ tests/stub_stat.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
+ tests/stub_store_client.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) tests/stub_store_rebuild.$(OBJEXT) \
+ tests/stub_store_stats.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) tests/stub_time.$(OBJEXT) \
+ tests/stub_tools.$(OBJEXT) wordlist.$(OBJEXT)
nodist_tests_testDiskIO_OBJECTS = $(am__objects_18) \
- hier_code.$(OBJEXT) SquidMath.$(OBJEXT) swap_log_op.$(OBJEXT)
+ SquidMath.$(OBJEXT) hier_code.$(OBJEXT) swap_log_op.$(OBJEXT)
tests_testDiskIO_OBJECTS = $(am_tests_testDiskIO_OBJECTS) \
$(nodist_tests_testDiskIO_OBJECTS)
tests_testDiskIO_DEPENDENCIES = libsquid.la http/libhttp.la \
@@ -829,15 +827,7 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testEnumIterator_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testEvent_SOURCES_DIST = AccessLogEntry.cc BodyPipe.cc \
- CacheDigest.h tests/stub_CacheDigest.cc cache_cf.h AuthReg.h \
- RefreshPattern.h CachePeer.cc CachePeer.h cache_manager.cc \
- carp.h tests/stub_carp.cc cbdata.cc tests/stub_client_db.cc \
- client_side.h client_side.cc client_side_reply.cc \
- client_side_request.cc ClientInfo.h clientStream.cc \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
- CpuAffinitySet.cc CpuAffinitySet.h debug.cc BandwidthBucket.cc \
+am__tests_testEvent_SOURCES_DIST = BandwidthBucket.cc \
BandwidthBucket.h CommonPool.h CompositePoolNode.h \
delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
@@ -845,113 +835,118 @@
DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc errorpage.cc \
- tests/stub_ETag.cc event.cc EventLoop.h EventLoop.cc \
- external_acl.cc ExternalACLEntry.cc FadingCounter.cc fatal.h \
- tests/stub_fatal.cc fd.h fd.cc fde.cc FileMap.h filemap.cc \
- fqdncache.h fqdncache.cc FwdState.cc FwdState.h gopher.h \
- tests/stub_gopher.cc HappyConnOpener.cc HappyConnOpener.h \
- helper.cc hier_code.h htcp.cc htcp.h http.cc HttpBody.h \
- HttpBody.cc tests/stub_HttpControlMsg.cc HttpHeader.h \
- HttpHeader.cc HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpHeaderFieldStat.h HttpHdrCc.h \
- HttpHdrCc.cc HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpReply.cc PeerPoolMgr.h PeerPoolMgr.cc \
- RequestFlags.h RequestFlags.cc HttpRequest.cc icp_v2.cc \
- icp_v3.cc SquidIpc.h ipc.cc ipc_win32.cc ipcache.cc int.h \
- int.cc internal.h internal.cc LogTags.cc \
- tests/stub_libsecurity.cc MasterXaction.cc MasterXaction.h \
- tests/stub_libmem.cc mem_node.cc MemBuf.cc MemObject.cc mime.h \
- mime.cc mime_header.h mime_header.cc multicast.h multicast.cc \
- neighbors.h neighbors.cc Notes.cc Notes.h Parsing.cc pconn.cc \
- peer_digest.cc peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.h \
- peer_sourcehash.cc peer_userhash.h peer_userhash.cc \
- Pipeline.cc Pipeline.h redirect.h tests/stub_redirect.cc \
- refresh.h refresh.cc RemovalPolicy.cc ResolvedPeers.h \
- ResolvedPeers.cc StrList.h StrList.cc \
- tests/stub_SBufDetailedStats.cc SnmpRequest.h snmp_core.h \
- snmp_core.cc snmp_agent.h snmp_agent.cc SquidMath.cc \
- SquidMath.h IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc stmem.cc repl_modules.h \
- store.cc store_client.cc store_digest.h \
- tests/stub_store_digest.cc store_io.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc String.cc tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc tests/stub_libstore.cc \
- tests/CapturingStoreEntry.h tests/testEvent.cc \
- tests/testEvent.h tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc tests/stub_libdiskio.cc \
- tests/stub_libeui.cc tests/stub_store_stats.cc time.cc tools.h \
- tools.cc Transients.cc tests/stub_tunnel.cc MemStore.cc \
- unlinkd.h unlinkd.cc urn.h urn.cc wccp2.h tests/stub_wccp2.cc \
- whois.h tests/stub_whois.cc win32.cc wordlist.h wordlist.cc
-am_tests_testEvent_OBJECTS = AccessLogEntry.$(OBJEXT) \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc SnmpRequest.h \
+ snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc unlinkd.h \
+ unlinkd.cc win32.cc AccessLogEntry.cc AuthReg.h BodyPipe.cc \
+ tests/stub_CacheDigest.cc CacheDigest.h CachePeer.cc \
+ CachePeer.h ClientInfo.h tests/stub_CollapsedForwarding.cc \
+ ConfigOption.cc ConfigParser.cc CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h \
+ tests/stub_ETag.cc tests/testEvent.cc tests/testEvent.h \
+ EventLoop.cc EventLoop.h ExternalACLEntry.cc FadingCounter.cc \
+ FileMap.h FwdState.cc FwdState.h HappyConnOpener.cc \
+ HappyConnOpener.h HttpBody.cc HttpBody.h \
+ tests/stub_HttpControlMsg.cc HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc IoStats.h LogTags.cc \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemStore.cc Notes.cc Notes.h Parsing.cc PeerPoolMgr.cc \
+ PeerPoolMgr.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RequestFlags.cc RequestFlags.h \
+ ResolvedPeers.cc ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc SquidMath.cc SquidMath.h \
+ StatCounters.cc StatCounters.h StatHist.cc StatHist.h \
+ StoreFileSystem.cc StoreIOState.cc tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc StoreSwapLogData.cc StrList.cc StrList.h \
+ String.cc Transients.cc tests/stub_cache_cf.cc cache_cf.h \
+ cache_manager.cc tests/stub_carp.cc carp.h cbdata.cc \
+ clientStream.cc tests/stub_client_db.cc client_side.cc \
+ client_side.h client_side_reply.cc client_side_request.cc \
+ debug.cc dlink.cc dlink.h errorpage.cc event.cc \
+ external_acl.cc tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc \
+ filemap.cc fqdncache.cc fqdncache.h fs_io.cc fs_io.h \
+ tests/stub_gopher.cc gopher.h helper.cc hier_code.h http.cc \
+ icp_v2.cc icp_v3.cc int.cc int.h internal.cc internal.h \
+ tests/stub_ipc_Forwarder.cc ipcache.cc tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc tests/stub_libeui.cc \
+ tests/stub_libmem.cc tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc tests/stub_main_cc.cc mem_node.cc \
+ mime.cc mime.h mime_header.cc mime_header.h multicast.cc \
+ multicast.h neighbors.cc neighbors.h pconn.cc peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h tests/stub_redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h stat.cc stat.h \
+ stmem.cc store.cc store_client.cc tests/stub_store_digest.cc \
+ store_digest.h store_io.cc store_key_md5.cc store_key_md5.h \
+ store_log.cc store_log.h store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc tests/CapturingStoreEntry.h \
+ time.cc tools.cc tools.h tests/stub_tunnel.cc urn.cc urn.h \
+ tests/stub_wccp2.cc wccp2.h tests/stub_whois.cc whois.h \
+ wordlist.cc wordlist.h
+am_tests_testEvent_OBJECTS = $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_9) \
+ $(am__objects_11) $(am__objects_12) AccessLogEntry.$(OBJEXT) \
BodyPipe.$(OBJEXT) tests/stub_CacheDigest.$(OBJEXT) \
- CachePeer.$(OBJEXT) cache_manager.$(OBJEXT) \
- tests/stub_carp.$(OBJEXT) cbdata.$(OBJEXT) \
- tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
- client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
- clientStream.$(OBJEXT) \
- tests/stub_CollapsedForwarding.$(OBJEXT) \
+ CachePeer.$(OBJEXT) tests/stub_CollapsedForwarding.$(OBJEXT) \
ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- debug.$(OBJEXT) $(am__objects_3) fs_io.$(OBJEXT) \
- dlink.$(OBJEXT) $(am__objects_4) errorpage.$(OBJEXT) \
- tests/stub_ETag.$(OBJEXT) event.$(OBJEXT) EventLoop.$(OBJEXT) \
- external_acl.$(OBJEXT) ExternalACLEntry.$(OBJEXT) \
- FadingCounter.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
- fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
- fqdncache.$(OBJEXT) FwdState.$(OBJEXT) \
- tests/stub_gopher.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
- helper.$(OBJEXT) $(am__objects_5) http.$(OBJEXT) \
- HttpBody.$(OBJEXT) tests/stub_HttpControlMsg.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) tests/testEvent.$(OBJEXT) \
+ EventLoop.$(OBJEXT) ExternalACLEntry.$(OBJEXT) \
+ FadingCounter.$(OBJEXT) FwdState.$(OBJEXT) \
+ HappyConnOpener.$(OBJEXT) HttpBody.$(OBJEXT) \
+ tests/stub_HttpControlMsg.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+ HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
+ HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
- HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
- HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpReply.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) RequestFlags.$(OBJEXT) \
- HttpRequest.$(OBJEXT) icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) \
- $(am__objects_6) ipcache.$(OBJEXT) int.$(OBJEXT) \
- internal.$(OBJEXT) LogTags.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) MasterXaction.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) mem_node.$(OBJEXT) \
- MemBuf.$(OBJEXT) MemObject.$(OBJEXT) mime.$(OBJEXT) \
+ HttpReply.$(OBJEXT) HttpRequest.$(OBJEXT) \
+ tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
+ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
+ MemObject.$(OBJEXT) MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+ Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ ResolvedPeers.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
+ SquidMath.$(OBJEXT) StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
+ StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
+ tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
+ StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) String.$(OBJEXT) \
+ Transients.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
+ cache_manager.$(OBJEXT) tests/stub_carp.$(OBJEXT) \
+ cbdata.$(OBJEXT) clientStream.$(OBJEXT) \
+ tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
+ client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
+ debug.$(OBJEXT) dlink.$(OBJEXT) errorpage.$(OBJEXT) \
+ event.$(OBJEXT) external_acl.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
+ filemap.$(OBJEXT) fqdncache.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_gopher.$(OBJEXT) helper.$(OBJEXT) http.$(OBJEXT) \
+ icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) int.$(OBJEXT) \
+ internal.$(OBJEXT) tests/stub_ipc_Forwarder.$(OBJEXT) \
+ ipcache.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libauth_acls.$(OBJEXT) \
+ tests/stub_libdiskio.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libeui.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
+ tests/stub_libsecurity.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
+ tests/stub_main_cc.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
- Notes.$(OBJEXT) Parsing.$(OBJEXT) pconn.$(OBJEXT) \
- peer_digest.$(OBJEXT) peer_proxy_negotiate_auth.$(OBJEXT) \
- peer_select.$(OBJEXT) peer_sourcehash.$(OBJEXT) \
- peer_userhash.$(OBJEXT) Pipeline.$(OBJEXT) \
- tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- StrList.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
- $(am__objects_10) SquidMath.$(OBJEXT) stat.$(OBJEXT) \
- StatCounters.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \
- store.$(OBJEXT) store_client.$(OBJEXT) \
+ pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
+ peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
+ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
+ tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) stat.$(OBJEXT) \
+ stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \
tests/stub_store_digest.$(OBJEXT) store_io.$(OBJEXT) \
store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
- store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
- StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
- tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) \
- tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
- tests/stub_libstore.$(OBJEXT) tests/testEvent.$(OBJEXT) \
- tests/stub_main_cc.$(OBJEXT) \
- tests/stub_ipc_Forwarder.$(OBJEXT) \
- tests/stub_libauth_acls.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_libdiskio.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) time.$(OBJEXT) \
- tools.$(OBJEXT) Transients.$(OBJEXT) \
- tests/stub_tunnel.$(OBJEXT) MemStore.$(OBJEXT) \
- $(am__objects_12) urn.$(OBJEXT) tests/stub_wccp2.$(OBJEXT) \
- tests/stub_whois.$(OBJEXT) $(am__objects_13) \
+ store_rebuild.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
+ tests/stub_tunnel.$(OBJEXT) urn.$(OBJEXT) \
+ tests/stub_wccp2.$(OBJEXT) tests/stub_whois.$(OBJEXT) \
wordlist.$(OBJEXT)
nodist_tests_testEvent_OBJECTS = $(am__objects_17)
tests_testEvent_OBJECTS = $(am_tests_testEvent_OBJECTS) \
@@ -970,21 +965,13 @@
store/libstore.la sbuf/libsbuf.la $(am__DEPENDENCIES_5) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
tests_testEvent_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testEvent_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testEventLoop_SOURCES_DIST = AccessLogEntry.cc BodyPipe.cc \
- CacheDigest.h tests/stub_CacheDigest.cc cache_manager.cc \
- cache_cf.h AuthReg.h RefreshPattern.h CachePeer.cc CachePeer.h \
- carp.h tests/stub_carp.cc cbdata.cc tests/stub_client_db.cc \
- client_side.h client_side.cc client_side_reply.cc \
- client_side_request.cc ClientInfo.h clientStream.cc \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
- CpuAffinitySet.cc CpuAffinitySet.h debug.cc BandwidthBucket.cc \
+am__tests_testEventLoop_SOURCES_DIST = BandwidthBucket.cc \
BandwidthBucket.h CommonPool.h CompositePoolNode.h \
delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
@@ -992,112 +979,117 @@
DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc errorpage.cc \
- tests/stub_ETag.cc EventLoop.h EventLoop.cc event.cc \
- external_acl.cc ExternalACLEntry.cc FadingCounter.cc fatal.h \
- tests/stub_fatal.cc fd.h fd.cc fde.cc FileMap.h filemap.cc \
- fqdncache.h fqdncache.cc FwdState.cc FwdState.h gopher.h \
- tests/stub_gopher.cc HappyConnOpener.cc HappyConnOpener.h \
- helper.cc hier_code.h htcp.cc htcp.h http.cc HttpBody.h \
- HttpBody.cc tests/stub_HttpControlMsg.cc HttpHeader.h \
- HttpHeader.cc HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpHeaderFieldStat.h HttpHdrCc.h \
- HttpHdrCc.cc HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpReply.cc PeerPoolMgr.h PeerPoolMgr.cc \
- RequestFlags.h RequestFlags.cc HttpRequest.cc icp_v2.cc \
- icp_v3.cc SquidIpc.h ipc.cc ipc_win32.cc ipcache.cc int.h \
- int.cc internal.h internal.cc LogTags.cc MasterXaction.cc \
- MasterXaction.h MemBuf.cc MemObject.cc tests/stub_libmem.cc \
- mem_node.cc mime.h mime.cc mime_header.h mime_header.cc \
- multicast.h multicast.cc neighbors.h neighbors.cc Notes.cc \
- Notes.h Parsing.cc pconn.cc peer_digest.cc \
- peer_proxy_negotiate_auth.h peer_proxy_negotiate_auth.cc \
- peer_select.cc peer_sourcehash.h peer_sourcehash.cc \
- peer_userhash.h peer_userhash.cc Pipeline.cc Pipeline.h \
- RemovalPolicy.cc ResolvedPeers.cc ResolvedPeers.h redirect.h \
- tests/stub_redirect.cc refresh.h refresh.cc \
- tests/stub_SBufDetailedStats.cc SnmpRequest.h snmp_core.h \
- snmp_core.cc snmp_agent.h snmp_agent.cc SquidMath.h \
- SquidMath.cc IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc stmem.cc repl_modules.h \
- store.cc store_client.cc store_digest.h \
- tests/stub_store_digest.cc store_io.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc String.cc StrList.h StrList.cc \
- tests/stub_cache_cf.cc tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_libstore.cc tests/testEventLoop.cc \
- tests/testEventLoop.h tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc tests/stub_libdiskio.cc \
- tests/stub_libeui.cc tests/stub_libsecurity.cc \
- tests/stub_store_stats.cc time.cc tools.h tools.cc \
- Transients.cc tests/stub_tunnel.cc MemStore.cc unlinkd.h \
- unlinkd.cc urn.h urn.cc wccp2.h tests/stub_wccp2.cc whois.h \
- tests/stub_whois.cc win32.cc wordlist.h wordlist.cc
-am_tests_testEventLoop_OBJECTS = AccessLogEntry.$(OBJEXT) \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc SnmpRequest.h \
+ snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc unlinkd.h \
+ unlinkd.cc win32.cc AccessLogEntry.cc AuthReg.h BodyPipe.cc \
+ tests/stub_CacheDigest.cc CacheDigest.h CachePeer.cc \
+ CachePeer.h ClientInfo.h tests/stub_CollapsedForwarding.cc \
+ ConfigOption.cc ConfigParser.cc CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h \
+ tests/stub_ETag.cc EventLoop.cc tests/testEventLoop.cc \
+ EventLoop.h tests/testEventLoop.h ExternalACLEntry.cc \
+ FadingCounter.cc FileMap.h FwdState.cc FwdState.h \
+ HappyConnOpener.cc HappyConnOpener.h HttpBody.cc HttpBody.h \
+ tests/stub_HttpControlMsg.cc HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc IoStats.h LogTags.cc \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemStore.cc Notes.cc Notes.h Parsing.cc PeerPoolMgr.cc \
+ PeerPoolMgr.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RequestFlags.cc RequestFlags.h \
+ ResolvedPeers.cc ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc SquidMath.cc SquidMath.h \
+ StatCounters.cc StatCounters.h StatHist.cc StatHist.h \
+ StoreFileSystem.cc StoreIOState.cc tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc StoreSwapLogData.cc StrList.cc StrList.h \
+ String.cc Transients.cc tests/stub_cache_cf.cc cache_cf.h \
+ cache_manager.cc tests/stub_carp.cc carp.h cbdata.cc \
+ clientStream.cc tests/stub_client_db.cc client_side.cc \
+ client_side.h client_side_reply.cc client_side_request.cc \
+ debug.cc dlink.cc dlink.h errorpage.cc event.cc \
+ external_acl.cc tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc \
+ filemap.cc fqdncache.cc fqdncache.h fs_io.cc fs_io.h \
+ tests/stub_gopher.cc gopher.h helper.cc hier_code.h http.cc \
+ icp_v2.cc icp_v3.cc int.cc int.h internal.cc internal.h \
+ tests/stub_ipc_Forwarder.cc ipcache.cc tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc tests/stub_libeui.cc \
+ tests/stub_libmem.cc tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc tests/stub_main_cc.cc mem_node.cc \
+ mime.cc mime.h mime_header.cc mime_header.h multicast.cc \
+ multicast.h neighbors.cc neighbors.h pconn.cc peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h tests/stub_redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h stat.cc stat.h \
+ stmem.cc store.cc store_client.cc tests/stub_store_digest.cc \
+ store_digest.h store_io.cc store_key_md5.cc store_key_md5.h \
+ store_log.cc store_log.h store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc time.cc tools.cc tools.h \
+ tests/stub_tunnel.cc urn.cc urn.h tests/stub_wccp2.cc wccp2.h \
+ tests/stub_whois.cc whois.h wordlist.cc wordlist.h
+am_tests_testEventLoop_OBJECTS = $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_9) \
+ $(am__objects_11) $(am__objects_12) AccessLogEntry.$(OBJEXT) \
BodyPipe.$(OBJEXT) tests/stub_CacheDigest.$(OBJEXT) \
- cache_manager.$(OBJEXT) CachePeer.$(OBJEXT) \
- tests/stub_carp.$(OBJEXT) cbdata.$(OBJEXT) \
- tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
- client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
- clientStream.$(OBJEXT) \
- tests/stub_CollapsedForwarding.$(OBJEXT) \
+ CachePeer.$(OBJEXT) tests/stub_CollapsedForwarding.$(OBJEXT) \
ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- debug.$(OBJEXT) $(am__objects_3) fs_io.$(OBJEXT) \
- dlink.$(OBJEXT) $(am__objects_4) errorpage.$(OBJEXT) \
- tests/stub_ETag.$(OBJEXT) EventLoop.$(OBJEXT) event.$(OBJEXT) \
- external_acl.$(OBJEXT) ExternalACLEntry.$(OBJEXT) \
- FadingCounter.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
- fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
- fqdncache.$(OBJEXT) FwdState.$(OBJEXT) \
- tests/stub_gopher.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
- helper.$(OBJEXT) $(am__objects_5) http.$(OBJEXT) \
- HttpBody.$(OBJEXT) tests/stub_HttpControlMsg.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) EventLoop.$(OBJEXT) \
+ tests/testEventLoop.$(OBJEXT) ExternalACLEntry.$(OBJEXT) \
+ FadingCounter.$(OBJEXT) FwdState.$(OBJEXT) \
+ HappyConnOpener.$(OBJEXT) HttpBody.$(OBJEXT) \
+ tests/stub_HttpControlMsg.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+ HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
+ HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
- HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
- HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpReply.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) RequestFlags.$(OBJEXT) \
- HttpRequest.$(OBJEXT) icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) \
- $(am__objects_6) ipcache.$(OBJEXT) int.$(OBJEXT) \
- internal.$(OBJEXT) LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) \
- MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
- mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
- Notes.$(OBJEXT) Parsing.$(OBJEXT) pconn.$(OBJEXT) \
- peer_digest.$(OBJEXT) peer_proxy_negotiate_auth.$(OBJEXT) \
- peer_select.$(OBJEXT) peer_sourcehash.$(OBJEXT) \
- peer_userhash.$(OBJEXT) Pipeline.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) $(am__objects_10) \
- SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \
- StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
- store_client.$(OBJEXT) tests/stub_store_digest.$(OBJEXT) \
- store_io.$(OBJEXT) store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
- store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
+ HttpReply.$(OBJEXT) HttpRequest.$(OBJEXT) \
+ tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
+ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
+ MemObject.$(OBJEXT) MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+ Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ ResolvedPeers.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
+ SquidMath.$(OBJEXT) StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) StrList.$(OBJEXT) \
- tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
- tests/stub_libstore.$(OBJEXT) tests/testEventLoop.$(OBJEXT) \
- tests/stub_main_cc.$(OBJEXT) \
- tests/stub_ipc_Forwarder.$(OBJEXT) \
- tests/stub_libauth_acls.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_libdiskio.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) time.$(OBJEXT) \
- tools.$(OBJEXT) Transients.$(OBJEXT) \
- tests/stub_tunnel.$(OBJEXT) MemStore.$(OBJEXT) \
- $(am__objects_12) urn.$(OBJEXT) tests/stub_wccp2.$(OBJEXT) \
- tests/stub_whois.$(OBJEXT) $(am__objects_13) \
+ StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) String.$(OBJEXT) \
+ Transients.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
+ cache_manager.$(OBJEXT) tests/stub_carp.$(OBJEXT) \
+ cbdata.$(OBJEXT) clientStream.$(OBJEXT) \
+ tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
+ client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
+ debug.$(OBJEXT) dlink.$(OBJEXT) errorpage.$(OBJEXT) \
+ event.$(OBJEXT) external_acl.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
+ filemap.$(OBJEXT) fqdncache.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_gopher.$(OBJEXT) helper.$(OBJEXT) http.$(OBJEXT) \
+ icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) int.$(OBJEXT) \
+ internal.$(OBJEXT) tests/stub_ipc_Forwarder.$(OBJEXT) \
+ ipcache.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libauth_acls.$(OBJEXT) \
+ tests/stub_libdiskio.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libeui.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
+ tests/stub_libsecurity.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
+ tests/stub_main_cc.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
+ mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
+ pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
+ peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
+ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
+ tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) stat.$(OBJEXT) \
+ stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \
+ tests/stub_store_digest.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
+ store_rebuild.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
+ tests/stub_tunnel.$(OBJEXT) urn.$(OBJEXT) \
+ tests/stub_wccp2.$(OBJEXT) tests/stub_whois.$(OBJEXT) \
wordlist.$(OBJEXT)
nodist_tests_testEventLoop_OBJECTS = $(am__objects_17)
tests_testEventLoop_OBJECTS = $(am_tests_testEventLoop_OBJECTS) \
@@ -1116,25 +1108,26 @@
sbuf/libsbuf.la store/libstore.la $(am__DEPENDENCIES_5) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
tests_testEventLoop_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testEventLoop_LDFLAGS) \
$(LDFLAGS) -o $@
-am_tests_testHttp1Parser_OBJECTS = MemBuf.$(OBJEXT) \
- tests/stub_MemObject.$(OBJEXT) mime_header.$(OBJEXT) \
- String.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
- tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_cache_manager.$(OBJEXT) tests/stub_comm.$(OBJEXT) \
- tests/stub_cbdata.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
- tests/stub_event.$(OBJEXT) \
+am_tests_testHttp1Parser_OBJECTS = \
tests/stub_HelperChildConfig.$(OBJEXT) \
+ tests/testHttp1Parser.$(OBJEXT) MemBuf.$(OBJEXT) \
+ tests/stub_MemObject.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.$(OBJEXT) String.$(OBJEXT) \
+ tests/stub_cache_cf.$(OBJEXT) \
+ tests/stub_cache_manager.$(OBJEXT) tests/stub_cbdata.$(OBJEXT) \
+ tests/stub_comm.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
+ tests/stub_event.$(OBJEXT) tests/stub_libanyp.$(OBJEXT) \
tests/stub_libmem.$(OBJEXT) tests/stub_libsecurity.$(OBJEXT) \
- tests/stub_stmem.$(OBJEXT) tests/stub_store.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) tests/stub_tools.$(OBJEXT) \
- tests/testHttp1Parser.$(OBJEXT) tests/stub_time.$(OBJEXT) \
- tests/stub_libanyp.$(OBJEXT) wordlist.$(OBJEXT)
+ mime_header.$(OBJEXT) tests/stub_stmem.$(OBJEXT) \
+ tests/stub_store.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ tests/stub_time.$(OBJEXT) tests/stub_tools.$(OBJEXT) \
+ wordlist.$(OBJEXT)
nodist_tests_testHttp1Parser_OBJECTS = $(am__objects_18)
tests_testHttp1Parser_OBJECTS = $(am_tests_testHttp1Parser_OBJECTS) \
$(nodist_tests_testHttp1Parser_OBJECTS)
@@ -1148,30 +1141,31 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testHttp1Parser_LDFLAGS) \
$(LDFLAGS) -o $@
-am_tests_testHttpReply_OBJECTS = cbdata.$(OBJEXT) \
- ConfigParser.$(OBJEXT) tests/stub_ETag.$(OBJEXT) \
- tests/stub_fatal.$(OBJEXT) HttpBody.$(OBJEXT) \
- HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
- HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
- HttpHeaderTools.$(OBJEXT) HttpControlMsg.$(OBJEXT) \
- HttpReply.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
- mime_header.$(OBJEXT) Notes.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) String.$(OBJEXT) \
- StrList.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
+am_tests_testHttpReply_OBJECTS = ConfigParser.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) \
+ tests/stub_HelperChildConfig.$(OBJEXT) HttpBody.$(OBJEXT) \
+ HttpControlMsg.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+ HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
+ HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
+ HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
+ HttpReply.$(OBJEXT) tests/testHttpReply.$(OBJEXT) \
+ tests/stub_HttpRequest.$(OBJEXT) MasterXaction.$(OBJEXT) \
+ MemBuf.$(OBJEXT) Notes.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.$(OBJEXT) StatCounters.$(OBJEXT) \
+ tests/stub_StatHist.$(OBJEXT) StrList.$(OBJEXT) \
+ String.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_cache_manager.$(OBJEXT) tests/stub_comm.$(OBJEXT) \
- tests/stub_debug.$(OBJEXT) tests/stub_errorpage.$(OBJEXT) \
- tests/stub_event.$(OBJEXT) tests/stub_fd.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) \
- tests/stub_libformat.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_libcomm.$(OBJEXT) tests/stub_libmgr.$(OBJEXT) \
+ tests/stub_cache_manager.$(OBJEXT) cbdata.$(OBJEXT) \
+ tests/stub_comm.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
+ tests/stub_errorpage.$(OBJEXT) tests/stub_event.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) tests/stub_fd.$(OBJEXT) \
+ tests/stub_libanyp.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libcomm.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libformat.$(OBJEXT) tests/stub_libmgr.$(OBJEXT) \
tests/stub_libsecurity.$(OBJEXT) \
- tests/stub_libsslsquid.$(OBJEXT) StatCounters.$(OBJEXT) \
- tests/stub_StatHist.$(OBJEXT) tests/stub_store.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) tests/stub_tools.$(OBJEXT) \
- tests/stub_HttpRequest.$(OBJEXT) tests/testHttpReply.$(OBJEXT) \
- tests/stub_time.$(OBJEXT) tests/stub_libanyp.$(OBJEXT) \
+ tests/stub_libsslsquid.$(OBJEXT) mime_header.$(OBJEXT) \
+ tests/stub_store.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ tests/stub_time.$(OBJEXT) tests/stub_tools.$(OBJEXT) \
wordlist.$(OBJEXT)
nodist_tests_testHttpReply_OBJECTS = $(am__objects_18) \
hier_code.$(OBJEXT)
@@ -1190,23 +1184,7 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testHttpReply_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testHttpRequest_SOURCES_DIST = AccessLogEntry.cc \
- RequestFlags.h RequestFlags.cc HttpRequest.cc \
- tests/stub_libmem.cc String.cc tests/testHttpRequest.h \
- tests/testHttpRequest.cc tests/testHttpRequestMethod.h \
- tests/testHttpRequestMethod.cc tests/stub_libauth.cc \
- tests/stub_main_cc.cc tests/stub_ipc_Forwarder.cc \
- tests/stub_libdiskio.cc tests/stub_libeui.cc \
- tests/stub_store_stats.cc tests/stub_EventLoop.cc time.cc \
- BodyPipe.cc cache_manager.cc cache_cf.h AuthReg.h \
- RefreshPattern.h debug.cc CacheDigest.h \
- tests/stub_CacheDigest.cc CachePeer.cc CachePeer.h carp.h \
- tests/stub_carp.cc cbdata.cc tests/stub_client_db.cc \
- client_side.h client_side.cc client_side_reply.cc \
- client_side_request.cc ClientInfo.h clientStream.cc \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
- CpuAffinitySet.cc CpuAffinitySet.h BandwidthBucket.cc \
+am__tests_testHttpRequest_SOURCES_DIST = BandwidthBucket.cc \
BandwidthBucket.h CommonPool.h CompositePoolNode.h \
delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
@@ -1214,107 +1192,120 @@
DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc errorpage.cc \
- tests/stub_ETag.cc external_acl.cc ExternalACLEntry.cc fatal.h \
- tests/stub_fatal.cc fd.h fd.cc fde.cc fqdncache.h fqdncache.cc \
- FwdState.cc FwdState.h gopher.h tests/stub_gopher.cc \
- HappyConnOpener.cc HappyConnOpener.h helper.cc hier_code.h \
- htcp.cc htcp.h http.cc HttpBody.h HttpBody.cc \
- tests/stub_HttpControlMsg.cc HttpHeader.h HttpHeader.cc \
- HttpHeaderFieldInfo.h HttpHeaderTools.h HttpHeaderTools.cc \
- HttpHeaderFieldStat.h HttpHdrCc.h HttpHdrCc.cc \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc SnmpRequest.h \
+ snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc win32.cc \
+ AccessLogEntry.cc AuthReg.h BodyPipe.cc \
+ tests/stub_CacheDigest.cc CacheDigest.h CachePeer.cc \
+ CachePeer.h ClientInfo.h tests/stub_CollapsedForwarding.cc \
+ ConfigOption.cc ConfigParser.cc CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h \
+ tests/stub_ETag.cc tests/stub_EventLoop.cc ExternalACLEntry.cc \
+ FadingCounter.cc FwdState.cc FwdState.h HappyConnOpener.cc \
+ HappyConnOpener.h HttpBody.cc HttpBody.h \
+ tests/stub_HttpControlMsg.cc HttpHdrCc.cc HttpHdrCc.h \
HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpReply.cc icp_v2.cc icp_v3.cc SquidIpc.h \
- ipc.cc ipc_win32.cc ipcache.cc int.h int.cc internal.h \
- internal.cc LogTags.cc tests/stub_libsecurity.cc \
- MasterXaction.cc MasterXaction.h multicast.h multicast.cc \
- mem_node.cc MemBuf.cc MemObject.cc mime.h mime.cc \
- mime_header.h mime_header.cc neighbors.h neighbors.cc Notes.cc \
- Notes.h Parsing.cc pconn.cc peer_digest.cc \
- peer_proxy_negotiate_auth.h peer_proxy_negotiate_auth.cc \
- peer_select.cc peer_sourcehash.h peer_sourcehash.cc \
- peer_userhash.h peer_userhash.cc PeerPoolMgr.h PeerPoolMgr.cc \
- Pipeline.cc Pipeline.h redirect.h tests/stub_libauth_acls.cc \
- tests/stub_redirect.cc refresh.h refresh.cc RemovalPolicy.cc \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc HttpRequest.cc \
+ tests/testHttpRequest.cc tests/testHttpRequest.h \
+ tests/testHttpRequestMethod.cc tests/testHttpRequestMethod.h \
+ tests/stub_HttpUpgradeProtocolAccess.cc IoStats.h LogTags.cc \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemStore.cc Notes.cc Notes.h Parsing.cc PeerPoolMgr.cc \
+ PeerPoolMgr.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RequestFlags.cc RequestFlags.h \
ResolvedPeers.cc ResolvedPeers.h \
- tests/stub_SBufDetailedStats.cc SnmpRequest.h snmp_core.h \
- snmp_core.cc snmp_agent.h snmp_agent.cc SquidMath.h \
- SquidMath.cc IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc stmem.cc repl_modules.h \
- store.cc store_client.cc store_digest.h \
- tests/stub_store_digest.cc store_io.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc StrList.h StrList.cc event.cc tools.h \
- tools.cc Transients.cc tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc tests/stub_tunnel.cc \
- tests/stub_libstore.cc MemStore.cc urn.h urn.cc wccp2.h \
- tests/stub_wccp2.cc whois.h tests/stub_whois.cc \
- FadingCounter.cc win32.cc wordlist.h wordlist.cc
-am_tests_testHttpRequest_OBJECTS = AccessLogEntry.$(OBJEXT) \
- RequestFlags.$(OBJEXT) HttpRequest.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) String.$(OBJEXT) \
- tests/testHttpRequest.$(OBJEXT) \
- tests/testHttpRequestMethod.$(OBJEXT) \
- tests/stub_libauth.$(OBJEXT) tests/stub_main_cc.$(OBJEXT) \
- tests/stub_ipc_Forwarder.$(OBJEXT) \
- tests/stub_libdiskio.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) \
- tests/stub_EventLoop.$(OBJEXT) time.$(OBJEXT) \
- BodyPipe.$(OBJEXT) cache_manager.$(OBJEXT) debug.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.cc SquidMath.cc SquidMath.h \
+ StatCounters.cc StatCounters.h StatHist.cc StatHist.h \
+ StoreFileSystem.cc StoreIOState.cc tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc StoreSwapLogData.cc StrList.cc StrList.h \
+ String.cc Transients.cc tests/stub_cache_cf.cc cache_cf.h \
+ cache_manager.cc tests/stub_carp.cc carp.h cbdata.cc \
+ clientStream.cc tests/stub_client_db.cc client_side.cc \
+ client_side.h client_side_reply.cc client_side_request.cc \
+ debug.cc dlink.cc dlink.h errorpage.cc event.cc \
+ external_acl.cc tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc \
+ fqdncache.cc fqdncache.h fs_io.cc fs_io.h tests/stub_gopher.cc \
+ gopher.h helper.cc hier_code.h http.cc icp_v2.cc icp_v3.cc \
+ int.cc int.h internal.cc internal.h \
+ tests/stub_ipc_Forwarder.cc ipcache.cc tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc tests/stub_libeui.cc \
+ tests/stub_libmem.cc tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc tests/stub_main_cc.cc mem_node.cc \
+ mime.cc mime.h mime_header.cc mime_header.h multicast.cc \
+ multicast.h neighbors.cc neighbors.h pconn.cc peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h tests/stub_redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h stat.cc stat.h \
+ stmem.cc store.cc store_client.cc tests/stub_store_digest.cc \
+ store_digest.h store_io.cc store_key_md5.cc store_key_md5.h \
+ store_log.cc store_log.h store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc time.cc tools.cc tools.h \
+ tests/stub_tunnel.cc urn.cc urn.h tests/stub_wccp2.cc wccp2.h \
+ tests/stub_whois.cc whois.h wordlist.cc wordlist.h
+am_tests_testHttpRequest_OBJECTS = $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_9) \
+ $(am__objects_12) AccessLogEntry.$(OBJEXT) BodyPipe.$(OBJEXT) \
tests/stub_CacheDigest.$(OBJEXT) CachePeer.$(OBJEXT) \
- tests/stub_carp.$(OBJEXT) cbdata.$(OBJEXT) \
- tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
- client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
- clientStream.$(OBJEXT) \
tests/stub_CollapsedForwarding.$(OBJEXT) \
ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- $(am__objects_3) fs_io.$(OBJEXT) dlink.$(OBJEXT) \
- $(am__objects_4) errorpage.$(OBJEXT) tests/stub_ETag.$(OBJEXT) \
- external_acl.$(OBJEXT) ExternalACLEntry.$(OBJEXT) \
- tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
- fqdncache.$(OBJEXT) FwdState.$(OBJEXT) \
- tests/stub_gopher.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
- helper.$(OBJEXT) $(am__objects_5) http.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) tests/stub_EventLoop.$(OBJEXT) \
+ ExternalACLEntry.$(OBJEXT) FadingCounter.$(OBJEXT) \
+ FwdState.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
HttpBody.$(OBJEXT) tests/stub_HttpControlMsg.$(OBJEXT) \
- HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpReply.$(OBJEXT) icp_v2.$(OBJEXT) \
- icp_v3.$(OBJEXT) $(am__objects_6) ipcache.$(OBJEXT) \
- int.$(OBJEXT) internal.$(OBJEXT) LogTags.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) MasterXaction.$(OBJEXT) \
- multicast.$(OBJEXT) mem_node.$(OBJEXT) MemBuf.$(OBJEXT) \
- MemObject.$(OBJEXT) mime.$(OBJEXT) mime_header.$(OBJEXT) \
- neighbors.$(OBJEXT) Notes.$(OBJEXT) Parsing.$(OBJEXT) \
+ HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
+ HttpHeaderTools.$(OBJEXT) HttpReply.$(OBJEXT) \
+ HttpRequest.$(OBJEXT) tests/testHttpRequest.$(OBJEXT) \
+ tests/testHttpRequestMethod.$(OBJEXT) \
+ tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
+ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
+ MemObject.$(OBJEXT) MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+ Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ ResolvedPeers.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
+ SquidMath.$(OBJEXT) StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
+ StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
+ tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
+ StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) String.$(OBJEXT) \
+ Transients.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
+ cache_manager.$(OBJEXT) tests/stub_carp.$(OBJEXT) \
+ cbdata.$(OBJEXT) clientStream.$(OBJEXT) \
+ tests/stub_client_db.$(OBJEXT) client_side.$(OBJEXT) \
+ client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
+ debug.$(OBJEXT) dlink.$(OBJEXT) errorpage.$(OBJEXT) \
+ event.$(OBJEXT) external_acl.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
+ fqdncache.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_gopher.$(OBJEXT) helper.$(OBJEXT) http.$(OBJEXT) \
+ icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) int.$(OBJEXT) \
+ internal.$(OBJEXT) tests/stub_ipc_Forwarder.$(OBJEXT) \
+ ipcache.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libauth_acls.$(OBJEXT) \
+ tests/stub_libdiskio.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libeui.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
+ tests/stub_libsecurity.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
+ tests/stub_main_cc.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
+ mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) Pipeline.$(OBJEXT) \
- tests/stub_libauth_acls.$(OBJEXT) \
- tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) $(am__objects_10) \
- SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \
- StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
- store_client.$(OBJEXT) tests/stub_store_digest.$(OBJEXT) \
- store_io.$(OBJEXT) store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
- store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
- StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
- tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) event.$(OBJEXT) \
- tools.$(OBJEXT) Transients.$(OBJEXT) \
- tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
- tests/stub_tunnel.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
- MemStore.$(OBJEXT) urn.$(OBJEXT) tests/stub_wccp2.$(OBJEXT) \
- tests/stub_whois.$(OBJEXT) FadingCounter.$(OBJEXT) \
- $(am__objects_13) wordlist.$(OBJEXT)
+ tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) stat.$(OBJEXT) \
+ stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \
+ tests/stub_store_digest.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
+ store_rebuild.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
+ tests/stub_tunnel.$(OBJEXT) urn.$(OBJEXT) \
+ tests/stub_wccp2.$(OBJEXT) tests/stub_whois.$(OBJEXT) \
+ wordlist.$(OBJEXT)
nodist_tests_testHttpRequest_OBJECTS = $(am__objects_17)
tests_testHttpRequest_OBJECTS = $(am_tests_testHttpRequest_OBJECTS) \
$(nodist_tests_testHttpRequest_OBJECTS)
@@ -1333,15 +1324,16 @@
$(top_builddir)/lib/libmiscutil.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_1)
tests_testHttpRequest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testHttpRequest_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testIcmp_OBJECTS = tests/testIcmp.$(OBJEXT)
-nodist_tests_testIcmp_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_SBuf.$(OBJEXT) \
- time.$(OBJEXT) globals.$(OBJEXT)
+nodist_tests_testIcmp_OBJECTS = tests/stub_SBuf.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) globals.$(OBJEXT) \
+ tests/stub_libmem.$(OBJEXT) time.$(OBJEXT)
tests_testIcmp_OBJECTS = $(am_tests_testIcmp_OBJECTS) \
$(nodist_tests_testIcmp_OBJECTS)
tests_testIcmp_DEPENDENCIES = icmp/libicmpcore.la ip/libip.la \
@@ -1352,8 +1344,8 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testIcmp_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testIpAddress_OBJECTS = tests/testIpAddress.$(OBJEXT)
-nodist_tests_testIpAddress_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_SBuf.$(OBJEXT) \
+nodist_tests_testIpAddress_OBJECTS = tests/stub_SBuf.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
tests/stub_tools.$(OBJEXT)
tests_testIpAddress_OBJECTS = $(am_tests_testIpAddress_OBJECTS) \
$(nodist_tests_testIpAddress_OBJECTS)
@@ -1365,9 +1357,9 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testIpAddress_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testLookupTable_OBJECTS = tests/testLookupTable.$(OBJEXT)
-nodist_tests_testLookupTable_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT)
+nodist_tests_testLookupTable_OBJECTS = \
+ tests/stub_SBufDetailedStats.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_libmem.$(OBJEXT)
tests_testLookupTable_OBJECTS = $(am_tests_testLookupTable_OBJECTS) \
$(nodist_tests_testLookupTable_OBJECTS)
tests_testLookupTable_DEPENDENCIES = sbuf/libsbuf.la base/libbase.la \
@@ -1389,9 +1381,9 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testMem_LDFLAGS) $(LDFLAGS) \
-o $@
am_tests_testNetDb_OBJECTS = tests/testNetDb.$(OBJEXT)
-nodist_tests_testNetDb_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_SBuf.$(OBJEXT) \
- time.$(OBJEXT) globals.$(OBJEXT)
+nodist_tests_testNetDb_OBJECTS = tests/stub_SBuf.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) globals.$(OBJEXT) \
+ tests/stub_libmem.$(OBJEXT) time.$(OBJEXT)
tests_testNetDb_OBJECTS = $(am_tests_testNetDb_OBJECTS) \
$(nodist_tests_testNetDb_OBJECTS)
tests_testNetDb_DEPENDENCIES = icmp/libicmp.la ip/libip.la \
@@ -1412,65 +1404,65 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testRefCount_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testRock_SOURCES_DIST = AccessLogEntry.cc AccessLogEntry.h \
- cbdata.cc CacheDigest.h CollapsedForwarding.h \
- CollapsedForwarding.cc tests/stub_CacheDigest.cc \
- ConfigOption.cc ConfigParser.cc fs_io.h fs_io.cc ETag.cc \
- EventLoop.cc event.cc FadingCounter.cc fatal.h fatal.cc fd.h \
- fd.cc fde.h fde.cc FileMap.h filemap.cc HttpHeaderFieldStat.h \
- HttpBody.h HttpBody.cc HttpHdrCc.cc HttpHdrContRange.cc \
- HttpHdrRange.cc HttpHdrSc.cc HttpHdrScTarget.cc HttpHeader.h \
- HttpHeader.cc HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpReply.cc int.h int.cc LogTags.cc \
- MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
- MemStore.cc mem_node.cc Notes.h Notes.cc Parsing.cc \
- RemovalPolicy.cc RequestFlags.cc RequestFlags.h \
- ResolvedPeers.cc ResolvedPeers.h StatCounters.h \
- StatCounters.cc StatHist.h tests/stub_StatHist.cc stmem.cc \
- repl_modules.h tests/stub_stat.cc store.cc StoreFileSystem.cc \
- StoreIOState.cc StoreMetaUnpacker.cc StoreMeta.cc StoreMeta.h \
- StoreMetaMD5.cc StoreMetaMD5.h StoreMetaSTD.cc StoreMetaSTD.h \
- StoreMetaSTDLFS.cc StoreMetaSTDLFS.h StoreMetaObjSize.h \
- StoreMetaURL.cc StoreMetaURL.h StoreMetaVary.cc \
- StoreMetaVary.h StoreSwapLogData.cc store_io.cc \
- store_key_md5.h store_key_md5.cc store_swapmeta.cc \
- store_swapout.cc tests/stub_SBufDetailedStats.cc String.cc \
- StrList.h StrList.cc Transients.h Transients.cc \
- tests/testRock.cc tests/testRock.h tests/testStoreSupport.cc \
- tests/testStoreSupport.h log/access_log.h \
- tests/stub_access_log.cc cache_cf.h tests/stub_cache_cf.cc \
- tests/stub_cache_manager.cc tests/stub_client_db.cc \
+am__tests_testRock_SOURCES_DIST = BandwidthBucket.cc BandwidthBucket.h \
+ CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
+ DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
+ DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
+ DelayPools.h DelaySpec.cc DelaySpec.h DelayTagged.cc \
+ DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
+ DelayVector.h MessageBucket.cc MessageBucket.h \
+ MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
+ ClientDelayConfig.cc ClientDelayConfig.h StoreMeta.cc \
+ StoreMeta.h StoreMetaMD5.cc StoreMetaMD5.h StoreMetaSTD.cc \
+ StoreMetaSTD.h StoreMetaSTDLFS.cc StoreMetaSTDLFS.h \
+ StoreMetaObjSize.h StoreMetaURL.cc StoreMetaURL.h \
+ StoreMetaVary.cc StoreMetaVary.h unlinkd.h unlinkd.cc \
+ AccessLogEntry.cc AccessLogEntry.h tests/stub_CacheDigest.cc \
+ CacheDigest.h CollapsedForwarding.cc CollapsedForwarding.h \
+ ConfigOption.cc ConfigParser.cc ETag.cc EventLoop.cc \
+ FadingCounter.cc FileMap.h tests/stub_HelperChildConfig.cc \
+ HttpBody.cc HttpBody.h HttpHdrCc.cc HttpHdrContRange.cc \
+ HttpHdrRange.cc HttpHdrSc.cc HttpHdrScTarget.cc HttpHeader.cc \
+ HttpHeader.h HttpHeaderFieldInfo.h HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc HttpHeaderTools.h HttpReply.cc \
+ tests/stub_HttpRequest.cc LogTags.cc MasterXaction.cc \
+ MasterXaction.h MemBuf.cc MemObject.cc MemStore.cc Notes.cc \
+ Notes.h Parsing.cc tests/stub_Port.cc RemovalPolicy.cc \
+ RequestFlags.cc RequestFlags.h ResolvedPeers.cc \
+ ResolvedPeers.h tests/testRock.cc tests/testRock.h \
+ tests/stub_SBufDetailedStats.cc StatCounters.cc StatCounters.h \
+ tests/stub_StatHist.cc StatHist.h StoreFileSystem.cc \
+ StoreIOState.cc StoreMetaUnpacker.cc tests/testStoreSupport.cc \
+ tests/testStoreSupport.h StoreSwapLogData.cc StrList.cc \
+ StrList.h String.cc Transients.cc Transients.h \
+ tests/stub_access_log.cc tests/stub_cache_cf.cc cache_cf.h \
+ tests/stub_cache_manager.cc cbdata.cc tests/stub_client_db.cc \
tests/stub_client_side_request.cc tests/stub_debug.cc \
- tests/stub_errorpage.cc tests/stub_HelperChildConfig.cc \
- tests/stub_http.cc tests/stub_HttpRequest.cc \
- tests/stub_libauth.cc tests/stub_icp.cc tests/stub_ipc.cc \
- tests/stub_ipcache.cc tests/stub_libeui.cc \
- tests/stub_libformat.cc tests/stub_libicmp.cc \
- tests/stub_liblog.cc tests/stub_libmgr.cc \
- tests/stub_libsecurity.cc mime.h tests/stub_mime.cc \
- tests/stub_neighbors.cc tests/stub_Port.cc tests/stub_pconn.cc \
- tests/stub_store_client.cc store_rebuild.h \
- tests/stub_store_rebuild.cc tests/stub_store_stats.cc tools.h \
- tests/stub_tools.cc time.cc tests/stub_libanyp.cc wordlist.h \
- wordlist.cc BandwidthBucket.cc BandwidthBucket.h CommonPool.h \
- CompositePoolNode.h delay_pools.cc DelayId.cc DelayId.h \
- DelayIdComposite.h DelayBucket.cc DelayBucket.h DelayConfig.cc \
- DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
- DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
- DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
- MessageBucket.cc MessageBucket.h MessageDelayPools.h \
- MessageDelayPools.cc NullDelayId.h ClientDelayConfig.cc \
- ClientDelayConfig.h unlinkd.h unlinkd.cc
-@ENABLE_FS_ROCK_TRUE@am_tests_testRock_OBJECTS = \
-@ENABLE_FS_ROCK_TRUE@ AccessLogEntry.$(OBJEXT) cbdata.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ CollapsedForwarding.$(OBJEXT) \
+ tests/stub_errorpage.cc event.cc fatal.cc fatal.h fd.cc fd.h \
+ fde.cc fde.h filemap.cc fs_io.cc fs_io.h tests/stub_http.cc \
+ tests/stub_icp.cc int.cc int.h tests/stub_ipc.cc \
+ tests/stub_ipcache.cc tests/stub_libanyp.cc \
+ tests/stub_libauth.cc tests/stub_liberror.cc \
+ tests/stub_libeui.cc tests/stub_libformat.cc \
+ tests/stub_libicmp.cc tests/stub_liblog.cc \
+ tests/stub_libmgr.cc tests/stub_libsecurity.cc \
+ log/access_log.h mem_node.cc tests/stub_mime.cc mime.h \
+ tests/stub_neighbors.cc tests/stub_pconn.cc repl_modules.h \
+ tests/stub_stat.cc stmem.cc store.cc \
+ tests/stub_store_client.cc store_io.cc store_key_md5.cc \
+ store_key_md5.h tests/stub_store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapmeta.cc store_swapout.cc \
+ time.cc tests/stub_tools.cc tools.h wordlist.cc wordlist.h
+@ENABLE_FS_ROCK_TRUE@am_tests_testRock_OBJECTS = $(am__objects_3) \
+@ENABLE_FS_ROCK_TRUE@ $(am__objects_10) $(am__objects_11) \
+@ENABLE_FS_ROCK_TRUE@ AccessLogEntry.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_CacheDigest.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ CollapsedForwarding.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ ConfigOption.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ ConfigParser.$(OBJEXT) fs_io.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ ETag.$(OBJEXT) EventLoop.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ event.$(OBJEXT) FadingCounter.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ fatal.$(OBJEXT) fd.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ fde.$(OBJEXT) filemap.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ ConfigParser.$(OBJEXT) ETag.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ EventLoop.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ FadingCounter.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_HelperChildConfig.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ HttpBody.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ HttpHdrContRange.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ HttpHdrRange.$(OBJEXT) \
@@ -1478,65 +1470,69 @@
@ENABLE_FS_ROCK_TRUE@ HttpHdrScTarget.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ HttpHeader.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ HttpHeaderTools.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ HttpReply.$(OBJEXT) int.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ HttpReply.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ MemStore.$(OBJEXT) mem_node.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ Notes.$(OBJEXT) Parsing.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ Parsing.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_Port.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ RemovalPolicy.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ RequestFlags.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ ResolvedPeers.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/testRock.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_SBufDetailedStats.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ StatCounters.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_StatHist.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ stmem.$(OBJEXT) tests/stub_stat.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ store.$(OBJEXT) StoreFileSystem.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ StoreFileSystem.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ StoreIOState.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ StoreMetaUnpacker.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ $(am__objects_11) \
+@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ StoreSwapLogData.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ store_io.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ store_key_md5.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ store_swapmeta.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ store_swapout.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_SBufDetailedStats.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ String.$(OBJEXT) StrList.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ StrList.$(OBJEXT) String.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ Transients.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/testRock.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_access_log.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_cache_cf.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_cache_manager.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ cbdata.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_client_db.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_client_side_request.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_debug.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_errorpage.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_HelperChildConfig.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ event.$(OBJEXT) fatal.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ fd.$(OBJEXT) fde.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ filemap.$(OBJEXT) fs_io.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_http.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_libauth.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_icp.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_icp.$(OBJEXT) int.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_ipc.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_ipcache.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_libanyp.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_libauth.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_liberror.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libeui.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libformat.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libicmp.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_liblog.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libmgr.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libsecurity.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ mem_node.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_mime.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_neighbors.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_Port.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_pconn.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_stat.$(OBJEXT) stmem.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ store.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_client.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ store_io.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ store_key_md5.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_rebuild.$(OBJEXT) \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_stats.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_tools.$(OBJEXT) time.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_libanyp.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ wordlist.$(OBJEXT) $(am__objects_3) \
-@ENABLE_FS_ROCK_TRUE@ $(am__objects_12)
+@ENABLE_FS_ROCK_TRUE@ store_swapmeta.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ store_swapout.$(OBJEXT) time.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_tools.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ wordlist.$(OBJEXT)
@ENABLE_FS_ROCK_TRUE@nodist_tests_testRock_OBJECTS = \
-@ENABLE_FS_ROCK_TRUE@ $(am__objects_18) hier_code.$(OBJEXT) \
-@ENABLE_FS_ROCK_TRUE@ SquidMath.$(OBJEXT) swap_log_op.$(OBJEXT)
+@ENABLE_FS_ROCK_TRUE@ $(am__objects_18) SquidMath.$(OBJEXT) \
+@ENABLE_FS_ROCK_TRUE@ hier_code.$(OBJEXT) swap_log_op.$(OBJEXT)
tests_testRock_OBJECTS = $(am_tests_testRock_OBJECTS) \
$(nodist_tests_testRock_OBJECTS)
@ENABLE_FS_ROCK_TRUE@tests_testRock_DEPENDENCIES = http/libhttp.la \
@@ -1562,10 +1558,10 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testRock_LDFLAGS) \
$(LDFLAGS) -o $@
-am_tests_testSBuf_OBJECTS = tests/SBufFindTest.$(OBJEXT) \
- tests/testSBuf.$(OBJEXT)
-nodist_tests_testSBuf_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_StatHist.$(OBJEXT)
+am_tests_testSBuf_OBJECTS = tests/testSBuf.$(OBJEXT) \
+ tests/SBufFindTest.$(OBJEXT)
+nodist_tests_testSBuf_OBJECTS = tests/stub_StatHist.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_libmem.$(OBJEXT)
tests_testSBuf_OBJECTS = $(am_tests_testSBuf_OBJECTS) \
$(nodist_tests_testSBuf_OBJECTS)
tests_testSBuf_DEPENDENCIES = sbuf/libsbuf.la base/libbase.la \
@@ -1576,8 +1572,8 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testSBuf_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testSBufList_OBJECTS = tests/testSBufList.$(OBJEXT)
-nodist_tests_testSBufList_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_StatHist.$(OBJEXT)
+nodist_tests_testSBufList_OBJECTS = tests/stub_StatHist.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_libmem.$(OBJEXT)
tests_testSBufList_OBJECTS = $(am_tests_testSBufList_OBJECTS) \
$(nodist_tests_testSBufList_OBJECTS)
tests_testSBufList_DEPENDENCIES = sbuf/libsbuf.la base/libbase.la \
@@ -1587,18 +1583,18 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testSBufList_LDFLAGS) \
$(LDFLAGS) -o $@
-am_tests_testStatHist_OBJECTS = tests/stub_cbdata.$(OBJEXT) \
- tests/stub_fatal.$(OBJEXT) tests/stub_MemBuf.$(OBJEXT) \
+am_tests_testStatHist_OBJECTS = tests/stub_DelayId.$(OBJEXT) \
+ tests/stub_HelperChildConfig.$(OBJEXT) \
+ tests/stub_MemBuf.$(OBJEXT) tests/stub_MemObject.$(OBJEXT) \
tests/stub_SBufDetailedStats.$(OBJEXT) StatHist.$(OBJEXT) \
- String.$(OBJEXT) tests/stub_cache_manager.$(OBJEXT) \
+ tests/testStatHist.$(OBJEXT) String.$(OBJEXT) \
+ tests/stub_cache_manager.$(OBJEXT) tests/stub_cbdata.$(OBJEXT) \
tests/stub_comm.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
- tests/stub_DelayId.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_MemObject.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
tests/stub_mime.$(OBJEXT) tests/stub_pconn.$(OBJEXT) \
tests/stub_stmem.$(OBJEXT) tests/stub_store.$(OBJEXT) \
tests/stub_store_stats.$(OBJEXT) time.$(OBJEXT) \
- tests/stub_tools.$(OBJEXT) tests/testStatHist.$(OBJEXT)
+ tests/stub_tools.$(OBJEXT)
nodist_tests_testStatHist_OBJECTS = $(am__objects_18)
tests_testStatHist_OBJECTS = $(am_tests_testStatHist_OBJECTS) \
$(nodist_tests_testStatHist_OBJECTS)
@@ -1610,103 +1606,102 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testStatHist_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_testStore_SOURCES_DIST = CacheDigest.h \
- tests/stub_CacheDigest.cc cbdata.cc ClientInfo.h \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc BandwidthBucket.cc BandwidthBucket.h \
- CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
- DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
- DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
- DelayPools.h DelaySpec.cc DelaySpec.h DelayTagged.cc \
- DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
- DelayVector.h MessageBucket.cc MessageBucket.h \
+am__tests_testStore_SOURCES_DIST = BandwidthBucket.cc \
+ BandwidthBucket.h CommonPool.h CompositePoolNode.h \
+ delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
+ DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
+ DelayPool.cc DelayPool.h DelayPools.h DelaySpec.cc DelaySpec.h \
+ DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
+ DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- ETag.cc event.cc EventLoop.cc fatal.h tests/stub_fatal.cc \
- FileMap.h filemap.cc HttpHeaderFieldStat.h HttpHdrCc.h \
- HttpHdrCc.cc HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpHeaderFieldInfo.h HttpHeaderTools.h \
- HttpHeaderTools.cc HttpHeader.h HttpHeader.cc RequestFlags.cc \
- RequestFlags.h int.h int.cc MasterXaction.cc MasterXaction.h \
- mem_node.cc MemBuf.cc MemObject.cc MemStore.cc Notes.h \
- Notes.cc Parsing.cc RemovalPolicy.cc refresh.h refresh.cc \
- StatCounters.h StatCounters.cc StatHist.h StatHist.cc stmem.cc \
- repl_modules.h store.cc store_io.cc store_swapout.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc store_key_md5.h store_key_md5.cc \
- tests/stub_SBufDetailedStats.cc String.cc StrList.h StrList.cc \
- tests/CapturingStoreEntry.h log/access_log.h \
- tests/stub_access_log.cc tests/stub_acl.cc cache_cf.h \
- tests/stub_cache_cf.cc tests/stub_cache_manager.cc \
- tests/stub_client_side_request.cc tests/stub_comm.cc \
- tests/stub_debug.cc tests/stub_errorpage.cc fd.h fde.h \
- tests/stub_fd.cc tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc tests/stub_http.cc \
- tests/stub_libauth.cc tests/stub_libeui.cc \
- tests/stub_libdiskio.cc tests/stub_libformat.cc \
- tests/stub_libsecurity.cc tests/stub_libsslsquid.cc HttpBody.h \
- HttpBody.cc tests/stub_HttpReply.cc tests/stub_HttpRequest.cc \
- tests/stub_libcomm.cc mime.h tests/stub_mime.cc \
- tests/stub_Port.cc tests/stub_stat.cc \
- tests/stub_store_client.cc tests/stub_store_stats.cc \
- store_rebuild.h tests/stub_store_rebuild.cc \
- tests/stub_store_swapout.cc tools.h Transients.cc \
- tests/stub_tools.cc tests/stub_UdsOp.cc \
+ ClientDelayConfig.cc ClientDelayConfig.h \
+ tests/stub_CacheDigest.cc CacheDigest.h ClientInfo.h \
+ tests/stub_CollapsedForwarding.cc ConfigOption.cc \
+ ConfigParser.cc ETag.cc EventLoop.cc FileMap.h \
+ tests/stub_HelperChildConfig.cc HttpBody.cc HttpBody.h \
+ HttpHdrCc.cc HttpHdrCc.h HttpHdrContRange.cc HttpHdrRange.cc \
+ HttpHdrSc.cc HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h tests/stub_HttpReply.cc \
+ tests/stub_HttpRequest.cc MasterXaction.cc MasterXaction.h \
+ MemBuf.cc MemObject.cc MemStore.cc Notes.cc Notes.h \
tests/testPackableStream.cc tests/testPackableStream.h \
- tests/testStore.cc tests/testStore.h \
- tests/testStoreController.cc tests/testStoreController.h \
- tests/testStoreHashIndex.cc tests/testStoreHashIndex.h \
+ Parsing.cc tests/stub_Port.cc RemovalPolicy.cc RequestFlags.cc \
+ RequestFlags.h tests/stub_SBufDetailedStats.cc StatCounters.cc \
+ StatCounters.h StatHist.cc StatHist.h tests/testStore.cc \
+ tests/testStore.h tests/testStoreController.cc \
+ tests/testStoreController.h tests/testStoreHashIndex.cc \
+ tests/testStoreHashIndex.h StoreIOState.cc \
+ tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
tests/testStoreSupport.cc tests/testStoreSupport.h \
+ StoreSwapLogData.cc StrList.cc StrList.h String.cc \
+ Transients.cc tests/stub_UdsOp.cc tests/stub_access_log.cc \
+ tests/stub_acl.cc tests/stub_cache_cf.cc cache_cf.h \
+ tests/stub_cache_manager.cc cbdata.cc \
+ tests/stub_client_side_request.cc tests/stub_comm.cc \
+ tests/stub_debug.cc tests/stub_errorpage.cc event.cc \
+ tests/stub_fatal.cc fatal.h tests/stub_fd.cc fd.h fde.h \
+ filemap.cc fs_io.cc fs_io.h tests/stub_helper.cc \
+ tests/stub_http.cc int.cc int.h tests/stub_libanyp.cc \
+ tests/stub_libauth.cc tests/stub_libcomm.cc \
+ tests/stub_libdiskio.cc tests/stub_liberror.cc \
+ tests/stub_libeui.cc tests/stub_libformat.cc \
+ tests/stub_libsecurity.cc tests/stub_libsslsquid.cc \
+ log/access_log.h mem_node.cc tests/stub_mime.cc mime.h \
+ refresh.cc refresh.h repl_modules.h tests/stub_stat.cc \
+ stmem.cc store.cc tests/stub_store_client.cc store_io.cc \
+ store_key_md5.cc store_key_md5.h tests/stub_store_rebuild.cc \
+ store_rebuild.h tests/stub_store_stats.cc store_swapout.cc \
+ tests/stub_store_swapout.cc tests/CapturingStoreEntry.h \
tests/TestSwapDir.cc tests/TestSwapDir.h tests/stub_time.cc \
- tests/stub_libanyp.cc wordlist.h wordlist.cc
-am_tests_testStore_OBJECTS = tests/stub_CacheDigest.$(OBJEXT) \
- cbdata.$(OBJEXT) tests/stub_CollapsedForwarding.$(OBJEXT) \
- ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) $(am__objects_3) \
- fs_io.$(OBJEXT) ETag.$(OBJEXT) event.$(OBJEXT) \
- EventLoop.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
- filemap.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+ tests/stub_tools.cc tools.h wordlist.cc wordlist.h
+am_tests_testStore_OBJECTS = $(am__objects_3) \
+ tests/stub_CacheDigest.$(OBJEXT) \
+ tests/stub_CollapsedForwarding.$(OBJEXT) \
+ ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) ETag.$(OBJEXT) \
+ EventLoop.$(OBJEXT) tests/stub_HelperChildConfig.$(OBJEXT) \
+ HttpBody.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
- HttpHeaderTools.$(OBJEXT) HttpHeader.$(OBJEXT) \
- RequestFlags.$(OBJEXT) int.$(OBJEXT) MasterXaction.$(OBJEXT) \
- mem_node.$(OBJEXT) MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
- MemStore.$(OBJEXT) Notes.$(OBJEXT) Parsing.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) refresh.$(OBJEXT) \
- StatCounters.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \
- store.$(OBJEXT) store_io.$(OBJEXT) store_swapout.$(OBJEXT) \
- StoreIOState.$(OBJEXT) tests/stub_StoreMeta.$(OBJEXT) \
- StoreMetaUnpacker.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \
- store_key_md5.$(OBJEXT) tests/stub_SBufDetailedStats.$(OBJEXT) \
- String.$(OBJEXT) StrList.$(OBJEXT) \
- tests/stub_access_log.$(OBJEXT) tests/stub_acl.$(OBJEXT) \
- tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_cache_manager.$(OBJEXT) \
+ HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
+ tests/stub_HttpReply.$(OBJEXT) \
+ tests/stub_HttpRequest.$(OBJEXT) MasterXaction.$(OBJEXT) \
+ MemBuf.$(OBJEXT) MemObject.$(OBJEXT) MemStore.$(OBJEXT) \
+ Notes.$(OBJEXT) tests/testPackableStream.$(OBJEXT) \
+ Parsing.$(OBJEXT) tests/stub_Port.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) RequestFlags.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.$(OBJEXT) StatCounters.$(OBJEXT) \
+ StatHist.$(OBJEXT) tests/testStore.$(OBJEXT) \
+ tests/testStoreController.$(OBJEXT) \
+ tests/testStoreHashIndex.$(OBJEXT) StoreIOState.$(OBJEXT) \
+ tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
+ tests/testStoreSupport.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \
+ StrList.$(OBJEXT) String.$(OBJEXT) Transients.$(OBJEXT) \
+ tests/stub_UdsOp.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
+ tests/stub_acl.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
+ tests/stub_cache_manager.$(OBJEXT) cbdata.$(OBJEXT) \
tests/stub_client_side_request.$(OBJEXT) \
tests/stub_comm.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
- tests/stub_errorpage.$(OBJEXT) tests/stub_fd.$(OBJEXT) \
- tests/stub_helper.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) \
- tests/stub_http.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_libeui.$(OBJEXT) tests/stub_libdiskio.$(OBJEXT) \
+ tests/stub_errorpage.$(OBJEXT) event.$(OBJEXT) \
+ tests/stub_fatal.$(OBJEXT) tests/stub_fd.$(OBJEXT) \
+ filemap.$(OBJEXT) fs_io.$(OBJEXT) tests/stub_helper.$(OBJEXT) \
+ tests/stub_http.$(OBJEXT) int.$(OBJEXT) \
+ tests/stub_libanyp.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libcomm.$(OBJEXT) tests/stub_libdiskio.$(OBJEXT) \
+ tests/stub_liberror.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
tests/stub_libformat.$(OBJEXT) \
tests/stub_libsecurity.$(OBJEXT) \
- tests/stub_libsslsquid.$(OBJEXT) HttpBody.$(OBJEXT) \
- tests/stub_HttpReply.$(OBJEXT) \
- tests/stub_HttpRequest.$(OBJEXT) tests/stub_libcomm.$(OBJEXT) \
- tests/stub_mime.$(OBJEXT) tests/stub_Port.$(OBJEXT) \
- tests/stub_stat.$(OBJEXT) tests/stub_store_client.$(OBJEXT) \
- tests/stub_store_stats.$(OBJEXT) \
- tests/stub_store_rebuild.$(OBJEXT) \
- tests/stub_store_swapout.$(OBJEXT) Transients.$(OBJEXT) \
- tests/stub_tools.$(OBJEXT) tests/stub_UdsOp.$(OBJEXT) \
- tests/testPackableStream.$(OBJEXT) tests/testStore.$(OBJEXT) \
- tests/testStoreController.$(OBJEXT) \
- tests/testStoreHashIndex.$(OBJEXT) \
- tests/testStoreSupport.$(OBJEXT) tests/TestSwapDir.$(OBJEXT) \
- tests/stub_time.$(OBJEXT) tests/stub_libanyp.$(OBJEXT) \
+ tests/stub_libsslsquid.$(OBJEXT) mem_node.$(OBJEXT) \
+ tests/stub_mime.$(OBJEXT) refresh.$(OBJEXT) \
+ tests/stub_stat.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
+ tests/stub_store_client.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) tests/stub_store_rebuild.$(OBJEXT) \
+ tests/stub_store_stats.$(OBJEXT) store_swapout.$(OBJEXT) \
+ tests/stub_store_swapout.$(OBJEXT) tests/TestSwapDir.$(OBJEXT) \
+ tests/stub_time.$(OBJEXT) tests/stub_tools.$(OBJEXT) \
wordlist.$(OBJEXT)
-nodist_tests_testStore_OBJECTS = SquidMath.$(OBJEXT) \
- swap_log_op.$(OBJEXT) $(am__objects_18)
+nodist_tests_testStore_OBJECTS = $(am__objects_18) SquidMath.$(OBJEXT) \
+ swap_log_op.$(OBJEXT)
tests_testStore_OBJECTS = $(am_tests_testStore_OBJECTS) \
$(nodist_tests_testStore_OBJECTS)
tests_testStore_DEPENDENCIES = libsquid.la http/libhttp.la \
@@ -1726,8 +1721,8 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testStore_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testString_OBJECTS = tests/testString.$(OBJEXT)
-nodist_tests_testString_OBJECTS = String.$(OBJEXT) \
- tests/stub_SBuf.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
+nodist_tests_testString_OBJECTS = tests/stub_SBuf.$(OBJEXT) \
+ String.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
tests/stub_libmem.$(OBJEXT)
tests_testString_OBJECTS = $(am_tests_testString_OBJECTS) \
$(nodist_tests_testString_OBJECTS)
@@ -1738,8 +1733,8 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testString_LDFLAGS) \
$(LDFLAGS) -o $@
am_tests_testTokenizer_OBJECTS = tests/testTokenizer.$(OBJEXT)
-nodist_tests_testTokenizer_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_StatHist.$(OBJEXT)
+nodist_tests_testTokenizer_OBJECTS = tests/stub_StatHist.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT) tests/stub_libmem.$(OBJEXT)
tests_testTokenizer_OBJECTS = $(am_tests_testTokenizer_OBJECTS) \
$(nodist_tests_testTokenizer_OBJECTS)
tests_testTokenizer_DEPENDENCIES = parser/libparser.la sbuf/libsbuf.la \
@@ -1751,13 +1746,12 @@
$(LDFLAGS) -o $@
am_tests_testURL_OBJECTS = tests/testURL.$(OBJEXT) \
tests/testUriScheme.$(OBJEXT)
-nodist_tests_testURL_OBJECTS = String.$(OBJEXT) \
- tests/stub_access_log.$(OBJEXT) tests/stub_cbdata.$(OBJEXT) \
- tests/stub_debug.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) \
+nodist_tests_testURL_OBJECTS = tests/stub_HelperChildConfig.$(OBJEXT) \
tests/stub_HttpHeader.$(OBJEXT) \
- tests/stub_HttpRequest.$(OBJEXT) tests/stub_libhttp.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) tests/stub_StatHist.$(OBJEXT)
+ tests/stub_HttpRequest.$(OBJEXT) tests/stub_StatHist.$(OBJEXT) \
+ String.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
+ tests/stub_cbdata.$(OBJEXT) tests/stub_debug.$(OBJEXT) \
+ tests/stub_libhttp.$(OBJEXT) tests/stub_libmem.$(OBJEXT)
tests_testURL_OBJECTS = $(am_tests_testURL_OBJECTS) \
$(nodist_tests_testURL_OBJECTS)
tests_testURL_DEPENDENCIES = libsquid.la proxyp/libproxyp.la \
@@ -1769,29 +1763,7 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testURL_LDFLAGS) $(LDFLAGS) \
-o $@
-am__tests_testUfs_SOURCES_DIST = AccessLogEntry.cc AccessLogEntry.h \
- tests/testUfs.cc tests/testUfs.h tests/stub_cache_manager.cc \
- tests/stub_client_db.cc tests/stub_CollapsedForwarding.cc \
- tests/stub_HelperChildConfig.cc tests/stub_icp.cc \
- tests/stub_ipc.cc tests/stub_ipcache.cc tests/stub_libeui.cc \
- tests/stub_libicmp.cc tests/stub_liblog.cc \
- tests/stub_neighbors.cc tests/stub_pconn.cc tests/stub_Port.cc \
- tests/stub_UdsOp.cc internal.h tests/stub_internal.cc \
- tests/stub_libformat.cc tests/stub_libsecurity.cc \
- tests/stub_stat.cc store_rebuild.h tests/stub_store_rebuild.cc \
- tests/stub_store_stats.cc fatal.h tests/stub_fatal.cc fd.h \
- fd.cc fde.h fde.cc client_db.h FadingCounter.cc fs_io.h \
- fs_io.cc FileMap.h filemap.cc HttpBody.h HttpBody.cc \
- HttpReply.cc int.h int.cc LogTags.cc RequestFlags.h \
- RequestFlags.cc Transients.cc MasterXaction.cc MasterXaction.h \
- MemObject.cc MemStore.cc Notes.h Notes.cc StoreSwapLogData.cc \
- StoreIOState.cc StoreMetaUnpacker.cc StoreMeta.cc StoreMeta.h \
- StoreMetaMD5.cc StoreMetaMD5.h StoreMetaSTD.cc StoreMetaSTD.h \
- StoreMetaSTDLFS.cc StoreMetaSTDLFS.h StoreMetaObjSize.h \
- StoreMetaURL.cc StoreMetaURL.h StoreMetaVary.cc \
- StoreMetaVary.h StoreFileSystem.cc store_io.cc \
- store_swapout.cc store_swapmeta.cc unlinkd.h unlinkd.cc \
- win32.cc event.cc BandwidthBucket.cc BandwidthBucket.h \
+am__tests_testUfs_SOURCES_DIST = BandwidthBucket.cc BandwidthBucket.h \
CommonPool.h CompositePoolNode.h delay_pools.cc DelayId.cc \
DelayId.h DelayIdComposite.h DelayBucket.cc DelayBucket.h \
DelayConfig.cc DelayConfig.h DelayPool.cc DelayPool.h \
@@ -1799,103 +1771,127 @@
DelayTagged.h DelayUser.cc DelayUser.h DelayVector.cc \
DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h CacheDigest.h \
- tests/stub_CacheDigest.cc ConfigParser.cc EventLoop.cc \
- RemovalPolicy.cc repl_modules.h store.cc store_key_md5.h \
- store_key_md5.cc Parsing.cc ConfigOption.cc tests/stub_acl.cc \
- cache_cf.h tests/stub_cache_cf.cc tests/stub_helper.cc \
- cbdata.cc tests/stub_SBufDetailedStats.cc String.cc \
- tests/stub_debug.cc tests/stub_client_side_request.cc \
- tests/stub_http.cc tests/stub_libauth.cc mem_node.cc stmem.cc \
- mime.h tests/stub_mime.cc HttpHeaderFieldInfo.h \
- HttpHeaderTools.h HttpHeaderTools.cc HttpHeader.h \
- HttpHeader.cc ClientInfo.h MemBuf.cc HttpHdrContRange.cc \
- HttpHeaderFieldStat.h HttpHdrCc.h HttpHdrCc.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc tests/stub_libanyp.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc StrList.h StrList.cc \
- HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
- tests/stub_HttpRequest.cc log/access_log.h \
- tests/stub_access_log.cc refresh.h refresh.cc \
- tests/stub_store_client.cc tools.h tests/stub_tools.cc \
- tests/testStoreSupport.cc tests/testStoreSupport.h time.cc \
- wordlist.h wordlist.cc
-@ENABLE_FS_UFS_TRUE@am_tests_testUfs_OBJECTS = \
-@ENABLE_FS_UFS_TRUE@ AccessLogEntry.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/testUfs.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_cache_manager.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_client_db.$(OBJEXT) \
+ ClientDelayConfig.cc ClientDelayConfig.h StoreMeta.cc \
+ StoreMeta.h StoreMetaMD5.cc StoreMetaMD5.h StoreMetaSTD.cc \
+ StoreMetaSTD.h StoreMetaSTDLFS.cc StoreMetaSTDLFS.h \
+ StoreMetaObjSize.h StoreMetaURL.cc StoreMetaURL.h \
+ StoreMetaVary.cc StoreMetaVary.h unlinkd.h unlinkd.cc win32.cc \
+ AccessLogEntry.cc AccessLogEntry.h tests/stub_CacheDigest.cc \
+ CacheDigest.h ClientInfo.h tests/stub_CollapsedForwarding.cc \
+ ConfigOption.cc ConfigParser.cc ETag.cc EventLoop.cc \
+ FadingCounter.cc FileMap.h tests/stub_HelperChildConfig.cc \
+ HttpBody.cc HttpBody.h HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc tests/stub_HttpRequest.cc \
+ LogTags.cc MasterXaction.cc MasterXaction.h MemBuf.cc \
+ MemObject.cc MemStore.cc Notes.cc Notes.h Parsing.cc \
+ tests/stub_Port.cc RemovalPolicy.cc RequestFlags.cc \
+ RequestFlags.h tests/stub_SBufDetailedStats.cc StatCounters.cc \
+ StatCounters.h StatHist.cc StatHist.h StoreFileSystem.cc \
+ StoreIOState.cc StoreMetaUnpacker.cc tests/testStoreSupport.cc \
+ tests/testStoreSupport.h StoreSwapLogData.cc StrList.cc \
+ StrList.h String.cc Transients.cc tests/stub_UdsOp.cc \
+ tests/testUfs.cc tests/testUfs.h tests/stub_access_log.cc \
+ tests/stub_acl.cc tests/stub_cache_cf.cc cache_cf.h \
+ tests/stub_cache_manager.cc cbdata.cc tests/stub_client_db.cc \
+ client_db.h tests/stub_client_side_request.cc \
+ tests/stub_debug.cc tests/stub_errorpage.cc event.cc \
+ tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc fde.h filemap.cc \
+ fs_io.cc fs_io.h tests/stub_helper.cc tests/stub_http.cc \
+ tests/stub_icp.cc int.cc int.h tests/stub_internal.cc \
+ internal.h tests/stub_ipc.cc tests/stub_ipcache.cc \
+ tests/stub_libanyp.cc tests/stub_libauth.cc \
+ tests/stub_liberror.cc tests/stub_libeui.cc \
+ tests/stub_libformat.cc tests/stub_libicmp.cc \
+ tests/stub_liblog.cc tests/stub_libsecurity.cc \
+ log/access_log.h mem_node.cc tests/stub_mime.cc mime.h \
+ tests/stub_neighbors.cc tests/stub_pconn.cc refresh.cc \
+ refresh.h repl_modules.h tests/stub_stat.cc stmem.cc store.cc \
+ tests/stub_store_client.cc store_io.cc store_key_md5.cc \
+ store_key_md5.h tests/stub_store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapmeta.cc store_swapout.cc \
+ time.cc tests/stub_tools.cc tools.h wordlist.cc wordlist.h
+@ENABLE_FS_UFS_TRUE@am_tests_testUfs_OBJECTS = $(am__objects_3) \
+@ENABLE_FS_UFS_TRUE@ $(am__objects_10) $(am__objects_11) \
+@ENABLE_FS_UFS_TRUE@ $(am__objects_12) AccessLogEntry.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_CacheDigest.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_CollapsedForwarding.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ ConfigOption.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ ConfigParser.$(OBJEXT) ETag.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ EventLoop.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ FadingCounter.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_HelperChildConfig.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_icp.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_ipc.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_ipcache.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libeui.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libicmp.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_liblog.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_neighbors.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_pconn.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpBody.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpHdrContRange.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpHdrScTarget.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpHeader.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ HttpReply.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ MemStore.$(OBJEXT) Notes.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ Parsing.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_Port.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_UdsOp.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_internal.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libformat.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libsecurity.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_stat.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_store_rebuild.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_store_stats.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ fde.$(OBJEXT) FadingCounter.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ fs_io.$(OBJEXT) filemap.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpBody.$(OBJEXT) HttpReply.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ int.$(OBJEXT) LogTags.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ RemovalPolicy.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ RequestFlags.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ Transients.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ MasterXaction.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ MemObject.$(OBJEXT) MemStore.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ Notes.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_SBufDetailedStats.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ StoreFileSystem.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ StoreIOState.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ StoreMetaUnpacker.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ $(am__objects_11) \
-@ENABLE_FS_UFS_TRUE@ StoreFileSystem.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ store_io.$(OBJEXT) store_swapout.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ store_swapmeta.$(OBJEXT) $(am__objects_12) \
-@ENABLE_FS_UFS_TRUE@ $(am__objects_13) event.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ $(am__objects_3) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_CacheDigest.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ ConfigParser.$(OBJEXT) EventLoop.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ RemovalPolicy.$(OBJEXT) store.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ store_key_md5.$(OBJEXT) Parsing.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ ConfigOption.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ StoreSwapLogData.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ StrList.$(OBJEXT) String.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ Transients.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_UdsOp.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/testUfs.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_access_log.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_acl.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_cache_cf.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_helper.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_cache_manager.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ cbdata.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_SBufDetailedStats.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ String.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_debug.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_client_db.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_client_side_request.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_debug.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_errorpage.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ event.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ fd.$(OBJEXT) fde.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ filemap.$(OBJEXT) fs_io.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_helper.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_http.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_icp.$(OBJEXT) int.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_internal.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_ipc.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_ipcache.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libanyp.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_libauth.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ mem_node.$(OBJEXT) stmem.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_liberror.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libeui.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libformat.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libicmp.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_liblog.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libsecurity.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ mem_node.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_mime.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpHeader.$(OBJEXT) MemBuf.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpHdrContRange.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ HttpHdrScTarget.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libanyp.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ StrList.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ ETag.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_errorpage.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_HttpRequest.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/stub_access_log.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_neighbors.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_pconn.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ refresh.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_stat.$(OBJEXT) stmem.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ store.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_store_client.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_store_rebuild.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ tests/stub_store_stats.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ store_swapmeta.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ store_swapout.$(OBJEXT) time.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ tests/stub_tools.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.$(OBJEXT) \
-@ENABLE_FS_UFS_TRUE@ time.$(OBJEXT) wordlist.$(OBJEXT)
+@ENABLE_FS_UFS_TRUE@ wordlist.$(OBJEXT)
@ENABLE_FS_UFS_TRUE@nodist_tests_testUfs_OBJECTS = $(am__objects_18) \
-@ENABLE_FS_UFS_TRUE@ hier_code.$(OBJEXT) SquidMath.$(OBJEXT) \
+@ENABLE_FS_UFS_TRUE@ SquidMath.$(OBJEXT) hier_code.$(OBJEXT) \
@ENABLE_FS_UFS_TRUE@ swap_log_op.$(OBJEXT)
tests_testUfs_OBJECTS = $(am_tests_testUfs_OBJECTS) \
$(nodist_tests_testUfs_OBJECTS)
@@ -1925,8 +1921,8 @@
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testUfs_LDFLAGS) $(LDFLAGS) \
-o $@
am_tests_testYesNoNone_OBJECTS = tests/testYesNoNone.$(OBJEXT)
-nodist_tests_testYesNoNone_OBJECTS = tests/stub_debug.$(OBJEXT) \
- tests/stub_SBuf.$(OBJEXT)
+nodist_tests_testYesNoNone_OBJECTS = tests/stub_SBuf.$(OBJEXT) \
+ tests/stub_debug.$(OBJEXT)
tests_testYesNoNone_OBJECTS = $(am_tests_testYesNoNone_OBJECTS) \
$(nodist_tests_testYesNoNone_OBJECTS)
tests_testYesNoNone_DEPENDENCIES = base/libbase.la \
@@ -1936,15 +1932,7 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_testYesNoNone_LDFLAGS) \
$(LDFLAGS) -o $@
-am__tests_test_http_range_SOURCES_DIST = AccessLogEntry.cc BodyPipe.cc \
- cache_cf.h AuthReg.h RefreshPattern.h CachePeer.cc CachePeer.h \
- cache_manager.cc CacheDigest.h tests/stub_CacheDigest.cc \
- carp.h tests/stub_carp.cc cbdata.cc tests/stub_client_db.cc \
- client_side.h client_side.cc client_side_reply.cc \
- client_side_request.cc ClientInfo.h clientStream.cc \
- tests/stub_CollapsedForwarding.cc ConfigOption.cc \
- ConfigParser.cc CpuAffinityMap.cc CpuAffinityMap.h \
- CpuAffinitySet.cc CpuAffinitySet.h debug.cc BandwidthBucket.cc \
+am__tests_test_http_range_SOURCES_DIST = BandwidthBucket.cc \
BandwidthBucket.h CommonPool.h CompositePoolNode.h \
delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
@@ -1952,109 +1940,118 @@
DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
DelayVector.cc DelayVector.h MessageBucket.cc MessageBucket.h \
MessageDelayPools.h MessageDelayPools.cc NullDelayId.h \
- ClientDelayConfig.cc ClientDelayConfig.h fs_io.h fs_io.cc \
- dlink.h dlink.cc dns_internal.cc errorpage.cc \
- tests/stub_ETag.cc event.cc FadingCounter.cc fatal.h \
- tests/stub_libauth.cc tests/stub_fatal.cc fd.h fd.cc fde.cc \
- FileMap.h filemap.cc fqdncache.h fqdncache.cc FwdState.cc \
- FwdState.h gopher.h tests/stub_gopher.cc HappyConnOpener.cc \
- HappyConnOpener.h helper.cc hier_code.h htcp.cc htcp.h http.cc \
- HttpBody.h HttpBody.cc tests/stub_HttpControlMsg.cc \
- HttpHeaderFieldStat.h HttpHdrCc.h HttpHdrCc.cc \
+ ClientDelayConfig.cc ClientDelayConfig.h dns_internal.cc \
+ htcp.cc htcp.h SquidIpc.h ipc.cc ipc_win32.cc SnmpRequest.h \
+ snmp_core.h snmp_core.cc snmp_agent.h snmp_agent.cc unlinkd.h \
+ unlinkd.cc win32.cc AccessLogEntry.cc AuthReg.h BodyPipe.cc \
+ tests/stub_CacheDigest.cc CacheDigest.h CachePeer.cc \
+ CachePeer.h ClientInfo.h tests/stub_CollapsedForwarding.cc \
+ ConfigOption.cc ConfigParser.cc CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h \
+ tests/stub_ETag.cc tests/stub_EventLoop.cc FadingCounter.cc \
+ FileMap.h FwdState.cc FwdState.h HappyConnOpener.cc \
+ HappyConnOpener.h HttpBody.cc HttpBody.h \
+ tests/stub_HttpControlMsg.cc HttpHdrCc.cc HttpHdrCc.h \
HttpHdrContRange.cc HttpHdrRange.cc HttpHdrSc.cc \
- HttpHdrScTarget.cc HttpHeader.h HttpHeader.cc \
- HttpHeaderFieldInfo.h HttpHeaderTools.h HttpHeaderTools.cc \
- HttpReply.cc PeerPoolMgr.h PeerPoolMgr.cc RequestFlags.h \
- RequestFlags.cc HttpRequest.cc icp_v2.cc icp_v3.cc int.h \
- int.cc internal.h internal.cc SquidIpc.h ipc.cc ipc_win32.cc \
- ipcache.cc LogTags.cc MasterXaction.cc MasterXaction.h \
- MemBuf.cc MemObject.cc tests/stub_libmem.cc mem_node.cc mime.h \
- mime.cc mime_header.h mime_header.cc multicast.h multicast.cc \
- neighbors.h neighbors.cc Notes.cc Notes.h Parsing.cc \
- peer_digest.cc peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.h \
- peer_sourcehash.cc peer_userhash.h peer_userhash.cc \
- Pipeline.cc Pipeline.h pconn.cc redirect.h \
- tests/stub_redirect.cc refresh.h refresh.cc RemovalPolicy.cc \
- ResolvedPeers.cc ResolvedPeers.h \
- tests/stub_SBufDetailedStats.cc SnmpRequest.h snmp_core.h \
- snmp_core.cc snmp_agent.h snmp_agent.cc SquidMath.h \
- SquidMath.cc IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc stmem.cc repl_modules.h \
- store.cc store_client.cc store_digest.h \
- tests/stub_store_digest.cc store_key_md5.h store_key_md5.cc \
- store_io.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \
- StoreIOState.cc tests/stub_StoreMeta.cc StoreMetaUnpacker.cc \
- StoreSwapLogData.cc String.cc StrList.h StrList.cc \
- tests/stub_libstore.cc Transients.cc tests/test_http_range.cc \
- tests/stub_cache_cf.cc tests/stub_external_acl.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_ipc_Forwarder.cc tests/stub_libdiskio.cc \
- tests/stub_libeui.cc tests/stub_libsecurity.cc \
- tests/stub_main_cc.cc tests/stub_MemStore.cc \
- tests/stub_store_stats.cc tests/stub_EventLoop.cc time.cc \
- tools.h tools.cc tests/stub_tunnel.cc unlinkd.h unlinkd.cc \
- urn.h urn.cc wccp2.h tests/stub_wccp2.cc whois.h \
- tests/stub_whois.cc win32.cc wordlist.h wordlist.cc
-am_tests_test_http_range_OBJECTS = AccessLogEntry.$(OBJEXT) \
- BodyPipe.$(OBJEXT) CachePeer.$(OBJEXT) cache_manager.$(OBJEXT) \
- tests/stub_CacheDigest.$(OBJEXT) tests/stub_carp.$(OBJEXT) \
- cbdata.$(OBJEXT) tests/stub_client_db.$(OBJEXT) \
- client_side.$(OBJEXT) client_side_reply.$(OBJEXT) \
- client_side_request.$(OBJEXT) clientStream.$(OBJEXT) \
- tests/stub_CollapsedForwarding.$(OBJEXT) \
+ HttpHdrScTarget.cc HttpHeader.cc HttpHeader.h \
+ HttpHeaderFieldInfo.h HttpHeaderFieldStat.h HttpHeaderTools.cc \
+ HttpHeaderTools.h HttpReply.cc HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc IoStats.h LogTags.cc \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ tests/stub_MemStore.cc Notes.cc Notes.h Parsing.cc \
+ PeerPoolMgr.cc PeerPoolMgr.h Pipeline.cc Pipeline.h \
+ RefreshPattern.h RemovalPolicy.cc RequestFlags.cc \
+ RequestFlags.h ResolvedPeers.cc ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc SquidMath.cc SquidMath.h \
+ StatCounters.cc StatCounters.h StatHist.cc StatHist.h \
+ StoreFileSystem.cc StoreIOState.cc tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc StoreSwapLogData.cc StrList.cc StrList.h \
+ String.cc Transients.cc tests/test_http_range.cc \
+ tests/stub_cache_cf.cc cache_cf.h cache_manager.cc \
+ tests/stub_carp.cc carp.h cbdata.cc clientStream.cc \
+ tests/stub_client_db.cc client_side.cc client_side.h \
+ client_side_reply.cc client_side_request.cc debug.cc dlink.cc \
+ dlink.h errorpage.cc event.cc tests/stub_external_acl.cc \
+ tests/stub_fatal.cc fatal.h fd.cc fd.h fde.cc filemap.cc \
+ fqdncache.cc fqdncache.h fs_io.cc fs_io.h tests/stub_gopher.cc \
+ gopher.h helper.cc hier_code.h http.cc icp_v2.cc icp_v3.cc \
+ int.cc int.h internal.cc internal.h \
+ tests/stub_ipc_Forwarder.cc ipcache.cc tests/stub_libauth.cc \
+ tests/stub_libdiskio.cc tests/stub_liberror.cc \
+ tests/stub_libeui.cc tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc tests/stub_libstore.cc \
+ tests/stub_main_cc.cc mem_node.cc mime.cc mime.h \
+ mime_header.cc mime_header.h multicast.cc multicast.h \
+ neighbors.cc neighbors.h pconn.cc peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h tests/stub_redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h stat.cc stat.h \
+ stmem.cc store.cc store_client.cc tests/stub_store_digest.cc \
+ store_digest.h store_io.cc store_key_md5.cc store_key_md5.h \
+ store_log.cc store_log.h store_rebuild.cc store_rebuild.h \
+ tests/stub_store_stats.cc store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc time.cc tools.cc tools.h \
+ tests/stub_tunnel.cc urn.cc urn.h tests/stub_wccp2.cc wccp2.h \
+ tests/stub_whois.cc whois.h wordlist.cc wordlist.h
+am_tests_test_http_range_OBJECTS = $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5) $(am__objects_6) $(am__objects_9) \
+ $(am__objects_11) $(am__objects_12) AccessLogEntry.$(OBJEXT) \
+ BodyPipe.$(OBJEXT) tests/stub_CacheDigest.$(OBJEXT) \
+ CachePeer.$(OBJEXT) tests/stub_CollapsedForwarding.$(OBJEXT) \
ConfigOption.$(OBJEXT) ConfigParser.$(OBJEXT) \
CpuAffinityMap.$(OBJEXT) CpuAffinitySet.$(OBJEXT) \
- debug.$(OBJEXT) $(am__objects_3) fs_io.$(OBJEXT) \
- dlink.$(OBJEXT) $(am__objects_4) errorpage.$(OBJEXT) \
- tests/stub_ETag.$(OBJEXT) event.$(OBJEXT) \
- FadingCounter.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
- tests/stub_fatal.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
- filemap.$(OBJEXT) fqdncache.$(OBJEXT) FwdState.$(OBJEXT) \
- tests/stub_gopher.$(OBJEXT) HappyConnOpener.$(OBJEXT) \
- helper.$(OBJEXT) $(am__objects_5) http.$(OBJEXT) \
- HttpBody.$(OBJEXT) tests/stub_HttpControlMsg.$(OBJEXT) \
- HttpHdrCc.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
- HttpHdrRange.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
- HttpHdrScTarget.$(OBJEXT) HttpHeader.$(OBJEXT) \
- HttpHeaderTools.$(OBJEXT) HttpReply.$(OBJEXT) \
- PeerPoolMgr.$(OBJEXT) RequestFlags.$(OBJEXT) \
- HttpRequest.$(OBJEXT) icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) \
- int.$(OBJEXT) internal.$(OBJEXT) $(am__objects_6) \
- ipcache.$(OBJEXT) LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) \
- MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \
- tests/stub_libmem.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
+ tests/stub_ETag.$(OBJEXT) tests/stub_EventLoop.$(OBJEXT) \
+ FadingCounter.$(OBJEXT) FwdState.$(OBJEXT) \
+ HappyConnOpener.$(OBJEXT) HttpBody.$(OBJEXT) \
+ tests/stub_HttpControlMsg.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
+ HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
+ HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) \
+ HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
+ HttpReply.$(OBJEXT) HttpRequest.$(OBJEXT) \
+ tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
+ LogTags.$(OBJEXT) MasterXaction.$(OBJEXT) MemBuf.$(OBJEXT) \
+ MemObject.$(OBJEXT) tests/stub_MemStore.$(OBJEXT) \
+ Notes.$(OBJEXT) Parsing.$(OBJEXT) PeerPoolMgr.$(OBJEXT) \
+ Pipeline.$(OBJEXT) RemovalPolicy.$(OBJEXT) \
+ RequestFlags.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
+ tests/stub_SBufDetailedStats.$(OBJEXT) SquidMath.$(OBJEXT) \
+ StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \
+ StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
+ tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
+ StoreSwapLogData.$(OBJEXT) StrList.$(OBJEXT) String.$(OBJEXT) \
+ Transients.$(OBJEXT) tests/test_http_range.$(OBJEXT) \
+ tests/stub_cache_cf.$(OBJEXT) cache_manager.$(OBJEXT) \
+ tests/stub_carp.$(OBJEXT) cbdata.$(OBJEXT) \
+ clientStream.$(OBJEXT) tests/stub_client_db.$(OBJEXT) \
+ client_side.$(OBJEXT) client_side_reply.$(OBJEXT) \
+ client_side_request.$(OBJEXT) debug.$(OBJEXT) dlink.$(OBJEXT) \
+ errorpage.$(OBJEXT) event.$(OBJEXT) \
+ tests/stub_external_acl.$(OBJEXT) tests/stub_fatal.$(OBJEXT) \
+ fd.$(OBJEXT) fde.$(OBJEXT) filemap.$(OBJEXT) \
+ fqdncache.$(OBJEXT) fs_io.$(OBJEXT) \
+ tests/stub_gopher.$(OBJEXT) helper.$(OBJEXT) http.$(OBJEXT) \
+ icp_v2.$(OBJEXT) icp_v3.$(OBJEXT) int.$(OBJEXT) \
+ internal.$(OBJEXT) tests/stub_ipc_Forwarder.$(OBJEXT) \
+ ipcache.$(OBJEXT) tests/stub_libauth.$(OBJEXT) \
+ tests/stub_libdiskio.$(OBJEXT) tests/stub_liberror.$(OBJEXT) \
+ tests/stub_libeui.$(OBJEXT) tests/stub_libmem.$(OBJEXT) \
+ tests/stub_libsecurity.$(OBJEXT) tests/stub_libstore.$(OBJEXT) \
+ tests/stub_main_cc.$(OBJEXT) mem_node.$(OBJEXT) mime.$(OBJEXT) \
mime_header.$(OBJEXT) multicast.$(OBJEXT) neighbors.$(OBJEXT) \
- Notes.$(OBJEXT) Parsing.$(OBJEXT) peer_digest.$(OBJEXT) \
+ pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
peer_proxy_negotiate_auth.$(OBJEXT) peer_select.$(OBJEXT) \
peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \
- Pipeline.$(OBJEXT) pconn.$(OBJEXT) \
- tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) \
- RemovalPolicy.$(OBJEXT) ResolvedPeers.$(OBJEXT) \
- tests/stub_SBufDetailedStats.$(OBJEXT) $(am__objects_10) \
- SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \
- StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \
- store_client.$(OBJEXT) tests/stub_store_digest.$(OBJEXT) \
- store_key_md5.$(OBJEXT) store_io.$(OBJEXT) store_log.$(OBJEXT) \
- store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
- store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
- StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \
- tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) StrList.$(OBJEXT) \
- tests/stub_libstore.$(OBJEXT) Transients.$(OBJEXT) \
- tests/test_http_range.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
- tests/stub_external_acl.$(OBJEXT) \
- tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT) \
- tests/stub_ipc_Forwarder.$(OBJEXT) \
- tests/stub_libdiskio.$(OBJEXT) tests/stub_libeui.$(OBJEXT) \
- tests/stub_libsecurity.$(OBJEXT) tests/stub_main_cc.$(OBJEXT) \
- tests/stub_MemStore.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
- tests/stub_EventLoop.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
- tests/stub_tunnel.$(OBJEXT) $(am__objects_12) urn.$(OBJEXT) \
+ tests/stub_redirect.$(OBJEXT) refresh.$(OBJEXT) stat.$(OBJEXT) \
+ stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \
+ tests/stub_store_digest.$(OBJEXT) store_io.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
+ store_rebuild.$(OBJEXT) tests/stub_store_stats.$(OBJEXT) \
+ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \
+ store_swapout.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \
+ tests/stub_tunnel.$(OBJEXT) urn.$(OBJEXT) \
tests/stub_wccp2.$(OBJEXT) tests/stub_whois.$(OBJEXT) \
- $(am__objects_13) wordlist.$(OBJEXT)
+ wordlist.$(OBJEXT)
nodist_tests_test_http_range_OBJECTS = $(am__objects_17)
tests_test_http_range_OBJECTS = $(am_tests_test_http_range_OBJECTS) \
$(nodist_tests_test_http_range_OBJECTS)
@@ -2073,25 +2070,27 @@
$(top_builddir)/lib/libmiscutil.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3) \
+ $(am__DEPENDENCIES_1)
tests_test_http_range_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(tests_test_http_range_LDFLAGS) \
$(LDFLAGS) -o $@
-am__ufsdump_SOURCES_DIST = ClientInfo.h cbdata.h cbdata.cc debug.cc \
- int.h int.cc mem/forward.h MemBuf.cc MemBuf.h Parsing.h \
- store_key_md5.h store_key_md5.cc tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc String.cc SquidNew.cc tests/stub_time.cc \
- ufsdump.cc dlink.h dlink.cc helper/ChildConfig.h \
- tests/stub_HelperChildConfig.cc RemovalPolicy.cc win32.cc fd.h \
- tests/stub_fd.cc
-am_ufsdump_OBJECTS = cbdata.$(OBJEXT) debug.$(OBJEXT) int.$(OBJEXT) \
- MemBuf.$(OBJEXT) store_key_md5.$(OBJEXT) \
+am__ufsdump_SOURCES_DIST = win32.cc ClientInfo.h \
+ tests/stub_HelperChildConfig.cc MemBuf.cc MemBuf.h Parsing.h \
+ RemovalPolicy.cc SquidNew.cc tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc String.cc cbdata.cc cbdata.h debug.cc \
+ dlink.cc dlink.h tests/stub_fd.cc fd.h helper/ChildConfig.h \
+ int.cc int.h mem/forward.h store_key_md5.cc store_key_md5.h \
+ tests/stub_time.cc ufsdump.cc
+am_ufsdump_OBJECTS = $(am__objects_12) \
+ tests/stub_HelperChildConfig.$(OBJEXT) MemBuf.$(OBJEXT) \
+ RemovalPolicy.$(OBJEXT) SquidNew.$(OBJEXT) \
tests/stub_StoreMeta.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \
- String.$(OBJEXT) SquidNew.$(OBJEXT) tests/stub_time.$(OBJEXT) \
- ufsdump.$(OBJEXT) dlink.$(OBJEXT) \
- tests/stub_HelperChildConfig.$(OBJEXT) RemovalPolicy.$(OBJEXT) \
- $(am__objects_13) tests/stub_fd.$(OBJEXT)
+ String.$(OBJEXT) cbdata.$(OBJEXT) debug.$(OBJEXT) \
+ dlink.$(OBJEXT) tests/stub_fd.$(OBJEXT) int.$(OBJEXT) \
+ store_key_md5.$(OBJEXT) tests/stub_time.$(OBJEXT) \
+ ufsdump.$(OBJEXT)
nodist_ufsdump_OBJECTS = globals.$(OBJEXT)
ufsdump_OBJECTS = $(am_ufsdump_OBJECTS) $(nodist_ufsdump_OBJECTS)
am_unlinkd_OBJECTS = unlinkd_daemon.$(OBJEXT)
@@ -2164,7 +2163,6 @@
./$(DEPDIR)/client_side_request.Po ./$(DEPDIR)/comm.Plo \
./$(DEPDIR)/debug.Po ./$(DEPDIR)/delay_pools.Po \
./$(DEPDIR)/dlink.Po ./$(DEPDIR)/dns_internal.Po \
- ./$(DEPDIR)/err_detail_type.Po ./$(DEPDIR)/err_type.Po \
./$(DEPDIR)/errorpage.Po ./$(DEPDIR)/event.Po \
./$(DEPDIR)/external_acl.Po ./$(DEPDIR)/fatal.Po \
./$(DEPDIR)/fd.Po ./$(DEPDIR)/fde.Po ./$(DEPDIR)/filemap.Po \
@@ -2240,6 +2238,7 @@
tests/$(DEPDIR)/stub_libauth_acls.Po \
tests/$(DEPDIR)/stub_libcomm.Po \
tests/$(DEPDIR)/stub_libdiskio.Po \
+ tests/$(DEPDIR)/stub_liberror.Po \
tests/$(DEPDIR)/stub_libeui.Po \
tests/$(DEPDIR)/stub_libformat.Po \
tests/$(DEPDIR)/stub_libhttp.Po \
@@ -2970,18 +2969,19 @@
StoreMetaVary.h
LOADABLE_MODULES_SOURCES = \
- LoadableModule.h \
LoadableModule.cc \
- LoadableModules.h \
- LoadableModules.cc
+ LoadableModule.h \
+ LoadableModules.cc \
+ LoadableModules.h
-SUBDIRS = mem base anyp helper dns ftp parser comm eui acl format \
- clients sbuf servers fs repl store DiskIO proxyp \
+SUBDIRS = mem base anyp helper dns ftp parser comm error eui acl \
+ format clients sbuf servers fs repl store DiskIO proxyp \
$(am__append_2) http ip icmp ident log ipc mgr $(am__append_3) \
security $(am__append_5) $(am__append_6) $(am__append_7)
-DIST_SUBDIRS = mem base anyp helper dns ftp parser comm eui acl format \
- clients sbuf servers fs repl store DiskIO proxyp auth http ip \
- icmp ident log ipc mgr ssl security snmp adaptation esi
+DIST_SUBDIRS = mem base anyp helper dns ftp parser comm error eui acl \
+ format clients sbuf servers fs repl store DiskIO proxyp auth \
+ http ip icmp ident log ipc mgr ssl security snmp adaptation \
+ esi
@ENABLE_AUTH_TRUE@AUTH_LIBS = auth/libauth.la
@ENABLE_AUTH_TRUE@AUTH_ACL_LIBS = auth/libacls.la
SSL_LIBS = $(am__append_4)
@@ -3061,106 +3061,109 @@
cf_gen_SOURCES = cf_gen.cc
nodist_cf_gen_HEADER = cf_gen_defines.cci
cf_gen_LDADD =
-ACL_REGISTRATION_SOURCES = AclRegs.cc AuthReg.cc
+ACL_REGISTRATION_SOURCES = \
+ AclRegs.cc \
+ AuthReg.cc
+
# common library for all the binaries and tests. This is kindof a catch all
# and smaller libraries split from this are encouraged. Using lt convenience
# libraries, dependencies should not be a problem either.
libsquid_la_SOURCES = \
- comm.cc \
- comm.h \
CommCalls.cc \
CommCalls.h \
DescriptorSet.cc \
DescriptorSet.h \
+ SquidConfig.cc \
SquidConfig.h \
- SquidConfig.cc
+ comm.cc \
+ comm.h
-squid_SOURCES = $(ACL_REGISTRATION_SOURCES) AccessLogEntry.cc \
- AccessLogEntry.h AsyncEngine.cc AsyncEngine.h cache_cf.h \
- AuthReg.h RefreshPattern.h cache_cf.cc CacheDigest.h \
- CacheDigest.cc cache_manager.cc NeighborTypeDomainList.h \
- CachePeer.cc CachePeer.h CacheManager.h carp.h carp.cc \
- cbdata.cc cbdata.h client_db.h client_db.cc client_side.h \
- client_side.cc client_side.h client_side_reply.cc \
- client_side_reply.h client_side_request.cc \
- client_side_request.h ClientInfo.h BodyPipe.cc BodyPipe.h \
- ClientInfo.h ClientRequestContext.h clientStream.cc \
- clientStream.h clientStreamForward.h CollapsedForwarding.cc \
- CollapsedForwarding.h CollapsingHistory.h CommandLine.cc \
- CommandLine.h CompletionDispatcher.cc CompletionDispatcher.h \
- CommRead.h ConfigOption.cc ConfigParser.cc ConfigParser.h \
- CpuAffinity.cc CpuAffinity.h CpuAffinityMap.cc \
- CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h debug.cc \
- Debug.h defines.h $(DELAY_POOL_SOURCE) fs_io.h fs_io.cc \
- dlink.h dlink.cc $(DNSSOURCE) Downloader.cc Downloader.h \
- enums.h err_type.h err_detail_type.h errorpage.cc errorpage.h \
- ETag.cc ETag.h event.cc event.h EventLoop.h EventLoop.cc \
- external_acl.cc ExternalACL.h ExternalACLEntry.cc \
- ExternalACLEntry.h FadingCounter.h FadingCounter.cc fatal.h \
- fatal.cc fd.h fd.cc fde.cc fde.h FileMap.h filemap.cc \
- fqdncache.h fqdncache.cc FwdState.cc FwdState.h Generic.h \
- globals.h gopher.h gopher.cc HappyConnOpener.cc \
- HappyConnOpener.h helper.cc helper.h hier_code.h \
- HierarchyLogEntry.h $(HTCPSOURCE) HttpUpgradeProtocolAccess.cc \
- HttpUpgradeProtocolAccess.h http.cc http.h \
- HttpHeaderFieldStat.h HttpHdrCc.h HttpHdrCc.cc HttpHdrRange.cc \
+squid_SOURCES = $(ACL_REGISTRATION_SOURCES) $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) $(HTCPSOURCE) $(IPC_SOURCE) $(LEAKFINDERSOURCE) \
+ $(SNMP_SOURCE) $(STOREMETA_SOURCE) $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) $(WINSVC_SOURCE) $(XPROF_STATS_SOURCE) \
+ AccessLogEntry.cc AccessLogEntry.h AsyncEngine.cc \
+ AsyncEngine.h AuthReg.h BodyPipe.cc BodyPipe.h CacheDigest.cc \
+ CacheDigest.h CacheManager.h CachePeer.cc CachePeer.h \
+ ClientInfo.h ClientRequestContext.h CollapsedForwarding.cc \
+ CollapsedForwarding.h CollapsingHistory.h CommRead.h \
+ CommandLine.cc CommandLine.h CompletionDispatcher.cc \
+ CompletionDispatcher.h ConfigOption.cc ConfigParser.cc \
+ ConfigParser.h CpuAffinity.cc CpuAffinity.h CpuAffinityMap.cc \
+ CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h Debug.h \
+ Downloader.cc Downloader.h ETag.cc ETag.h EventLoop.cc \
+ EventLoop.h ExternalACL.h ExternalACLEntry.cc \
+ ExternalACLEntry.h FadingCounter.cc FadingCounter.h FileMap.h \
+ FwdState.cc FwdState.h Generic.h HappyConnOpener.cc \
+ HappyConnOpener.h HierarchyLogEntry.h HttpBody.cc HttpBody.h \
+ HttpControlMsg.cc HttpControlMsg.h HttpHdrCc.cc HttpHdrCc.h \
+ HttpHdrContRange.cc HttpHdrContRange.h HttpHdrRange.cc \
HttpHdrSc.cc HttpHdrSc.h HttpHdrScTarget.cc HttpHdrScTarget.h \
- HttpHdrContRange.cc HttpHdrContRange.h HttpHeaderStat.h \
- HttpHeader.h HttpHeader.cc HttpHeaderMask.h HttpHeaderRange.h \
- HttpHeaderFieldInfo.h HttpHeaderTools.h HttpHeaderTools.cc \
- HttpBody.h HttpBody.cc HttpControlMsg.cc HttpControlMsg.h \
- HttpReply.cc HttpReply.h RequestFlags.h RequestFlags.cc \
- HttpRequest.cc HttpRequest.h ICP.h icp_opcode.h icp_v2.cc \
- icp_v3.cc Instance.h Instance.cc int.h int.cc internal.h \
- internal.cc $(IPC_SOURCE) ipcache.cc ipcache.h \
- $(LEAKFINDERSOURCE) LogTags.cc LogTags.h lookup_t.h main.cc \
- MasterXaction.cc MasterXaction.h mem_node.cc mem_node.h \
- MemBuf.cc MemObject.cc MemObject.h MessageSizes.h mime.h \
- mime.cc mime_header.h mime_header.cc multicast.h multicast.cc \
- neighbors.h neighbors.cc Notes.h Notes.cc Parsing.cc Parsing.h \
- $(XPROF_STATS_SOURCE) pconn.cc pconn.h PeerDigest.h \
- peer_digest.cc peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.h \
- peer_sourcehash.cc peer_userhash.h peer_userhash.cc \
- PeerPoolMgr.h PeerPoolMgr.cc PeerSelectState.h PingData.h \
- Pipeline.cc Pipeline.h protos.h redirect.h redirect.cc \
- refresh.h refresh.cc RemovalPolicy.cc RemovalPolicy.h \
- ResolvedPeers.cc ResolvedPeers.h send-announce.h \
- send-announce.cc SBufStatsAction.h SBufStatsAction.cc \
- sbuf/StringConvert.h $(SNMP_SOURCE) SquidMath.h SquidMath.cc \
- SquidNew.cc IoStats.h stat.h stat.cc StatCounters.h \
- StatCounters.cc StatHist.h StatHist.cc String.cc StrList.h \
- StrList.cc stmem.cc stmem.h repl_modules.h store.cc Store.h \
- StoreFileSystem.cc StoreFileSystem.h store_io.cc \
- StoreIOBuffer.h StoreIOState.cc StoreIOState.h store_client.cc \
- StoreClient.h store_digest.h store_digest.cc store_key_md5.h \
- store_key_md5.cc store_log.h store_log.cc store_rebuild.h \
- store_rebuild.cc store_swapin.h store_swapin.cc \
- store_swapmeta.cc store_swapout.cc StoreMetaUnpacker.cc \
- StoreMetaUnpacker.h $(STOREMETA_SOURCE) StoreSearch.h \
- StoreStats.cc StoreStats.h StoreSwapLogData.cc \
- StoreSwapLogData.h swap_log_op.h Transients.cc Transients.h \
- MemStore.cc MemStore.h time.cc TimeOrTag.h tools.h tools.cc \
- tunnel.cc typedefs.h $(UNLINKDSOURCE) urn.h urn.cc wccp.h \
- wccp.cc wccp2.h wccp2.cc whois.h whois.cc wordlist.h \
- wordlist.cc XactionInitiator.h XactionInitiator.cc \
- XactionStep.h $(WIN32_SOURCE) $(WINSVC_SOURCE) $(am__append_8)
+ HttpHeader.cc HttpHeader.h HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h HttpHeaderMask.h HttpHeaderRange.h \
+ HttpHeaderStat.h HttpHeaderTools.cc HttpHeaderTools.h \
+ HttpReply.cc HttpReply.h HttpRequest.cc HttpRequest.h \
+ HttpUpgradeProtocolAccess.cc HttpUpgradeProtocolAccess.h ICP.h \
+ Instance.cc Instance.h IoStats.h LogTags.cc LogTags.h \
+ MasterXaction.cc MasterXaction.h MemBuf.cc MemObject.cc \
+ MemObject.h MemStore.cc MemStore.h MessageSizes.h \
+ NeighborTypeDomainList.h Notes.cc Notes.h Parsing.cc Parsing.h \
+ PeerDigest.h PeerPoolMgr.cc PeerPoolMgr.h PeerSelectState.h \
+ PingData.h Pipeline.cc Pipeline.h RefreshPattern.h \
+ RemovalPolicy.cc RemovalPolicy.h RequestFlags.cc \
+ RequestFlags.h ResolvedPeers.cc ResolvedPeers.h \
+ SBufStatsAction.cc SBufStatsAction.h SquidMath.cc SquidMath.h \
+ SquidNew.cc StatCounters.cc StatCounters.h StatHist.cc \
+ StatHist.h Store.h StoreClient.h StoreFileSystem.cc \
+ StoreFileSystem.h StoreIOBuffer.h StoreIOState.cc \
+ StoreIOState.h StoreMetaUnpacker.cc StoreMetaUnpacker.h \
+ StoreSearch.h StoreStats.cc StoreStats.h StoreSwapLogData.cc \
+ StoreSwapLogData.h StrList.cc StrList.h String.cc TimeOrTag.h \
+ Transients.cc Transients.h XactionInitiator.cc \
+ XactionInitiator.h XactionStep.h cache_cf.cc cache_cf.h \
+ cache_manager.cc carp.cc carp.h cbdata.cc cbdata.h \
+ clientStream.cc clientStream.h clientStreamForward.h \
+ client_db.cc client_db.h client_side.cc client_side.h \
+ client_side_reply.cc client_side_reply.h \
+ client_side_request.cc client_side_request.h debug.cc \
+ defines.h dlink.cc dlink.h enums.h errorpage.cc errorpage.h \
+ event.cc event.h external_acl.cc fatal.cc fatal.h fd.cc fd.h \
+ fde.cc fde.h filemap.cc fqdncache.cc fqdncache.h fs_io.cc \
+ fs_io.h globals.h gopher.cc gopher.h helper.cc helper.h \
+ hier_code.h http.cc http.h icp_opcode.h icp_v2.cc icp_v3.cc \
+ int.cc int.h internal.cc internal.h ipcache.cc ipcache.h \
+ lookup_t.h main.cc mem_node.cc mem_node.h mime.cc mime.h \
+ mime_header.cc mime_header.h multicast.cc multicast.h \
+ neighbors.cc neighbors.h pconn.cc pconn.h peer_digest.cc \
+ peer_proxy_negotiate_auth.cc peer_proxy_negotiate_auth.h \
+ peer_select.cc peer_sourcehash.cc peer_sourcehash.h \
+ peer_userhash.cc peer_userhash.h protos.h redirect.cc \
+ redirect.h refresh.cc refresh.h repl_modules.h \
+ sbuf/StringConvert.h send-announce.cc send-announce.h stat.cc \
+ stat.h stmem.cc stmem.h store.cc store_client.cc \
+ store_digest.cc store_digest.h store_io.cc store_key_md5.cc \
+ store_key_md5.h store_log.cc store_log.h store_rebuild.cc \
+ store_rebuild.h store_swapin.cc store_swapin.h \
+ store_swapmeta.cc store_swapout.cc swap_log_op.h time.cc \
+ tools.cc tools.h tunnel.cc typedefs.h urn.cc urn.h wccp.cc \
+ wccp.h wccp2.cc wccp2.h whois.cc whois.h wordlist.cc \
+ wordlist.h $(am__append_8)
EXTRA_squid_SOURCES = \
+ $(DELAY_POOL_ALL_SOURCE) \
+ $(LOADABLE_MODULES_SOURCES) \
+ $(SNMP_ALL_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_ALL_SOURCE) \
$(all_AUTHMODULES) \
ConfigOption.h \
- $(DELAY_POOL_ALL_SOURCE) \
+ LeakFinder.cc \
+ LeakFinder.h \
+ ProfStats.cc \
htcp.cc \
htcp.h \
ipc.cc \
- ipc_win32.cc \
- ProfStats.cc \
- LeakFinder.cc \
- LeakFinder.h \
- $(SNMP_ALL_SOURCE) \
- $(UNLINKDSOURCE) \
- $(WIN32_ALL_SOURCE) \
- $(LOADABLE_MODULES_SOURCES)
+ ipc_win32.cc
noinst_HEADERS = \
MemBuf.h \
@@ -3170,8 +3173,6 @@
BUILT_SOURCES = \
cf_gen_defines.cci \
cf_parser.cci \
- err_type.cc \
- err_detail_type.cc \
globals.cc \
hier_code.cc \
icp_opcode.cc \
@@ -3188,13 +3189,13 @@
helper/libhelper.la http/libhttp.la dns/libdns.la \
base/libbase.la libsquid.la ip/libip.la fs/libfs.la \
DiskIO/libdiskio.la comm/libcomm.la anyp/libanyp.la \
- security/libsecurity.la $(SSL_LIBS) ipc/libipc.la \
- mgr/libmgr.la proxyp/libproxyp.la parser/libparser.la \
- eui/libeui.la icmp/libicmp.la log/liblog.la \
- format/libformat.la sbuf/libsbuf.la $(XTRA_OBJS) $(REPL_OBJS) \
- $(NETTLELIB) $(CRYPTLIB) $(REGEXLIB) $(ADAPTATION_LIBS) \
- $(ESI_LIBS) $(SNMP_LIBS) mem/libmem.la store/libstore.la \
- $(top_builddir)/lib/libmisccontainers.la \
+ security/libsecurity.la $(SSL_LIBS) error/liberror.la \
+ ipc/libipc.la mgr/libmgr.la proxyp/libproxyp.la \
+ parser/libparser.la eui/libeui.la icmp/libicmp.la \
+ log/liblog.la format/libformat.la sbuf/libsbuf.la $(XTRA_OBJS) \
+ $(REPL_OBJS) $(NETTLELIB) $(CRYPTLIB) $(REGEXLIB) \
+ $(ADAPTATION_LIBS) $(ESI_LIBS) $(SNMP_LIBS) mem/libmem.la \
+ store/libstore.la $(top_builddir)/lib/libmisccontainers.la \
$(top_builddir)/lib/libmiscencoding.la \
$(top_builddir)/lib/libmiscutil.la $(SSLLIB) $(EPOLL_LIBS) \
$(MINGW_LIBS) $(KRB5LIBS) $(SYSTEMD_LIBS) $(COMPAT_LIB) \
@@ -3207,32 +3208,32 @@
recv_announce_SOURCES = recv-announce.cc
ufsdump_SOURCES = \
+ $(WIN32_SOURCE) \
ClientInfo.h \
- cbdata.h \
- cbdata.cc \
- debug.cc \
- int.h \
- int.cc \
- mem/forward.h \
+ tests/stub_HelperChildConfig.cc \
MemBuf.cc \
MemBuf.h \
Parsing.h \
- store_key_md5.h \
- store_key_md5.cc \
+ RemovalPolicy.cc \
+ SquidNew.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
String.cc \
- SquidNew.cc \
- tests/stub_time.cc \
- ufsdump.cc \
- dlink.h \
+ cbdata.cc \
+ cbdata.h \
+ debug.cc \
dlink.cc \
- helper/ChildConfig.h \
- tests/stub_HelperChildConfig.cc \
- RemovalPolicy.cc \
- $(WIN32_SOURCE) \
+ dlink.h \
+ tests/stub_fd.cc \
fd.h \
- tests/stub_fd.cc
+ helper/ChildConfig.h \
+ int.cc \
+ int.h \
+ mem/forward.h \
+ store_key_md5.cc \
+ store_key_md5.h \
+ tests/stub_time.cc \
+ ufsdump.cc
ufsdump_LDADD = \
ident/libident.la \
@@ -3345,6 +3346,7 @@
tests/stub_libauth.cc \
tests/stub_libcomm.cc \
tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libhttp.cc \
@@ -3471,10 +3473,10 @@
tests/testLookupTable.h
nodist_tests_testLookupTable_SOURCES = \
+ tests/stub_SBufDetailedStats.cc \
base/LookupTable.h \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_SBufDetailedStats.cc
+ tests/stub_libmem.cc
tests_testLookupTable_LDADD = \
sbuf/libsbuf.la \
@@ -3502,9 +3504,9 @@
tests/testYesNoNone.h
nodist_tests_testYesNoNone_SOURCES = \
+ tests/stub_SBuf.cc \
base/YesNoNone.h \
- tests/stub_debug.cc \
- tests/stub_SBuf.cc
+ tests/stub_debug.cc
tests_testYesNoNone_LDADD = \
base/libbase.la \
@@ -3520,18 +3522,18 @@
tests/testUriScheme.h
nodist_tests_testURL_SOURCES = \
- anyp/Uri.h \
- anyp/UriScheme.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/stub_HttpHeader.cc \
+ tests/stub_HttpRequest.cc \
+ tests/stub_StatHist.cc \
String.cc \
tests/stub_access_log.cc \
+ anyp/Uri.h \
+ anyp/UriScheme.h \
tests/stub_cbdata.cc \
tests/stub_debug.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpHeader.cc \
- tests/stub_HttpRequest.cc \
tests/stub_libhttp.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testURL_LDADD = \
libsquid.la \
@@ -3564,10 +3566,10 @@
tests/testTokenizer.h
nodist_tests_testTokenizer_SOURCES = \
- parser/Tokenizer.h \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ parser/Tokenizer.h
tests_testTokenizer_LDADD = \
parser/libparser.la \
@@ -3579,15 +3581,15 @@
tests_testTokenizer_LDFLAGS = $(LIBADD_DL)
tests_testSBuf_SOURCES = \
- tests/SBufFindTest.cc \
- tests/SBufFindTest.h \
tests/testSBuf.cc \
- tests/testSBuf.h
+ tests/testSBuf.h \
+ tests/SBufFindTest.cc \
+ tests/SBufFindTest.h
nodist_tests_testSBuf_SOURCES = \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testSBuf_LDADD = \
sbuf/libsbuf.la \
@@ -3602,9 +3604,9 @@
tests/testSBufList.h
nodist_tests_testSBufList_SOURCES = \
+ tests/stub_StatHist.cc \
tests/stub_debug.cc \
- tests/stub_libmem.cc \
- tests/stub_StatHist.cc
+ tests/stub_libmem.cc
tests_testSBufList_LDADD = \
sbuf/libsbuf.la \
@@ -3619,8 +3621,8 @@
tests/testString.h
nodist_tests_testString_SOURCES = \
- String.cc \
tests/stub_SBuf.cc \
+ String.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc
@@ -3632,133 +3634,134 @@
tests_testString_LDFLAGS = $(LIBADD_DL)
@ENABLE_FS_ROCK_TRUE@tests_testRock_SOURCES = \
+@ENABLE_FS_ROCK_TRUE@ $(DELAY_POOL_SOURCE) \
+@ENABLE_FS_ROCK_TRUE@ $(STOREMETA_SOURCE) \
+@ENABLE_FS_ROCK_TRUE@ $(UNLINKDSOURCE) \
@ENABLE_FS_ROCK_TRUE@ AccessLogEntry.cc \
@ENABLE_FS_ROCK_TRUE@ AccessLogEntry.h \
-@ENABLE_FS_ROCK_TRUE@ cbdata.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_CacheDigest.cc \
@ENABLE_FS_ROCK_TRUE@ CacheDigest.h \
-@ENABLE_FS_ROCK_TRUE@ CollapsedForwarding.h \
@ENABLE_FS_ROCK_TRUE@ CollapsedForwarding.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_CacheDigest.cc \
+@ENABLE_FS_ROCK_TRUE@ CollapsedForwarding.h \
@ENABLE_FS_ROCK_TRUE@ ConfigOption.cc \
@ENABLE_FS_ROCK_TRUE@ ConfigParser.cc \
-@ENABLE_FS_ROCK_TRUE@ fs_io.h \
-@ENABLE_FS_ROCK_TRUE@ fs_io.cc \
@ENABLE_FS_ROCK_TRUE@ ETag.cc \
@ENABLE_FS_ROCK_TRUE@ EventLoop.cc \
-@ENABLE_FS_ROCK_TRUE@ event.cc \
@ENABLE_FS_ROCK_TRUE@ FadingCounter.cc \
-@ENABLE_FS_ROCK_TRUE@ fatal.h \
-@ENABLE_FS_ROCK_TRUE@ fatal.cc \
-@ENABLE_FS_ROCK_TRUE@ fd.h \
-@ENABLE_FS_ROCK_TRUE@ fd.cc \
-@ENABLE_FS_ROCK_TRUE@ fde.h \
-@ENABLE_FS_ROCK_TRUE@ fde.cc \
@ENABLE_FS_ROCK_TRUE@ FileMap.h \
-@ENABLE_FS_ROCK_TRUE@ filemap.cc \
-@ENABLE_FS_ROCK_TRUE@ HttpHeaderFieldStat.h \
-@ENABLE_FS_ROCK_TRUE@ HttpBody.h \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_HelperChildConfig.cc \
@ENABLE_FS_ROCK_TRUE@ HttpBody.cc \
+@ENABLE_FS_ROCK_TRUE@ HttpBody.h \
@ENABLE_FS_ROCK_TRUE@ HttpHdrCc.cc \
@ENABLE_FS_ROCK_TRUE@ HttpHdrContRange.cc \
@ENABLE_FS_ROCK_TRUE@ HttpHdrRange.cc \
@ENABLE_FS_ROCK_TRUE@ HttpHdrSc.cc \
@ENABLE_FS_ROCK_TRUE@ HttpHdrScTarget.cc \
-@ENABLE_FS_ROCK_TRUE@ HttpHeader.h \
@ENABLE_FS_ROCK_TRUE@ HttpHeader.cc \
+@ENABLE_FS_ROCK_TRUE@ HttpHeader.h \
@ENABLE_FS_ROCK_TRUE@ HttpHeaderFieldInfo.h \
-@ENABLE_FS_ROCK_TRUE@ HttpHeaderTools.h \
+@ENABLE_FS_ROCK_TRUE@ HttpHeaderFieldStat.h \
@ENABLE_FS_ROCK_TRUE@ HttpHeaderTools.cc \
+@ENABLE_FS_ROCK_TRUE@ HttpHeaderTools.h \
@ENABLE_FS_ROCK_TRUE@ HttpReply.cc \
-@ENABLE_FS_ROCK_TRUE@ int.h \
-@ENABLE_FS_ROCK_TRUE@ int.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_HttpRequest.cc \
@ENABLE_FS_ROCK_TRUE@ LogTags.cc \
@ENABLE_FS_ROCK_TRUE@ MasterXaction.cc \
@ENABLE_FS_ROCK_TRUE@ MasterXaction.h \
@ENABLE_FS_ROCK_TRUE@ MemBuf.cc \
@ENABLE_FS_ROCK_TRUE@ MemObject.cc \
@ENABLE_FS_ROCK_TRUE@ MemStore.cc \
-@ENABLE_FS_ROCK_TRUE@ mem_node.cc \
-@ENABLE_FS_ROCK_TRUE@ Notes.h \
@ENABLE_FS_ROCK_TRUE@ Notes.cc \
+@ENABLE_FS_ROCK_TRUE@ Notes.h \
@ENABLE_FS_ROCK_TRUE@ Parsing.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_Port.cc \
@ENABLE_FS_ROCK_TRUE@ RemovalPolicy.cc \
@ENABLE_FS_ROCK_TRUE@ RequestFlags.cc \
@ENABLE_FS_ROCK_TRUE@ RequestFlags.h \
@ENABLE_FS_ROCK_TRUE@ ResolvedPeers.cc \
@ENABLE_FS_ROCK_TRUE@ ResolvedPeers.h \
-@ENABLE_FS_ROCK_TRUE@ StatCounters.h \
+@ENABLE_FS_ROCK_TRUE@ tests/testRock.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/testRock.h \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_SBufDetailedStats.cc \
@ENABLE_FS_ROCK_TRUE@ StatCounters.cc \
-@ENABLE_FS_ROCK_TRUE@ StatHist.h \
+@ENABLE_FS_ROCK_TRUE@ StatCounters.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_StatHist.cc \
-@ENABLE_FS_ROCK_TRUE@ stmem.cc \
-@ENABLE_FS_ROCK_TRUE@ repl_modules.h \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_stat.cc \
-@ENABLE_FS_ROCK_TRUE@ store.cc \
+@ENABLE_FS_ROCK_TRUE@ StatHist.h \
@ENABLE_FS_ROCK_TRUE@ StoreFileSystem.cc \
@ENABLE_FS_ROCK_TRUE@ StoreIOState.cc \
@ENABLE_FS_ROCK_TRUE@ StoreMetaUnpacker.cc \
-@ENABLE_FS_ROCK_TRUE@ $(STOREMETA_SOURCE) \
+@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.h \
@ENABLE_FS_ROCK_TRUE@ StoreSwapLogData.cc \
-@ENABLE_FS_ROCK_TRUE@ store_io.cc \
-@ENABLE_FS_ROCK_TRUE@ store_key_md5.h \
-@ENABLE_FS_ROCK_TRUE@ store_key_md5.cc \
-@ENABLE_FS_ROCK_TRUE@ store_swapmeta.cc \
-@ENABLE_FS_ROCK_TRUE@ store_swapout.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_SBufDetailedStats.cc \
-@ENABLE_FS_ROCK_TRUE@ String.cc \
-@ENABLE_FS_ROCK_TRUE@ StrList.h \
@ENABLE_FS_ROCK_TRUE@ StrList.cc \
-@ENABLE_FS_ROCK_TRUE@ Transients.h \
+@ENABLE_FS_ROCK_TRUE@ StrList.h \
+@ENABLE_FS_ROCK_TRUE@ String.cc \
@ENABLE_FS_ROCK_TRUE@ Transients.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/testRock.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/testRock.h \
-@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/testStoreSupport.h \
-@ENABLE_FS_ROCK_TRUE@ log/access_log.h \
+@ENABLE_FS_ROCK_TRUE@ Transients.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_access_log.cc \
-@ENABLE_FS_ROCK_TRUE@ cache_cf.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_cache_cf.cc \
+@ENABLE_FS_ROCK_TRUE@ cache_cf.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_cache_manager.cc \
+@ENABLE_FS_ROCK_TRUE@ cbdata.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_client_db.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_client_side_request.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_debug.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_errorpage.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_HelperChildConfig.cc \
+@ENABLE_FS_ROCK_TRUE@ event.cc \
+@ENABLE_FS_ROCK_TRUE@ fatal.cc \
+@ENABLE_FS_ROCK_TRUE@ fatal.h \
+@ENABLE_FS_ROCK_TRUE@ fd.cc \
+@ENABLE_FS_ROCK_TRUE@ fd.h \
+@ENABLE_FS_ROCK_TRUE@ fde.cc \
+@ENABLE_FS_ROCK_TRUE@ fde.h \
+@ENABLE_FS_ROCK_TRUE@ filemap.cc \
+@ENABLE_FS_ROCK_TRUE@ fs_io.cc \
+@ENABLE_FS_ROCK_TRUE@ fs_io.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_http.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_HttpRequest.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_libauth.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_icp.cc \
+@ENABLE_FS_ROCK_TRUE@ int.cc \
+@ENABLE_FS_ROCK_TRUE@ int.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_ipc.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_ipcache.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_libanyp.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_libauth.cc \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_liberror.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libeui.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libformat.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libicmp.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_liblog.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libmgr.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_libsecurity.cc \
-@ENABLE_FS_ROCK_TRUE@ mime.h \
+@ENABLE_FS_ROCK_TRUE@ log/access_log.h \
+@ENABLE_FS_ROCK_TRUE@ mem_node.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_mime.cc \
+@ENABLE_FS_ROCK_TRUE@ mime.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_neighbors.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_Port.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_pconn.cc \
+@ENABLE_FS_ROCK_TRUE@ repl_modules.h \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_stat.cc \
+@ENABLE_FS_ROCK_TRUE@ stmem.cc \
+@ENABLE_FS_ROCK_TRUE@ store.cc \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_client.cc \
-@ENABLE_FS_ROCK_TRUE@ store_rebuild.h \
+@ENABLE_FS_ROCK_TRUE@ store_io.cc \
+@ENABLE_FS_ROCK_TRUE@ store_key_md5.cc \
+@ENABLE_FS_ROCK_TRUE@ store_key_md5.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_rebuild.cc \
+@ENABLE_FS_ROCK_TRUE@ store_rebuild.h \
@ENABLE_FS_ROCK_TRUE@ tests/stub_store_stats.cc \
-@ENABLE_FS_ROCK_TRUE@ tools.h \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_tools.cc \
+@ENABLE_FS_ROCK_TRUE@ store_swapmeta.cc \
+@ENABLE_FS_ROCK_TRUE@ store_swapout.cc \
@ENABLE_FS_ROCK_TRUE@ time.cc \
-@ENABLE_FS_ROCK_TRUE@ tests/stub_libanyp.cc \
-@ENABLE_FS_ROCK_TRUE@ wordlist.h \
+@ENABLE_FS_ROCK_TRUE@ tests/stub_tools.cc \
+@ENABLE_FS_ROCK_TRUE@ tools.h \
@ENABLE_FS_ROCK_TRUE@ wordlist.cc \
-@ENABLE_FS_ROCK_TRUE@ $(DELAY_POOL_SOURCE) \
-@ENABLE_FS_ROCK_TRUE@ $(UNLINKDSOURCE)
+@ENABLE_FS_ROCK_TRUE@ wordlist.h
@ENABLE_FS_ROCK_TRUE@nodist_tests_testRock_SOURCES = \
@ENABLE_FS_ROCK_TRUE@ $(TESTSOURCES) \
-@ENABLE_FS_ROCK_TRUE@ hier_code.cc \
@ENABLE_FS_ROCK_TRUE@ SquidMath.cc \
@ENABLE_FS_ROCK_TRUE@ SquidMath.h \
+@ENABLE_FS_ROCK_TRUE@ hier_code.cc \
@ENABLE_FS_ROCK_TRUE@ swap_log_op.cc
@ENABLE_FS_ROCK_TRUE@tests_testRock_LDADD = \
@@ -3795,139 +3798,140 @@
@ENABLE_FS_ROCK_TRUE@tests_testRock_LDFLAGS = $(AM_CPPFLAGS) $(LIBADD_DL)
@ENABLE_FS_UFS_TRUE@tests_testUfs_SOURCES = \
+@ENABLE_FS_UFS_TRUE@ $(DELAY_POOL_SOURCE) \
+@ENABLE_FS_UFS_TRUE@ $(STOREMETA_SOURCE) \
+@ENABLE_FS_UFS_TRUE@ $(UNLINKDSOURCE) \
+@ENABLE_FS_UFS_TRUE@ $(WIN32_SOURCE) \
@ENABLE_FS_UFS_TRUE@ AccessLogEntry.cc \
@ENABLE_FS_UFS_TRUE@ AccessLogEntry.h \
-@ENABLE_FS_UFS_TRUE@ tests/testUfs.cc \
-@ENABLE_FS_UFS_TRUE@ tests/testUfs.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_cache_manager.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_client_db.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_CacheDigest.cc \
+@ENABLE_FS_UFS_TRUE@ CacheDigest.h \
+@ENABLE_FS_UFS_TRUE@ ClientInfo.h \
@ENABLE_FS_UFS_TRUE@ tests/stub_CollapsedForwarding.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_HelperChildConfig.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_icp.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_ipc.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_ipcache.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libeui.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libicmp.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_liblog.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_neighbors.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_pconn.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_Port.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_UdsOp.cc \
-@ENABLE_FS_UFS_TRUE@ internal.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_internal.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libformat.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libsecurity.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_stat.cc \
-@ENABLE_FS_UFS_TRUE@ store_rebuild.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_store_rebuild.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_store_stats.cc \
-@ENABLE_FS_UFS_TRUE@ fatal.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_fatal.cc \
-@ENABLE_FS_UFS_TRUE@ fd.h \
-@ENABLE_FS_UFS_TRUE@ fd.cc \
-@ENABLE_FS_UFS_TRUE@ fde.h \
-@ENABLE_FS_UFS_TRUE@ fde.cc \
-@ENABLE_FS_UFS_TRUE@ client_db.h \
+@ENABLE_FS_UFS_TRUE@ ConfigOption.cc \
+@ENABLE_FS_UFS_TRUE@ ConfigParser.cc \
+@ENABLE_FS_UFS_TRUE@ ETag.cc \
+@ENABLE_FS_UFS_TRUE@ EventLoop.cc \
@ENABLE_FS_UFS_TRUE@ FadingCounter.cc \
-@ENABLE_FS_UFS_TRUE@ fs_io.h \
-@ENABLE_FS_UFS_TRUE@ fs_io.cc \
@ENABLE_FS_UFS_TRUE@ FileMap.h \
-@ENABLE_FS_UFS_TRUE@ filemap.cc \
-@ENABLE_FS_UFS_TRUE@ HttpBody.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_HelperChildConfig.cc \
@ENABLE_FS_UFS_TRUE@ HttpBody.cc \
+@ENABLE_FS_UFS_TRUE@ HttpBody.h \
+@ENABLE_FS_UFS_TRUE@ HttpHdrCc.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHdrCc.h \
+@ENABLE_FS_UFS_TRUE@ HttpHdrContRange.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHdrRange.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHdrSc.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHdrScTarget.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHeader.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHeader.h \
+@ENABLE_FS_UFS_TRUE@ HttpHeaderFieldInfo.h \
+@ENABLE_FS_UFS_TRUE@ HttpHeaderFieldStat.h \
+@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.cc \
+@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.h \
@ENABLE_FS_UFS_TRUE@ HttpReply.cc \
-@ENABLE_FS_UFS_TRUE@ int.h \
-@ENABLE_FS_UFS_TRUE@ int.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_HttpRequest.cc \
@ENABLE_FS_UFS_TRUE@ LogTags.cc \
-@ENABLE_FS_UFS_TRUE@ RequestFlags.h \
-@ENABLE_FS_UFS_TRUE@ RequestFlags.cc \
-@ENABLE_FS_UFS_TRUE@ Transients.cc \
@ENABLE_FS_UFS_TRUE@ MasterXaction.cc \
@ENABLE_FS_UFS_TRUE@ MasterXaction.h \
+@ENABLE_FS_UFS_TRUE@ MemBuf.cc \
@ENABLE_FS_UFS_TRUE@ MemObject.cc \
@ENABLE_FS_UFS_TRUE@ MemStore.cc \
-@ENABLE_FS_UFS_TRUE@ Notes.h \
@ENABLE_FS_UFS_TRUE@ Notes.cc \
-@ENABLE_FS_UFS_TRUE@ StoreSwapLogData.cc \
+@ENABLE_FS_UFS_TRUE@ Notes.h \
+@ENABLE_FS_UFS_TRUE@ Parsing.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_Port.cc \
+@ENABLE_FS_UFS_TRUE@ RemovalPolicy.cc \
+@ENABLE_FS_UFS_TRUE@ RequestFlags.cc \
+@ENABLE_FS_UFS_TRUE@ RequestFlags.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_SBufDetailedStats.cc \
+@ENABLE_FS_UFS_TRUE@ StatCounters.cc \
+@ENABLE_FS_UFS_TRUE@ StatCounters.h \
+@ENABLE_FS_UFS_TRUE@ StatHist.cc \
+@ENABLE_FS_UFS_TRUE@ StatHist.h \
+@ENABLE_FS_UFS_TRUE@ StoreFileSystem.cc \
@ENABLE_FS_UFS_TRUE@ StoreIOState.cc \
@ENABLE_FS_UFS_TRUE@ StoreMetaUnpacker.cc \
-@ENABLE_FS_UFS_TRUE@ $(STOREMETA_SOURCE) \
-@ENABLE_FS_UFS_TRUE@ StoreFileSystem.cc \
-@ENABLE_FS_UFS_TRUE@ store_io.cc \
-@ENABLE_FS_UFS_TRUE@ store_swapout.cc \
-@ENABLE_FS_UFS_TRUE@ store_swapmeta.cc \
-@ENABLE_FS_UFS_TRUE@ $(UNLINKDSOURCE) \
-@ENABLE_FS_UFS_TRUE@ $(WIN32_SOURCE) \
-@ENABLE_FS_UFS_TRUE@ event.cc \
-@ENABLE_FS_UFS_TRUE@ $(DELAY_POOL_SOURCE) \
-@ENABLE_FS_UFS_TRUE@ CacheDigest.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_CacheDigest.cc \
-@ENABLE_FS_UFS_TRUE@ ConfigParser.cc \
-@ENABLE_FS_UFS_TRUE@ EventLoop.cc \
-@ENABLE_FS_UFS_TRUE@ RemovalPolicy.cc \
-@ENABLE_FS_UFS_TRUE@ repl_modules.h \
-@ENABLE_FS_UFS_TRUE@ store.cc \
-@ENABLE_FS_UFS_TRUE@ store_key_md5.h \
-@ENABLE_FS_UFS_TRUE@ store_key_md5.cc \
-@ENABLE_FS_UFS_TRUE@ Parsing.cc \
-@ENABLE_FS_UFS_TRUE@ ConfigOption.cc \
+@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.cc \
+@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.h \
+@ENABLE_FS_UFS_TRUE@ StoreSwapLogData.cc \
+@ENABLE_FS_UFS_TRUE@ StrList.cc \
+@ENABLE_FS_UFS_TRUE@ StrList.h \
+@ENABLE_FS_UFS_TRUE@ String.cc \
+@ENABLE_FS_UFS_TRUE@ Transients.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_UdsOp.cc \
+@ENABLE_FS_UFS_TRUE@ tests/testUfs.cc \
+@ENABLE_FS_UFS_TRUE@ tests/testUfs.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_access_log.cc \
@ENABLE_FS_UFS_TRUE@ tests/stub_acl.cc \
-@ENABLE_FS_UFS_TRUE@ cache_cf.h \
@ENABLE_FS_UFS_TRUE@ tests/stub_cache_cf.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_helper.cc \
+@ENABLE_FS_UFS_TRUE@ cache_cf.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_cache_manager.cc \
@ENABLE_FS_UFS_TRUE@ cbdata.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_SBufDetailedStats.cc \
-@ENABLE_FS_UFS_TRUE@ String.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_debug.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_client_db.cc \
+@ENABLE_FS_UFS_TRUE@ client_db.h \
@ENABLE_FS_UFS_TRUE@ tests/stub_client_side_request.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_debug.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_errorpage.cc \
+@ENABLE_FS_UFS_TRUE@ event.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_fatal.cc \
+@ENABLE_FS_UFS_TRUE@ fatal.h \
+@ENABLE_FS_UFS_TRUE@ fd.cc \
+@ENABLE_FS_UFS_TRUE@ fd.h \
+@ENABLE_FS_UFS_TRUE@ fde.cc \
+@ENABLE_FS_UFS_TRUE@ fde.h \
+@ENABLE_FS_UFS_TRUE@ filemap.cc \
+@ENABLE_FS_UFS_TRUE@ fs_io.cc \
+@ENABLE_FS_UFS_TRUE@ fs_io.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_helper.cc \
@ENABLE_FS_UFS_TRUE@ tests/stub_http.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_icp.cc \
+@ENABLE_FS_UFS_TRUE@ int.cc \
+@ENABLE_FS_UFS_TRUE@ int.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_internal.cc \
+@ENABLE_FS_UFS_TRUE@ internal.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_ipc.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_ipcache.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libanyp.cc \
@ENABLE_FS_UFS_TRUE@ tests/stub_libauth.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_liberror.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libeui.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libformat.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libicmp.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_liblog.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_libsecurity.cc \
+@ENABLE_FS_UFS_TRUE@ log/access_log.h \
@ENABLE_FS_UFS_TRUE@ mem_node.cc \
-@ENABLE_FS_UFS_TRUE@ stmem.cc \
-@ENABLE_FS_UFS_TRUE@ mime.h \
@ENABLE_FS_UFS_TRUE@ tests/stub_mime.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHeaderFieldInfo.h \
-@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.h \
-@ENABLE_FS_UFS_TRUE@ HttpHeaderTools.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHeader.h \
-@ENABLE_FS_UFS_TRUE@ HttpHeader.cc \
-@ENABLE_FS_UFS_TRUE@ ClientInfo.h \
-@ENABLE_FS_UFS_TRUE@ MemBuf.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHdrContRange.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHeaderFieldStat.h \
-@ENABLE_FS_UFS_TRUE@ HttpHdrCc.h \
-@ENABLE_FS_UFS_TRUE@ HttpHdrCc.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHdrSc.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHdrScTarget.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_libanyp.cc \
-@ENABLE_FS_UFS_TRUE@ StatCounters.h \
-@ENABLE_FS_UFS_TRUE@ StatCounters.cc \
-@ENABLE_FS_UFS_TRUE@ StatHist.h \
-@ENABLE_FS_UFS_TRUE@ StatHist.cc \
-@ENABLE_FS_UFS_TRUE@ StrList.h \
-@ENABLE_FS_UFS_TRUE@ StrList.cc \
-@ENABLE_FS_UFS_TRUE@ HttpHdrRange.cc \
-@ENABLE_FS_UFS_TRUE@ ETag.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_errorpage.cc \
-@ENABLE_FS_UFS_TRUE@ tests/stub_HttpRequest.cc \
-@ENABLE_FS_UFS_TRUE@ log/access_log.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_access_log.cc \
-@ENABLE_FS_UFS_TRUE@ refresh.h \
+@ENABLE_FS_UFS_TRUE@ mime.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_neighbors.cc \
+@ENABLE_FS_UFS_TRUE@ tests/stub_pconn.cc \
@ENABLE_FS_UFS_TRUE@ refresh.cc \
+@ENABLE_FS_UFS_TRUE@ refresh.h \
+@ENABLE_FS_UFS_TRUE@ repl_modules.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_stat.cc \
+@ENABLE_FS_UFS_TRUE@ stmem.cc \
+@ENABLE_FS_UFS_TRUE@ store.cc \
@ENABLE_FS_UFS_TRUE@ tests/stub_store_client.cc \
-@ENABLE_FS_UFS_TRUE@ tools.h \
-@ENABLE_FS_UFS_TRUE@ tests/stub_tools.cc \
-@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.cc \
-@ENABLE_FS_UFS_TRUE@ tests/testStoreSupport.h \
+@ENABLE_FS_UFS_TRUE@ store_io.cc \
+@ENABLE_FS_UFS_TRUE@ store_key_md5.cc \
+@ENABLE_FS_UFS_TRUE@ store_key_md5.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_store_rebuild.cc \
+@ENABLE_FS_UFS_TRUE@ store_rebuild.h \
+@ENABLE_FS_UFS_TRUE@ tests/stub_store_stats.cc \
+@ENABLE_FS_UFS_TRUE@ store_swapmeta.cc \
+@ENABLE_FS_UFS_TRUE@ store_swapout.cc \
@ENABLE_FS_UFS_TRUE@ time.cc \
-@ENABLE_FS_UFS_TRUE@ wordlist.h \
-@ENABLE_FS_UFS_TRUE@ wordlist.cc
+@ENABLE_FS_UFS_TRUE@ tests/stub_tools.cc \
+@ENABLE_FS_UFS_TRUE@ tools.h \
+@ENABLE_FS_UFS_TRUE@ wordlist.cc \
+@ENABLE_FS_UFS_TRUE@ wordlist.h
@ENABLE_FS_UFS_TRUE@nodist_tests_testUfs_SOURCES = \
@ENABLE_FS_UFS_TRUE@ $(TESTSOURCES) \
-@ENABLE_FS_UFS_TRUE@ hier_code.cc \
@ENABLE_FS_UFS_TRUE@ SquidMath.cc \
@ENABLE_FS_UFS_TRUE@ SquidMath.h \
+@ENABLE_FS_UFS_TRUE@ hier_code.cc \
@ENABLE_FS_UFS_TRUE@ swap_log_op.cc
@ENABLE_FS_UFS_TRUE@tests_testUfs_LDADD = \
@@ -3969,133 +3973,134 @@
@ENABLE_FS_UFS_TRUE@tests_testUfs_LDFLAGS = $(LIBADD_DL)
tests_testStore_SOURCES = \
- CacheDigest.h \
+ $(DELAY_POOL_SOURCE) \
tests/stub_CacheDigest.cc \
- cbdata.cc \
+ CacheDigest.h \
ClientInfo.h \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
ETag.cc \
- event.cc \
EventLoop.cc \
- fatal.h \
- tests/stub_fatal.cc \
FileMap.h \
- filemap.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ tests/stub_HelperChildConfig.cc \
+ HttpBody.cc \
+ HttpBody.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
- HttpHeader.h \
- HttpHeader.cc \
- RequestFlags.cc \
- RequestFlags.h \
- int.h \
- int.cc \
+ HttpHeaderTools.h \
+ tests/stub_HttpReply.cc \
+ tests/stub_HttpRequest.cc \
MasterXaction.cc \
MasterXaction.h \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
MemStore.cc \
- Notes.h \
Notes.cc \
+ Notes.h \
+ tests/testPackableStream.cc \
+ tests/testPackableStream.h \
Parsing.cc \
+ tests/stub_Port.cc \
RemovalPolicy.cc \
- refresh.h \
- refresh.cc \
- StatCounters.h \
+ RequestFlags.cc \
+ RequestFlags.h \
+ tests/stub_SBufDetailedStats.cc \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
- repl_modules.h \
- store.cc \
- store_io.cc \
- store_swapout.cc \
+ StatHist.h \
+ tests/testStore.cc \
+ tests/testStore.h \
+ tests/testStoreController.cc \
+ tests/testStoreController.h \
+ tests/testStoreHashIndex.cc \
+ tests/testStoreHashIndex.h \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
StoreSwapLogData.cc \
- store_key_md5.h \
- store_key_md5.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/CapturingStoreEntry.h \
- log/access_log.h \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
tests/stub_client_side_request.cc \
tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
+ event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ tests/stub_fd.cc \
fd.h \
fde.h \
- tests/stub_fd.cc \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc \
tests/stub_http.cc \
+ int.cc \
+ int.h \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
- tests/stub_libeui.cc \
+ tests/stub_libcomm.cc \
tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libsecurity.cc \
tests/stub_libsslsquid.cc \
- HttpBody.h \
- HttpBody.cc \
- tests/stub_HttpReply.cc \
- tests/stub_HttpRequest.cc \
- tests/stub_libcomm.cc \
- mime.h \
+ log/access_log.h \
+ mem_node.cc \
tests/stub_mime.cc \
- tests/stub_Port.cc \
+ mime.h \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- tests/stub_store_stats.cc \
- store_rebuild.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
tests/stub_store_rebuild.cc \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
+ store_swapout.cc \
tests/stub_store_swapout.cc \
- tools.h \
- Transients.cc \
- tests/stub_tools.cc \
- tests/stub_UdsOp.cc \
- tests/testPackableStream.cc \
- tests/testPackableStream.h \
- tests/testStore.cc \
- tests/testStore.h \
- tests/testStoreController.cc \
- tests/testStoreController.h \
- tests/testStoreHashIndex.cc \
- tests/testStoreHashIndex.h \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
+ tests/CapturingStoreEntry.h \
tests/TestSwapDir.cc \
tests/TestSwapDir.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testStore_SOURCES = \
+ $(TESTSOURCES) \
SquidMath.cc \
SquidMath.h \
- swap_log_op.cc \
- $(TESTSOURCES)
+ swap_log_op.cc
tests_testStore_LDADD = \
libsquid.la \
@@ -4129,144 +4134,145 @@
tests_testStore_LDFLAGS = $(LIBADD_DL)
tests_testDiskIO_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
AccessLogEntry.h \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cbdata.cc \
- client_db.h \
+ CacheDigest.h \
ClientInfo.h \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
- $(DELAY_POOL_SOURCE) \
- FadingCounter.cc \
- fs_io.h \
- fs_io.cc \
+ tests/testDiskIO.cc \
+ tests/testDiskIO.h \
tests/stub_ETag.cc \
EventLoop.cc \
- event.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.h \
- fde.cc \
+ FadingCounter.cc \
FileMap.h \
- filemap.cc \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
+ HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
- HttpHdrRange.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
- HttpHeader.h \
- HttpHeader.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- int.h \
- int.cc \
+ tests/stub_HttpRequest.cc \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
- mem_node.cc \
- Notes.h \
+ tests/stub_MemStore.cc \
Notes.cc \
+ Notes.h \
Parsing.cc \
- refresh.h \
- refresh.cc \
+ tests/stub_Port.cc \
RemovalPolicy.cc \
- RequestFlags.h \
RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
- tests/stub_libsecurity.cc \
- StatCounters.h \
+ tests/stub_SBufDetailedStats.cc \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
tests/stub_StatHist.cc \
- stmem.cc \
- tests/stub_SBufDetailedStats.cc \
+ StatHist.h \
StoreFileSystem.cc \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
+ tests/testStoreSupport.cc \
+ tests/testStoreSupport.h \
StoreSwapLogData.cc \
- store_io.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_swapout.cc \
- store_swapmeta.cc \
- repl_modules.h \
- store.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/stub_libstore.cc \
+ StrList.h \
+ String.cc \
Transients.cc \
- log/access_log.h \
+ tests/stub_UdsOp.cc \
tests/stub_access_log.cc \
tests/stub_acl.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
tests/stub_client_db.cc \
- client_side_request.h \
+ client_db.h \
tests/stub_client_side_request.cc \
+ client_side_request.h \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
+ event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fde.h \
+ filemap.cc \
+ fs_io.cc \
+ fs_io.h \
tests/stub_helper.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_HttpRequest.cc \
tests/stub_http.cc \
tests/stub_icp.cc \
- internal.h \
+ int.cc \
+ int.h \
tests/stub_internal.cc \
+ internal.h \
tests/stub_ipc.cc \
tests/stub_ipcache.cc \
- tests/stub_libauth_acls.cc \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
tests/stub_libformat.cc \
tests/stub_libicmp.cc \
tests/stub_liblog.cc \
- tests/stub_MemStore.cc \
- mime.h \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ log/access_log.h \
+ mem_node.cc \
tests/stub_mime.cc \
+ mime.h \
tests/stub_neighbors.cc \
tests/stub_pconn.cc \
- tests/stub_Port.cc \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
tests/stub_stat.cc \
+ stmem.cc \
+ store.cc \
tests/stub_store_client.cc \
- tests/stub_store_stats.cc \
- store_rebuild.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
tests/stub_store_rebuild.cc \
- tests/stub_UdsOp.cc \
- tests/testDiskIO.cc \
- tests/testDiskIO.h \
- tests/testStoreSupport.cc \
- tests/testStoreSupport.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
+ store_swapmeta.cc \
+ store_swapout.cc \
tests/stub_time.cc \
- $(UNLINKDSOURCE) \
- tests/stub_libanyp.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc \
+ tests/stub_tools.cc \
tools.h \
- tests/stub_tools.cc
+ wordlist.cc \
+ wordlist.h
nodist_tests_testDiskIO_SOURCES = \
$(TESTSOURCES) \
- hier_code.cc \
SquidMath.cc \
SquidMath.h \
+ hier_code.cc \
swap_log_op.cc
tests_testDiskIO_LDADD = \
@@ -4312,26 +4318,26 @@
@ENABLE_AUTH_TRUE@nodist_tests_testACLMaxUserIP_SOURCES = \
@ENABLE_AUTH_TRUE@ ConfigParser.cc \
-@ENABLE_AUTH_TRUE@ dlink.cc \
-@ENABLE_AUTH_TRUE@ globals.cc \
+@ENABLE_AUTH_TRUE@ tests/stub_HelperChildConfig.cc \
+@ENABLE_AUTH_TRUE@ tests/stub_HttpHeader.cc \
+@ENABLE_AUTH_TRUE@ tests/stub_HttpRequest.cc \
+@ENABLE_AUTH_TRUE@ tests/stub_MemBuf.cc \
@ENABLE_AUTH_TRUE@ Parsing.cc \
+@ENABLE_AUTH_TRUE@ tests/stub_StatHist.cc \
@ENABLE_AUTH_TRUE@ String.cc \
@ENABLE_AUTH_TRUE@ tests/stub_access_log.cc \
@ENABLE_AUTH_TRUE@ tests/stub_cache_cf.cc \
@ENABLE_AUTH_TRUE@ tests/stub_cbdata.cc \
@ENABLE_AUTH_TRUE@ tests/stub_client_side.cc \
@ENABLE_AUTH_TRUE@ tests/stub_debug.cc \
+@ENABLE_AUTH_TRUE@ dlink.cc \
@ENABLE_AUTH_TRUE@ tests/stub_errorpage.cc \
@ENABLE_AUTH_TRUE@ tests/stub_fatal.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_HelperChildConfig.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_HttpHeader.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_HttpRequest.cc \
+@ENABLE_AUTH_TRUE@ globals.cc \
@ENABLE_AUTH_TRUE@ tests/stub_libauth.cc \
@ENABLE_AUTH_TRUE@ tests/stub_libhttp.cc \
@ENABLE_AUTH_TRUE@ tests/stub_libmem.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_libsecurity.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_MemBuf.cc \
-@ENABLE_AUTH_TRUE@ tests/stub_StatHist.cc
+@ENABLE_AUTH_TRUE@ tests/stub_libsecurity.cc
@ENABLE_AUTH_TRUE@tests_testACLMaxUserIP_LDADD = \
@ENABLE_AUTH_TRUE@ $(AUTH_ACL_LIBS) \
@@ -4350,26 +4356,21 @@
@ENABLE_AUTH_TRUE@tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
tests_test_http_range_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- BodyPipe.cc \
- cache_cf.h \
AuthReg.h \
- RefreshPattern.h \
+ BodyPipe.cc \
+ tests/stub_CacheDigest.cc \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- cache_manager.cc \
- CacheDigest.h \
- tests/stub_CacheDigest.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -4377,166 +4378,172 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
+ tests/stub_EventLoop.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_libauth.cc \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
- HttpHeader.h \
HttpHeader.cc \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
- PeerPoolMgr.cc \
- RequestFlags.h \
- RequestFlags.cc \
HttpRequest.cc \
- icp_v2.cc \
- icp_v3.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
- tests/stub_libmem.cc \
- mem_node.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- multicast.h \
- multicast.cc \
- neighbors.h \
- neighbors.cc \
+ tests/stub_MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
+ PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- pconn.cc \
- redirect.h \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
- repl_modules.h \
- store.cc \
- store_client.cc \
- store_digest.h \
- tests/stub_store_digest.cc \
- store_key_md5.h \
- store_key_md5.cc \
- store_io.cc \
- store_log.h \
- store_log.cc \
- store_rebuild.h \
- store_rebuild.cc \
- store_swapin.h \
- store_swapin.cc \
- store_swapmeta.cc \
- store_swapout.cc \
+ StatHist.h \
StoreFileSystem.cc \
StoreIOState.cc \
tests/stub_StoreMeta.cc \
StoreMetaUnpacker.cc \
StoreSwapLogData.cc \
- String.cc \
- StrList.h \
StrList.cc \
- tests/stub_libstore.cc \
+ StrList.h \
+ String.cc \
Transients.cc \
tests/test_http_range.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
tests/stub_external_acl.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
tests/stub_libeui.cc \
+ tests/stub_libmem.cc \
tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
tests/stub_main_cc.cc \
- tests/stub_MemStore.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
+ repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
+ store.cc \
+ store_client.cc \
+ tests/stub_store_digest.cc \
+ store_digest.h \
+ store_io.cc \
+ store_key_md5.cc \
+ store_key_md5.h \
+ store_log.cc \
+ store_log.h \
+ store_rebuild.cc \
+ store_rebuild.h \
tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
+ store_swapin.cc \
+ store_swapin.h \
+ store_swapmeta.cc \
+ store_swapout.cc \
time.cc \
- tools.h \
tools.cc \
+ tools.h \
tests/stub_tunnel.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_test_http_range_SOURCES = \
$(BUILT_SOURCES)
@@ -4581,40 +4588,41 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_test_http_range_LDFLAGS = $(LIBADD_DL)
tests_testHttp1Parser_SOURCES = \
Debug.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/testHttp1Parser.cc \
+ tests/testHttp1Parser.h \
MemBuf.cc \
MemBuf.h \
tests/stub_MemObject.cc \
- mime_header.cc \
- mime_header.h \
- String.cc \
- cache_cf.h \
tests/stub_SBufDetailedStats.cc \
+ String.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
- tests/stub_comm.cc \
tests/stub_cbdata.cc \
+ tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_event.cc \
- tests/stub_HelperChildConfig.cc \
+ tests/stub_libanyp.cc \
tests/stub_libmem.cc \
tests/stub_libsecurity.cc \
+ mime_header.cc \
+ mime_header.h \
tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_stats.cc \
- tools.h \
- tests/stub_tools.cc \
- tests/testHttp1Parser.cc \
- tests/testHttp1Parser.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testHttp1Parser_SOURCES = \
$(TESTSOURCES)
@@ -4635,17 +4643,15 @@
tests_testHttp1Parser_LDFLAGS = $(LIBADD_DL)
tests_testHttpReply_SOURCES = \
- cbdata.cc \
- cbdata.h \
ConfigParser.cc \
tests/stub_ETag.cc \
- fatal.h \
- tests/stub_fatal.cc \
- HttpBody.h \
+ tests/stub_HelperChildConfig.cc \
HttpBody.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
+ HttpControlMsg.cc \
+ HttpControlMsg.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrContRange.h \
HttpHdrRange.cc \
@@ -4653,63 +4659,66 @@
HttpHdrSc.h \
HttpHdrScTarget.cc \
HttpHdrScTarget.h \
- HttpHeader.h \
HttpHeader.cc \
- HttpHeaderMask.h \
+ HttpHeader.h \
HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderMask.h \
HttpHeaderTools.cc \
- HttpControlMsg.cc \
- HttpControlMsg.h \
+ HttpHeaderTools.h \
HttpReply.cc \
+ tests/testHttpReply.cc \
HttpReply.h \
+ tests/testHttpReply.h \
+ tests/stub_HttpRequest.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemBuf.h \
- mime_header.h \
- mime_header.cc \
- Notes.h \
Notes.cc \
+ Notes.h \
+ tests/stub_SBufDetailedStats.cc \
SquidString.h \
SquidTime.h \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
- StrList.h \
+ StatCounters.cc \
+ StatCounters.h \
+ tests/stub_StatHist.cc \
+ StatHist.h \
StrList.cc \
- log/access_log.h \
+ StrList.h \
+ String.cc \
tests/stub_access_log.cc \
- cache_cf.h \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cache_manager.cc \
+ cbdata.cc \
+ cbdata.h \
tests/stub_comm.cc \
tests/stub_debug.cc \
tests/stub_errorpage.cc \
tests/stub_event.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_fd.cc \
- tests/stub_HelperChildConfig.cc \
- tests/stub_libformat.cc \
+ tests/stub_libanyp.cc \
tests/stub_libauth.cc \
tests/stub_libcomm.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libformat.cc \
tests/stub_libmgr.cc \
tests/stub_libsecurity.cc \
tests/stub_libsslsquid.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- tests/stub_StatHist.cc \
+ log/access_log.h \
+ mime_header.cc \
+ mime_header.h \
repl_modules.h \
tests/stub_store.cc \
tests/stub_store_stats.cc \
- tools.h \
- tests/stub_tools.cc \
- tests/stub_HttpRequest.cc \
- tests/testHttpReply.cc \
- tests/testHttpReply.h \
tests/stub_time.cc \
- tests/stub_libanyp.cc \
- wordlist.h \
- wordlist.cc
+ tests/stub_tools.cc \
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testHttpReply_SOURCES = \
$(TESTSOURCES) \
@@ -4739,44 +4748,20 @@
tests_testHttpReply_LDFLAGS = $(LIBADD_DL)
tests_testHttpRequest_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- RequestFlags.h \
- RequestFlags.cc \
- HttpRequest.cc \
- tests/stub_libmem.cc \
- String.cc \
- tests/testHttpRequest.h \
- tests/testHttpRequest.cc \
- tests/testHttpRequestMethod.h \
- tests/testHttpRequestMethod.cc \
- tests/stub_libauth.cc \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
- time.cc \
- BodyPipe.cc \
- cache_manager.cc \
- cache_cf.h \
AuthReg.h \
- RefreshPattern.h \
- debug.cc \
- CacheDigest.h \
+ BodyPipe.cc \
tests/stub_CacheDigest.cc \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -4784,150 +4769,175 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- external_acl.cc \
+ tests/stub_EventLoop.cc \
ExternalACLEntry.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
- fqdncache.h \
- fqdncache.cc \
+ FadingCounter.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ HttpRequest.cc \
+ tests/testHttpRequest.cc \
+ tests/testHttpRequest.h \
+ tests/testHttpRequestMethod.cc \
+ tests/testHttpRequestMethod.h \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
- tests/stub_libsecurity.cc \
MasterXaction.cc \
MasterXaction.h \
- multicast.h \
- multicast.cc \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- neighbors.h \
- neighbors.cc \
+ MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- pconn.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
- PeerPoolMgr.h \
PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- redirect.h \
- tests/stub_libauth_acls.cc \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
- StatHist.h \
+ StatCounters.h \
StatHist.cc \
- stmem.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
+ tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- StrList.h \
- StrList.cc \
- event.cc \
- tools.h \
+ time.cc \
tools.cc \
- Transients.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tools.h \
tests/stub_tunnel.cc \
- tests/stub_libstore.cc \
- MemStore.cc \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- FadingCounter.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testHttpRequest_SOURCES = \
$(BUILT_SOURCES)
@@ -4972,6 +4982,7 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
@@ -4981,9 +4992,9 @@
tests/testIpAddress.h
nodist_tests_testIpAddress_SOURCES = \
+ tests/stub_SBuf.cc \
tests/stub_debug.cc \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
tests/stub_tools.cc
tests_testIpAddress_LDADD = \
@@ -4996,17 +5007,17 @@
tests_testIpAddress_LDFLAGS = $(LIBADD_DL)
# icmp/libicmpcore.la is used by pinger so SHOULD NOT require more dependancies! :-(
tests_testIcmp_SOURCES = \
- tests/testIcmp.h \
- tests/testIcmp.cc
+ tests/testIcmp.cc \
+ tests/testIcmp.h
nodist_tests_testIcmp_SOURCES = \
- icmp/Icmp.h \
+ tests/stub_SBuf.cc \
SquidTime.h \
tests/stub_debug.cc \
+ globals.cc \
+ icmp/Icmp.h \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
- time.cc \
- globals.cc
+ time.cc
tests_testIcmp_LDADD = \
icmp/libicmpcore.la \
@@ -5022,12 +5033,12 @@
tests/testNetDb.h
nodist_tests_testNetDb_SOURCES = \
+ tests/stub_SBuf.cc \
SquidTime.h \
tests/stub_debug.cc \
+ globals.cc \
tests/stub_libmem.cc \
- tests/stub_SBuf.cc \
- time.cc \
- globals.cc
+ time.cc
tests_testNetDb_LDADD = \
icmp/libicmp.la \
@@ -5040,39 +5051,23 @@
tests_testNetDb_LDFLAGS = $(LIBADD_DL)
tests_testCacheManager_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
- debug.cc \
- RequestFlags.h \
- RequestFlags.cc \
- HttpRequest.cc \
- String.cc \
+ AuthReg.h \
+ BodyPipe.cc \
+ tests/stub_CacheDigest.cc \
+ CacheDigest.h \
tests/testCacheManager.cc \
tests/testCacheManager.h \
- tests/stub_main_cc.cc \
- tests/stub_HttpControlMsg.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_store_stats.cc \
- tests/stub_EventLoop.cc \
- time.cc \
- BodyPipe.cc \
- cache_manager.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
CachePeer.cc \
CachePeer.h \
- CacheDigest.h \
- tests/stub_CacheDigest.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -5080,154 +5075,171 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
- external_acl.cc \
+ tests/stub_EventLoop.cc \
ExternalACLEntry.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
+ FadingCounter.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- hier_code.h \
- helper.cc \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
+ HttpBody.h \
+ tests/stub_HttpControlMsg.cc \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
- tests/stub_libsecurity.cc \
MasterXaction.cc \
MasterXaction.h \
- multicast.h \
- multicast.cc \
- mem_node.cc \
MemBuf.cc \
MemObject.cc \
- mime.h \
- mime.cc \
- mime_header.h \
- mime_header.cc \
- neighbors.h \
- neighbors.cc \
+ MemStore.cc \
Notes.cc \
Notes.h \
Parsing.cc \
- pconn.cc \
- peer_digest.cc \
- peer_proxy_negotiate_auth.h \
- peer_proxy_negotiate_auth.cc \
- peer_select.cc \
- peer_sourcehash.h \
- peer_sourcehash.cc \
- peer_userhash.h \
- peer_userhash.cc \
- PeerPoolMgr.h \
PeerPoolMgr.cc \
+ PeerPoolMgr.h \
Pipeline.cc \
Pipeline.h \
- redirect.h \
- tests/stub_redirect.cc \
- refresh.h \
- refresh.cc \
+ RefreshPattern.h \
RemovalPolicy.cc \
- ResolvedPeers.h \
+ RequestFlags.cc \
+ RequestFlags.h \
ResolvedPeers.cc \
+ ResolvedPeers.h \
tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
SquidMath.cc \
- IoStats.h \
- stat.h \
- stat.cc \
- StatCounters.h \
+ SquidMath.h \
StatCounters.cc \
+ StatCounters.h \
+ tests/stub_StatHist.cc \
StatHist.h \
- StrList.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
StrList.cc \
- tests/stub_libauth_acls.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
tests/stub_libdiskio.cc \
- tests/stub_StatHist.cc \
- stmem.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
+ mem_node.cc \
+ mime.cc \
+ mime.h \
+ mime_header.cc \
+ mime_header.h \
+ multicast.cc \
+ multicast.h \
+ neighbors.cc \
+ neighbors.h \
+ pconn.cc \
+ peer_digest.cc \
+ peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
+ peer_select.cc \
+ peer_sourcehash.cc \
+ peer_sourcehash.h \
+ peer_userhash.cc \
+ peer_userhash.h \
+ tests/stub_redirect.cc \
+ redirect.h \
+ refresh.cc \
+ refresh.h \
repl_modules.h \
+ stat.cc \
+ stat.h \
+ stmem.cc \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- tools.h \
+ time.cc \
tools.cc \
- Transients.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
+ tools.h \
tests/stub_tunnel.cc \
- tests/stub_libstore.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- FadingCounter.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testCacheManager_SOURCES = \
$(BUILT_SOURCES)
@@ -5274,38 +5286,39 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testCacheManager_LDFLAGS = $(LIBADD_DL)
tests_testStatHist_SOURCES = \
- tests/stub_cbdata.cc \
- fatal.h \
- tests/stub_fatal.cc \
+ tests/stub_DelayId.cc \
+ tests/stub_HelperChildConfig.cc \
tests/stub_MemBuf.cc \
+ tests/stub_MemObject.cc \
tests/stub_SBufDetailedStats.cc \
StatHist.cc \
+ tests/testStatHist.cc \
StatHist.h \
+ tests/testStatHist.h \
String.cc \
tests/stub_cache_manager.cc \
+ tests/stub_cbdata.cc \
tests/stub_comm.cc \
tests/stub_debug.cc \
- tests/stub_DelayId.cc \
- tests/stub_HelperChildConfig.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_libmem.cc \
- tests/stub_MemObject.cc \
- mime.h \
tests/stub_mime.cc \
+ mime.h \
tests/stub_pconn.cc \
- tests/stub_stmem.cc \
repl_modules.h \
+ tests/stub_stmem.cc \
tests/stub_store.cc \
tests/stub_store_stats.cc \
time.cc \
- tools.h \
tests/stub_tools.cc \
- tests/testStatHist.cc \
- tests/testStatHist.h
+ tools.h
nodist_tests_testStatHist_SOURCES = \
$(TESTSOURCES)
@@ -5321,25 +5334,25 @@
tests_testStatHist_LDFLAGS = $(LIBADD_DL)
tests_testConfigParser_SOURCES = \
ClientInfo.h \
- tests/stub_MemBuf.cc \
- tests/stub_time.cc \
- tests/stub_SBufDetailedStats.cc \
- String.cc \
ConfigParser.cc \
- fatal.h \
- tests/stub_fatal.cc \
tests/testConfigParser.cc \
tests/testConfigParser.h \
- cache_cf.h \
+ tests/stub_HelperChildConfig.cc \
+ tests/stub_MemBuf.cc \
+ tests/stub_SBufDetailedStats.cc \
+ String.cc \
tests/stub_cache_cf.cc \
+ cache_cf.h \
tests/stub_cbdata.cc \
tests/stub_debug.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
tests/stub_libmem.cc \
- tests/stub_HelperChildConfig.cc \
- tools.h \
+ tests/stub_time.cc \
tests/stub_tools.cc \
- wordlist.h \
- wordlist.cc
+ tools.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testConfigParser_SOURCES = \
$(TESTSOURCES)
@@ -5358,26 +5371,21 @@
tests_testConfigParser_LDFLAGS = $(LIBADD_DL)
tests_testEvent_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
+ AuthReg.h \
BodyPipe.cc \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- cache_manager.cc \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -5385,171 +5393,177 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- event.cc \
- EventLoop.h \
+ tests/testEvent.cc \
+ tests/testEvent.h \
EventLoop.cc \
- external_acl.cc \
+ EventLoop.h \
ExternalACLEntry.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
+ HttpRequest.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
+ LogTags.cc \
+ MasterXaction.cc \
+ MasterXaction.h \
+ MemBuf.cc \
+ MemObject.cc \
+ MemStore.cc \
+ Notes.cc \
+ Notes.h \
+ Parsing.cc \
PeerPoolMgr.cc \
- RequestFlags.h \
+ PeerPoolMgr.h \
+ Pipeline.cc \
+ Pipeline.h \
+ RefreshPattern.h \
+ RemovalPolicy.cc \
RequestFlags.cc \
- HttpRequest.cc \
+ RequestFlags.h \
+ ResolvedPeers.cc \
+ ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc \
+ SquidMath.cc \
+ SquidMath.h \
+ StatCounters.cc \
+ StatCounters.h \
+ StatHist.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
icp_v2.cc \
icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
int.cc \
- internal.h \
+ int.h \
internal.cc \
- LogTags.cc \
- tests/stub_libsecurity.cc \
- MasterXaction.cc \
- MasterXaction.h \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
mem_node.cc \
- MemBuf.cc \
- MemObject.cc \
- mime.h \
mime.cc \
- mime_header.h \
+ mime.h \
mime_header.cc \
- multicast.h \
+ mime_header.h \
multicast.cc \
- neighbors.h \
+ multicast.h \
neighbors.cc \
- Notes.cc \
- Notes.h \
- Parsing.cc \
+ neighbors.h \
pconn.cc \
peer_digest.cc \
- peer_proxy_negotiate_auth.h \
peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
peer_select.cc \
- peer_sourcehash.h \
peer_sourcehash.cc \
- peer_userhash.h \
+ peer_sourcehash.h \
peer_userhash.cc \
- Pipeline.cc \
- Pipeline.h \
- redirect.h \
+ peer_userhash.h \
tests/stub_redirect.cc \
- refresh.h \
+ redirect.h \
refresh.cc \
- RemovalPolicy.cc \
- ResolvedPeers.h \
- ResolvedPeers.cc \
- StrList.h \
- StrList.cc \
- tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.cc \
- SquidMath.h \
- IoStats.h \
- stat.h \
+ refresh.h \
+ repl_modules.h \
stat.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- StatHist.cc \
+ stat.h \
stmem.cc \
- repl_modules.h \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- String.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_libstore.cc \
tests/CapturingStoreEntry.h \
- tests/testEvent.cc \
- tests/testEvent.h \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_store_stats.cc \
time.cc \
- tools.h \
tools.cc \
- Transients.cc \
+ tools.h \
tests/stub_tunnel.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testEvent_SOURCES = \
$(BUILT_SOURCES)
@@ -5593,31 +5607,27 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
tests_testEvent_LDFLAGS = $(LIBADD_DL)
tests_testEventLoop_SOURCES = \
+ $(DELAY_POOL_SOURCE) \
+ $(DNSSOURCE) \
+ $(HTCPSOURCE) \
+ $(IPC_SOURCE) \
+ $(SNMP_SOURCE) \
+ $(UNLINKDSOURCE) \
+ $(WIN32_SOURCE) \
AccessLogEntry.cc \
+ AuthReg.h \
BodyPipe.cc \
- CacheDigest.h \
tests/stub_CacheDigest.cc \
- cache_manager.cc \
- cache_cf.h \
- AuthReg.h \
- RefreshPattern.h \
+ CacheDigest.h \
CachePeer.cc \
CachePeer.h \
- carp.h \
- tests/stub_carp.cc \
- cbdata.cc \
- tests/stub_client_db.cc \
- client_side.h \
- client_side.cc \
- client_side_reply.cc \
- client_side_request.cc \
ClientInfo.h \
- clientStream.cc \
tests/stub_CollapsedForwarding.cc \
ConfigOption.cc \
ConfigParser.cc \
@@ -5625,170 +5635,176 @@
CpuAffinityMap.h \
CpuAffinitySet.cc \
CpuAffinitySet.h \
- debug.cc \
- $(DELAY_POOL_SOURCE) \
- fs_io.h \
- fs_io.cc \
- dlink.h \
- dlink.cc \
- $(DNSSOURCE) \
- errorpage.cc \
tests/stub_ETag.cc \
- EventLoop.h \
EventLoop.cc \
- event.cc \
- external_acl.cc \
+ tests/testEventLoop.cc \
+ EventLoop.h \
+ tests/testEventLoop.h \
ExternalACLEntry.cc \
FadingCounter.cc \
- fatal.h \
- tests/stub_fatal.cc \
- fd.h \
- fd.cc \
- fde.cc \
FileMap.h \
- filemap.cc \
- fqdncache.h \
- fqdncache.cc \
FwdState.cc \
FwdState.h \
- gopher.h \
- tests/stub_gopher.cc \
HappyConnOpener.cc \
HappyConnOpener.h \
- helper.cc \
- hier_code.h \
- $(HTCPSOURCE) \
- http.cc \
- HttpBody.h \
HttpBody.cc \
+ HttpBody.h \
tests/stub_HttpControlMsg.cc \
- HttpHeader.h \
- HttpHeader.cc \
- HttpHeaderFieldInfo.h \
- HttpHeaderTools.h \
- HttpHeaderTools.cc \
- HttpHeaderFieldStat.h \
- HttpHdrCc.h \
HttpHdrCc.cc \
+ HttpHdrCc.h \
HttpHdrContRange.cc \
HttpHdrRange.cc \
HttpHdrSc.cc \
HttpHdrScTarget.cc \
+ HttpHeader.cc \
+ HttpHeader.h \
+ HttpHeaderFieldInfo.h \
+ HttpHeaderFieldStat.h \
+ HttpHeaderTools.cc \
+ HttpHeaderTools.h \
HttpReply.cc \
- PeerPoolMgr.h \
- PeerPoolMgr.cc \
- RequestFlags.h \
- RequestFlags.cc \
HttpRequest.cc \
- icp_v2.cc \
- icp_v3.cc \
- $(IPC_SOURCE) \
- ipcache.cc \
- int.h \
- int.cc \
- internal.h \
- internal.cc \
+ tests/stub_HttpUpgradeProtocolAccess.cc \
+ IoStats.h \
LogTags.cc \
MasterXaction.cc \
MasterXaction.h \
MemBuf.cc \
MemObject.cc \
+ MemStore.cc \
+ Notes.cc \
+ Notes.h \
+ Parsing.cc \
+ PeerPoolMgr.cc \
+ PeerPoolMgr.h \
+ Pipeline.cc \
+ Pipeline.h \
+ RefreshPattern.h \
+ RemovalPolicy.cc \
+ RequestFlags.cc \
+ RequestFlags.h \
+ ResolvedPeers.cc \
+ ResolvedPeers.h \
+ tests/stub_SBufDetailedStats.cc \
+ SquidMath.cc \
+ SquidMath.h \
+ StatCounters.cc \
+ StatCounters.h \
+ StatHist.cc \
+ StatHist.h \
+ StoreFileSystem.cc \
+ StoreIOState.cc \
+ tests/stub_StoreMeta.cc \
+ StoreMetaUnpacker.cc \
+ StoreSwapLogData.cc \
+ StrList.cc \
+ StrList.h \
+ String.cc \
+ Transients.cc \
+ tests/stub_cache_cf.cc \
+ cache_cf.h \
+ cache_manager.cc \
+ tests/stub_carp.cc \
+ carp.h \
+ cbdata.cc \
+ clientStream.cc \
+ tests/stub_client_db.cc \
+ client_side.cc \
+ client_side.h \
+ client_side_reply.cc \
+ client_side_request.cc \
+ debug.cc \
+ dlink.cc \
+ dlink.h \
+ errorpage.cc \
+ event.cc \
+ external_acl.cc \
+ tests/stub_fatal.cc \
+ fatal.h \
+ fd.cc \
+ fd.h \
+ fde.cc \
+ filemap.cc \
+ fqdncache.cc \
+ fqdncache.h \
+ fs_io.cc \
+ fs_io.h \
+ tests/stub_gopher.cc \
+ gopher.h \
+ helper.cc \
+ hier_code.h \
+ http.cc \
+ icp_v2.cc \
+ icp_v3.cc \
+ int.cc \
+ int.h \
+ internal.cc \
+ internal.h \
+ tests/stub_ipc_Forwarder.cc \
+ ipcache.cc \
+ tests/stub_libauth.cc \
+ tests/stub_libauth_acls.cc \
+ tests/stub_libdiskio.cc \
+ tests/stub_liberror.cc \
+ tests/stub_libeui.cc \
tests/stub_libmem.cc \
+ tests/stub_libsecurity.cc \
+ tests/stub_libstore.cc \
+ tests/stub_main_cc.cc \
mem_node.cc \
- mime.h \
mime.cc \
- mime_header.h \
+ mime.h \
mime_header.cc \
- multicast.h \
+ mime_header.h \
multicast.cc \
- neighbors.h \
+ multicast.h \
neighbors.cc \
- Notes.cc \
- Notes.h \
- Parsing.cc \
+ neighbors.h \
pconn.cc \
peer_digest.cc \
- peer_proxy_negotiate_auth.h \
peer_proxy_negotiate_auth.cc \
+ peer_proxy_negotiate_auth.h \
peer_select.cc \
- peer_sourcehash.h \
peer_sourcehash.cc \
- peer_userhash.h \
+ peer_sourcehash.h \
peer_userhash.cc \
- Pipeline.cc \
- Pipeline.h \
- RemovalPolicy.cc \
- ResolvedPeers.cc \
- ResolvedPeers.h \
- redirect.h \
+ peer_userhash.h \
tests/stub_redirect.cc \
- refresh.h \
+ redirect.h \
refresh.cc \
- tests/stub_SBufDetailedStats.cc \
- $(SNMP_SOURCE) \
- SquidMath.h \
- SquidMath.cc \
- IoStats.h \
- stat.h \
+ refresh.h \
+ repl_modules.h \
stat.cc \
- StatCounters.h \
- StatCounters.cc \
- StatHist.h \
- StatHist.cc \
+ stat.h \
stmem.cc \
- repl_modules.h \
store.cc \
store_client.cc \
- store_digest.h \
tests/stub_store_digest.cc \
+ store_digest.h \
store_io.cc \
- store_key_md5.h \
store_key_md5.cc \
- store_log.h \
+ store_key_md5.h \
store_log.cc \
- store_rebuild.h \
+ store_log.h \
store_rebuild.cc \
- store_swapin.h \
+ store_rebuild.h \
+ tests/stub_store_stats.cc \
store_swapin.cc \
+ store_swapin.h \
store_swapmeta.cc \
store_swapout.cc \
- StoreFileSystem.cc \
- StoreIOState.cc \
- tests/stub_StoreMeta.cc \
- StoreMetaUnpacker.cc \
- StoreSwapLogData.cc \
- String.cc \
- StrList.h \
- StrList.cc \
- tests/stub_cache_cf.cc \
- tests/stub_HttpUpgradeProtocolAccess.cc \
- tests/stub_libstore.cc \
- tests/testEventLoop.cc \
- tests/testEventLoop.h \
- tests/stub_main_cc.cc \
- tests/stub_ipc_Forwarder.cc \
- tests/stub_libauth_acls.cc \
- tests/stub_libauth.cc \
- tests/stub_libdiskio.cc \
- tests/stub_libeui.cc \
- tests/stub_libsecurity.cc \
- tests/stub_store_stats.cc \
time.cc \
- tools.h \
tools.cc \
- Transients.cc \
+ tools.h \
tests/stub_tunnel.cc \
- MemStore.cc \
- $(UNLINKDSOURCE) \
- urn.h \
urn.cc \
- wccp2.h \
+ urn.h \
tests/stub_wccp2.cc \
- whois.h \
+ wccp2.h \
tests/stub_whois.cc \
- $(WIN32_SOURCE) \
- wordlist.h \
- wordlist.cc
+ whois.h \
+ wordlist.cc \
+ wordlist.h
nodist_tests_testEventLoop_SOURCES = \
$(BUILT_SOURCES)
@@ -5832,6 +5848,7 @@
$(SSLLIB) \
$(KRB5LIBS) \
$(LIBCPPUNIT_LIBS) \
+ $(SYSTEMD_LIBS) \
$(COMPAT_LIB) \
$(XTRA_LIBS)
@@ -6066,6 +6083,16 @@
@: > tests/$(DEPDIR)/$(am__dirstamp)
tests/testACLMaxUserIP.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_HelperChildConfig.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_HttpHeader.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_HttpRequest.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_MemBuf.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_StatHist.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_access_log.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_cache_cf.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6080,12 +6107,6 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_fatal.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_HelperChildConfig.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_HttpHeader.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_HttpRequest.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libauth.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libhttp.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6094,10 +6115,6 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libsecurity.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_MemBuf.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_StatHist.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testACLMaxUserIP$(EXEEXT): $(tests_testACLMaxUserIP_OBJECTS) $(tests_testACLMaxUserIP_DEPENDENCIES) $(EXTRA_tests_testACLMaxUserIP_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testACLMaxUserIP$(EXEEXT)
@@ -6108,47 +6125,49 @@
tests/testBoilerplate$(EXEEXT): $(tests_testBoilerplate_OBJECTS) $(tests_testBoilerplate_DEPENDENCIES) $(EXTRA_tests_testBoilerplate_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testBoilerplate$(EXEEXT)
$(AM_V_CXXLD)$(tests_testBoilerplate_LINK) $(tests_testBoilerplate_OBJECTS) $(tests_testBoilerplate_LDADD) $(LIBS)
+tests/stub_CacheDigest.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/testCacheManager.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_main_cc.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_CollapsedForwarding.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_HttpControlMsg.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_ETag.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_ipc_Forwarder.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_EventLoop.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_store_stats.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_HttpControlMsg.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_EventLoop.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_CacheDigest.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_SBufDetailedStats.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_StoreMeta.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_carp.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_client_db.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_CollapsedForwarding.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_ETag.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_gopher.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_redirect.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_SBufDetailedStats.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_ipc_Forwarder.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libauth_acls.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libdiskio.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_store_digest.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_liberror.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_StoreMeta.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_libstore.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_HttpUpgradeProtocolAccess.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_main_cc.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_tunnel.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_redirect.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_libstore.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_store_digest.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_store_stats.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_tunnel.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_wccp2.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
@@ -6164,16 +6183,26 @@
tests/testCharacterSet$(EXEEXT): $(tests_testCharacterSet_OBJECTS) $(tests_testCharacterSet_DEPENDENCIES) $(EXTRA_tests_testCharacterSet_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testCharacterSet$(EXEEXT)
$(AM_V_CXXLD)$(tests_testCharacterSet_LINK) $(tests_testCharacterSet_OBJECTS) $(tests_testCharacterSet_LDADD) $(LIBS)
-tests/stub_time.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testConfigParser.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_time.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_tools.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/testConfigParser$(EXEEXT): $(tests_testConfigParser_OBJECTS) $(tests_testConfigParser_DEPENDENCIES) $(EXTRA_tests_testConfigParser_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testConfigParser$(EXEEXT)
$(AM_V_CXXLD)$(tests_testConfigParser_LINK) $(tests_testConfigParser_OBJECTS) $(tests_testConfigParser_LDADD) $(LIBS)
+tests/testDiskIO.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_MemStore.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_Port.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/testStoreSupport.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_UdsOp.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_acl.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_cache_manager.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6192,6 +6221,8 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_ipcache.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_libanyp.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libeui.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libformat.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6200,30 +6231,18 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_liblog.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_MemStore.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_mime.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_neighbors.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_pconn.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_Port.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_stat.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_store_client.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_store_rebuild.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_UdsOp.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/testDiskIO.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/testStoreSupport.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_libanyp.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testDiskIO$(EXEEXT): $(tests_testDiskIO_OBJECTS) $(tests_testDiskIO_DEPENDENCIES) $(EXTRA_tests_testDiskIO_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testDiskIO$(EXEEXT)
@@ -6252,6 +6271,8 @@
tests/testEventLoop$(EXEEXT): $(tests_testEventLoop_OBJECTS) $(tests_testEventLoop_DEPENDENCIES) $(EXTRA_tests_testEventLoop_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testEventLoop$(EXEEXT)
$(AM_V_CXXLD)$(tests_testEventLoop_LINK) $(tests_testEventLoop_OBJECTS) $(tests_testEventLoop_LDADD) $(LIBS)
+tests/testHttp1Parser.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_MemObject.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_comm.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6262,12 +6283,12 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_store.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/testHttp1Parser.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testHttp1Parser$(EXEEXT): $(tests_testHttp1Parser_OBJECTS) $(tests_testHttp1Parser_DEPENDENCIES) $(EXTRA_tests_testHttp1Parser_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testHttp1Parser$(EXEEXT)
$(AM_V_CXXLD)$(tests_testHttp1Parser_LINK) $(tests_testHttp1Parser_OBJECTS) $(tests_testHttp1Parser_LDADD) $(LIBS)
+tests/testHttpReply.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_fd.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libcomm.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6276,8 +6297,6 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/stub_libsslsquid.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/testHttpReply.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testHttpReply$(EXEEXT): $(tests_testHttpReply_OBJECTS) $(tests_testHttpReply_DEPENDENCIES) $(EXTRA_tests_testHttpReply_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testHttpReply$(EXEEXT)
@@ -6334,10 +6353,10 @@
tests/testRock$(EXEEXT): $(tests_testRock_OBJECTS) $(tests_testRock_DEPENDENCIES) $(EXTRA_tests_testRock_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testRock$(EXEEXT)
$(AM_V_CXXLD)$(tests_testRock_LINK) $(tests_testRock_OBJECTS) $(tests_testRock_LDADD) $(LIBS)
-tests/SBufFindTest.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testSBuf.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/SBufFindTest.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/testSBuf$(EXEEXT): $(tests_testSBuf_OBJECTS) $(tests_testSBuf_DEPENDENCIES) $(EXTRA_tests_testSBuf_DEPENDENCIES) tests/$(am__dirstamp)
@rm -f tests/testSBuf$(EXEEXT)
@@ -6358,8 +6377,6 @@
$(AM_V_CXXLD)$(tests_testStatHist_LINK) $(tests_testStatHist_OBJECTS) $(tests_testStatHist_LDADD) $(LIBS)
tests/stub_HttpReply.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_store_swapout.$(OBJEXT): tests/$(am__dirstamp) \
- tests/$(DEPDIR)/$(am__dirstamp)
tests/testPackableStream.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
tests/testStore.$(OBJEXT): tests/$(am__dirstamp) \
@@ -6368,6 +6385,8 @@
tests/$(DEPDIR)/$(am__dirstamp)
tests/testStoreHashIndex.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_store_swapout.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
tests/TestSwapDir.$(OBJEXT): tests/$(am__dirstamp) \
tests/$(DEPDIR)/$(am__dirstamp)
@@ -6532,8 +6551,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delay_pools.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlink.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_internal.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/err_detail_type.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/err_type.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errorpage.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_acl.Po@am__quote@ # am--include-marker
@@ -6654,6 +6671,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libauth_acls.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libcomm.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libdiskio.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_liberror.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libeui.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libformat.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libhttp.Po@am__quote@ # am--include-marker
@@ -7530,8 +7548,6 @@
-rm -f ./$(DEPDIR)/delay_pools.Po
-rm -f ./$(DEPDIR)/dlink.Po
-rm -f ./$(DEPDIR)/dns_internal.Po
- -rm -f ./$(DEPDIR)/err_detail_type.Po
- -rm -f ./$(DEPDIR)/err_type.Po
-rm -f ./$(DEPDIR)/errorpage.Po
-rm -f ./$(DEPDIR)/event.Po
-rm -f ./$(DEPDIR)/external_acl.Po
@@ -7652,6 +7668,7 @@
-rm -f tests/$(DEPDIR)/stub_libauth_acls.Po
-rm -f tests/$(DEPDIR)/stub_libcomm.Po
-rm -f tests/$(DEPDIR)/stub_libdiskio.Po
+ -rm -f tests/$(DEPDIR)/stub_liberror.Po
-rm -f tests/$(DEPDIR)/stub_libeui.Po
-rm -f tests/$(DEPDIR)/stub_libformat.Po
-rm -f tests/$(DEPDIR)/stub_libhttp.Po
@@ -7864,8 +7881,6 @@
-rm -f ./$(DEPDIR)/delay_pools.Po
-rm -f ./$(DEPDIR)/dlink.Po
-rm -f ./$(DEPDIR)/dns_internal.Po
- -rm -f ./$(DEPDIR)/err_detail_type.Po
- -rm -f ./$(DEPDIR)/err_type.Po
-rm -f ./$(DEPDIR)/errorpage.Po
-rm -f ./$(DEPDIR)/event.Po
-rm -f ./$(DEPDIR)/external_acl.Po
@@ -7986,6 +8001,7 @@
-rm -f tests/$(DEPDIR)/stub_libauth_acls.Po
-rm -f tests/$(DEPDIR)/stub_libcomm.Po
-rm -f tests/$(DEPDIR)/stub_libdiskio.Po
+ -rm -f tests/$(DEPDIR)/stub_liberror.Po
-rm -f tests/$(DEPDIR)/stub_libeui.Po
-rm -f tests/$(DEPDIR)/stub_libformat.Po
-rm -f tests/$(DEPDIR)/stub_libhttp.Po
@@ -8112,12 +8128,6 @@
hier_code.cc: hier_code.h mk-string-arrays.awk
$(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/hier_code.h > $@ || ($(RM) -f $@ && exit 1)
-err_type.cc: err_type.h mk-string-arrays.awk
- $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_type.h > $@ || ($(RM) -f $@ && exit 1)
-
-err_detail_type.cc: err_detail_type.h mk-string-arrays.awk
- $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/err_detail_type.h | sed 's/ERR_DETAIL_//' > $@ || ($(RM) -f $@ && exit 1)
-
lookup_t.cc: lookup_t.h mk-string-arrays.awk
$(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/lookup_t.h > $@ || ($(RM) -f $@ && exit 1)
diff -u -r -N squid-5.0.5/src/mem/Makefile.am squid-5.0.6/src/mem/Makefile.am
--- squid-5.0.5/src/mem/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mem/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -13,13 +13,13 @@
libmem_la_SOURCES = \
AllocatorProxy.cc \
AllocatorProxy.h \
- forward.h \
Meter.h \
- old_api.cc \
Pool.cc \
Pool.h \
PoolChunked.cc \
PoolChunked.h \
- PoolingAllocator.h \
PoolMalloc.cc \
- PoolMalloc.h
+ PoolMalloc.h \
+ PoolingAllocator.h \
+ forward.h \
+ old_api.cc
diff -u -r -N squid-5.0.5/src/mem/Makefile.in squid-5.0.6/src/mem/Makefile.in
--- squid-5.0.5/src/mem/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/mem/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -164,8 +164,8 @@
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libmem_la_LIBADD =
-am_libmem_la_OBJECTS = AllocatorProxy.lo old_api.lo Pool.lo \
- PoolChunked.lo PoolMalloc.lo
+am_libmem_la_OBJECTS = AllocatorProxy.lo Pool.lo PoolChunked.lo \
+ PoolMalloc.lo old_api.lo
libmem_la_OBJECTS = $(am_libmem_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -733,16 +733,16 @@
libmem_la_SOURCES = \
AllocatorProxy.cc \
AllocatorProxy.h \
- forward.h \
Meter.h \
- old_api.cc \
Pool.cc \
Pool.h \
PoolChunked.cc \
PoolChunked.h \
- PoolingAllocator.h \
PoolMalloc.cc \
- PoolMalloc.h
+ PoolMalloc.h \
+ PoolingAllocator.h \
+ forward.h \
+ old_api.cc
all: all-am
diff -u -r -N squid-5.0.5/src/mgr/Action.cc squid-5.0.6/src/mgr/Action.cc
--- squid-5.0.5/src/mgr/Action.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Action.cc 2021-05-10 21:02:34.000000000 +1200
@@ -79,7 +79,7 @@
}
void
-Mgr::Action::sendResponse(unsigned int requestId)
+Mgr::Action::sendResponse(const Ipc::RequestId requestId)
{
Response response(requestId, this);
Ipc::TypedMsgHdr message;
diff -u -r -N squid-5.0.5/src/mgr/Action.h squid-5.0.6/src/mgr/Action.h
--- squid-5.0.5/src/mgr/Action.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Action.h 2021-05-10 21:02:34.000000000 +1200
@@ -55,7 +55,7 @@
virtual void unpack(const Ipc::TypedMsgHdr &) {}
/// notify Coordinator that this action is done with local processing
- void sendResponse(unsigned int requestId);
+ void sendResponse(Ipc::RequestId);
/* Action properties */
diff -u -r -N squid-5.0.5/src/mgr/Filler.cc squid-5.0.6/src/mgr/Filler.cc
--- squid-5.0.5/src/mgr/Filler.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Filler.cc 2021-05-10 21:02:34.000000000 +1200
@@ -11,6 +11,7 @@
#include "squid.h"
#include "base/TextException.h"
#include "comm/Connection.h"
+#include "ipc/RequestId.h"
#include "mgr/Filler.h"
#include "mgr/Response.h"
#include "Store.h"
@@ -18,7 +19,7 @@
CBDATA_NAMESPACED_CLASS_INIT(Mgr, Filler);
Mgr::Filler::Filler(const Action::Pointer &anAction, const Comm::ConnectionPointer &conn,
- unsigned int aRequestId):
+ const Ipc::RequestId aRequestId):
StoreToCommWriter(conn, anAction->createStoreEntry()),
action(anAction),
requestId(aRequestId)
diff -u -r -N squid-5.0.5/src/mgr/Filler.h squid-5.0.6/src/mgr/Filler.h
--- squid-5.0.5/src/mgr/Filler.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Filler.h 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#define SQUID_MGR_FILLER_H
#include "comm/forward.h"
+#include "ipc/forward.h"
#include "mgr/Action.h"
#include "mgr/StoreToCommWriter.h"
@@ -24,7 +25,7 @@
CBDATA_CLASS(Filler);
public:
- Filler(const Action::Pointer &anAction, const Comm::ConnectionPointer &conn, unsigned int aRequestId);
+ Filler(const Action::Pointer &, const Comm::ConnectionPointer &, Ipc::RequestId);
protected:
/* AsyncJob API */
@@ -33,7 +34,7 @@
private:
Action::Pointer action; ///< action that will run() and sendResponse()
- unsigned int requestId; ///< the ID of the Request we are responding to
+ Ipc::RequestId requestId; ///< the ID of the Request we are responding to
};
} // namespace Mgr
diff -u -r -N squid-5.0.5/src/mgr/Forwarder.cc squid-5.0.6/src/mgr/Forwarder.cc
--- squid-5.0.5/src/mgr/Forwarder.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Forwarder.cc 2021-05-10 21:02:34.000000000 +1200
@@ -28,7 +28,10 @@
Mgr::Forwarder::Forwarder(const Comm::ConnectionPointer &aConn, const ActionParams &aParams,
HttpRequest* aRequest, StoreEntry* anEntry, const AccessLogEntryPointer &anAle):
- Ipc::Forwarder(new Request(KidIdentifier, 0, aConn, aParams), 10),
+ // TODO: Add virtual Forwarder::makeRequest() to avoid prematurely creating
+ // this dummy request with a dummy ID that are finalized by Ipc::Forwarder.
+ // Same for Snmp::Forwarder.
+ Ipc::Forwarder(new Request(KidIdentifier, Ipc::RequestId(/*XXX*/), aConn, aParams), 10),
httpRequest(aRequest), entry(anEntry), conn(aConn), ale(anAle)
{
debugs(16, 5, HERE << conn);
diff -u -r -N squid-5.0.5/src/mgr/FunAction.cc squid-5.0.6/src/mgr/FunAction.cc
--- squid-5.0.5/src/mgr/FunAction.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/FunAction.cc 2021-05-10 21:02:34.000000000 +1200
@@ -12,6 +12,7 @@
#include "base/TextException.h"
#include "comm/Connection.h"
#include "globals.h"
+#include "ipc/RequestId.h"
#include "ipc/UdsOp.h"
#include "mgr/Command.h"
#include "mgr/Filler.h"
diff -u -r -N squid-5.0.5/src/mgr/InfoAction.cc squid-5.0.6/src/mgr/InfoAction.cc
--- squid-5.0.5/src/mgr/InfoAction.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/InfoAction.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,6 +14,7 @@
#include "globals.h"
#include "HttpReply.h"
#include "ipc/Messages.h"
+#include "ipc/RequestId.h"
#include "ipc/TypedMsgHdr.h"
#include "ipc/UdsOp.h"
#include "mgr/Filler.h"
diff -u -r -N squid-5.0.5/src/mgr/Makefile.am squid-5.0.6/src/mgr/Makefile.am
--- squid-5.0.5/src/mgr/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -12,12 +12,12 @@
libmgr_la_SOURCES = \
Action.cc \
- ActionCreator.h \
Action.h \
+ ActionCreator.h \
ActionParams.cc \
ActionParams.h \
- ActionPasswordList.h \
ActionPasswordList.cc \
+ ActionPasswordList.h \
ActionProfile.h \
ActionWriter.cc \
ActionWriter.h \
@@ -31,17 +31,21 @@
Filler.h \
Forwarder.cc \
Forwarder.h \
- forward.h \
FunAction.cc \
FunAction.h \
InfoAction.cc \
InfoAction.h \
Inquirer.cc \
Inquirer.h \
+ IntParam.cc \
+ IntParam.h \
IntervalAction.cc \
IntervalAction.h \
IoAction.cc \
IoAction.h \
+ QueryParam.h \
+ QueryParams.cc \
+ QueryParams.h \
Registration.cc \
Registration.h \
Request.cc \
@@ -54,10 +58,6 @@
StoreIoAction.h \
StoreToCommWriter.cc \
StoreToCommWriter.h \
- QueryParam.h \
- QueryParams.cc \
- QueryParams.h \
- IntParam.cc \
- IntParam.h \
StringParam.cc \
- StringParam.h
+ StringParam.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/mgr/Makefile.in squid-5.0.6/src/mgr/Makefile.in
--- squid-5.0.5/src/mgr/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/mgr/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -167,9 +167,9 @@
am_libmgr_la_OBJECTS = Action.lo ActionParams.lo ActionPasswordList.lo \
ActionWriter.lo BasicActions.lo Command.lo CountersAction.lo \
Filler.lo Forwarder.lo FunAction.lo InfoAction.lo Inquirer.lo \
- IntervalAction.lo IoAction.lo Registration.lo Request.lo \
- Response.lo ServiceTimesAction.lo StoreIoAction.lo \
- StoreToCommWriter.lo QueryParams.lo IntParam.lo StringParam.lo
+ IntParam.lo IntervalAction.lo IoAction.lo QueryParams.lo \
+ Registration.lo Request.lo Response.lo ServiceTimesAction.lo \
+ StoreIoAction.lo StoreToCommWriter.lo StringParam.lo
libmgr_la_OBJECTS = $(am_libmgr_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -747,12 +747,12 @@
noinst_LTLIBRARIES = libmgr.la
libmgr_la_SOURCES = \
Action.cc \
- ActionCreator.h \
Action.h \
+ ActionCreator.h \
ActionParams.cc \
ActionParams.h \
- ActionPasswordList.h \
ActionPasswordList.cc \
+ ActionPasswordList.h \
ActionProfile.h \
ActionWriter.cc \
ActionWriter.h \
@@ -766,17 +766,21 @@
Filler.h \
Forwarder.cc \
Forwarder.h \
- forward.h \
FunAction.cc \
FunAction.h \
InfoAction.cc \
InfoAction.h \
Inquirer.cc \
Inquirer.h \
+ IntParam.cc \
+ IntParam.h \
IntervalAction.cc \
IntervalAction.h \
IoAction.cc \
IoAction.h \
+ QueryParam.h \
+ QueryParams.cc \
+ QueryParams.h \
Registration.cc \
Registration.h \
Request.cc \
@@ -789,13 +793,9 @@
StoreIoAction.h \
StoreToCommWriter.cc \
StoreToCommWriter.h \
- QueryParam.h \
- QueryParams.cc \
- QueryParams.h \
- IntParam.cc \
- IntParam.h \
StringParam.cc \
- StringParam.h
+ StringParam.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/mgr/QueryParams.cc squid-5.0.6/src/mgr/QueryParams.cc
--- squid-5.0.5/src/mgr/QueryParams.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/QueryParams.cc 2021-05-10 21:02:34.000000000 +1200
@@ -14,6 +14,10 @@
#include "mgr/IntParam.h"
#include "mgr/QueryParams.h"
#include "mgr/StringParam.h"
+#include "parser/Tokenizer.h"
+#include "sbuf/StringConvert.h"
+
+#include
Mgr::QueryParam::Pointer
Mgr::QueryParams::get(const String& name) const
@@ -65,61 +69,76 @@
return iter;
}
-bool
-Mgr::QueryParams::ParseParam(const String& paramStr, Param& param)
+/**
+ * Parses the value part of a "param=value" URL section.
+ * Value can be a comma-separated list of integers or an opaque string.
+ *
+ * value = *pchar | ( 1*DIGIT *( ',' 1*DIGIT ) )
+ *
+ * \note opaque string may be a list with a non-integer (e.g., "1,2,3,z")
+ */
+Mgr::QueryParam::Pointer
+ParseParamValue(const SBuf &rawValue)
+{
+ static const CharacterSet comma("comma", ",");
+
+ Parser::Tokenizer tok(rawValue);
+ std::vector array;
+ int64_t intVal = 0;
+ while (tok.int64(intVal, 10, false)) {
+ Must(intVal >= std::numeric_limits::min());
+ Must(intVal <= std::numeric_limits::max());
+ array.emplace_back(intVal);
+ // integer list has comma between values.
+ // Require at least one potential DIGIT after the skipped ','
+ if (tok.remaining().length() > 1)
+ (void)tok.skipOne(comma);
+ }
+
+ if (tok.atEnd())
+ return new Mgr::IntParam(array);
+ else
+ return new Mgr::StringParam(SBufToString(rawValue));
+}
+
+/**
+ * Syntax:
+ * query = [ param *( '&' param ) ]
+ * param = name '=' value
+ * name = [a-zA-Z0-9]+
+ * value = *pchar | ( 1*DIGIT *( ',' 1*DIGIT ) )
+ */
+void
+Mgr::QueryParams::Parse(Parser::Tokenizer &tok, QueryParams &aParams)
{
- bool parsed = false;
- regmatch_t pmatch[3];
- regex_t intExpr;
- regcomp(&intExpr, "^([a-z][a-z0-9_]*)=([0-9]+((,[0-9]+))*)$", REG_EXTENDED | REG_ICASE);
- regex_t stringExpr;
- regcomp(&stringExpr, "^([a-z][a-z0-9_]*)=([^&= ]+)$", REG_EXTENDED | REG_ICASE);
- if (regexec(&intExpr, paramStr.termedBuf(), 3, pmatch, 0) == 0) {
- param.first = paramStr.substr(pmatch[1].rm_so, pmatch[1].rm_eo);
- std::vector array;
- int n = pmatch[2].rm_so;
- for (int i = n; i < pmatch[2].rm_eo; ++i) {
- if (paramStr[i] == ',') {
- array.push_back(atoi(paramStr.substr(n, i).termedBuf()));
- n = i + 1;
- }
- }
- if (n < pmatch[2].rm_eo)
- array.push_back(atoi(paramStr.substr(n, pmatch[2].rm_eo).termedBuf()));
- param.second = new IntParam(array);
- parsed = true;
- } else if (regexec(&stringExpr, paramStr.termedBuf(), 3, pmatch, 0) == 0) {
- param.first = paramStr.substr(pmatch[1].rm_so, pmatch[1].rm_eo);
- param.second = new StringParam(paramStr.substr(pmatch[2].rm_so, pmatch[2].rm_eo));
- parsed = true;
- }
- regfree(&stringExpr);
- regfree(&intExpr);
- return parsed;
-}
-
-bool
-Mgr::QueryParams::Parse(const String& aParamsStr, QueryParams& aParams)
-{
- if (aParamsStr.size() != 0) {
- Param param;
- size_t n = 0;
- size_t len = aParamsStr.size();
- for (size_t i = n; i < len; ++i) {
- if (aParamsStr[i] == '&') {
- if (!ParseParam(aParamsStr.substr(n, i), param))
- return false;
- aParams.params.push_back(param);
- n = i + 1;
- }
- }
- if (n < len) {
- if (!ParseParam(aParamsStr.substr(n, len), param))
- return false;
- aParams.params.push_back(param);
- }
+ static const CharacterSet nameChars = CharacterSet("param-name", "_") + CharacterSet::ALPHA + CharacterSet::DIGIT;
+ static const CharacterSet valueChars = CharacterSet("param-value", "&= #").complement();
+ static const CharacterSet delimChars("param-delim", "&");
+
+ while (!tok.atEnd()) {
+
+ // TODO: remove '#' processing when AnyP::Uri splits 'query#fragment' properly
+ // #fragment handled by caller. Do not throw.
+ if (tok.remaining()[0] == '#')
+ return;
+
+ if (tok.skipAll(delimChars))
+ continue;
+
+ SBuf nameStr;
+ if (!tok.prefix(nameStr, nameChars))
+ throw TextException("invalid query parameter name", Here());
+ if (!tok.skip('='))
+ throw TextException("missing parameter value", Here());
+
+ SBuf valueStr;
+ if (!tok.prefix(valueStr, valueChars))
+ throw TextException("missing or malformed parameter value", Here());
+
+ const auto name = SBufToString(nameStr);
+ const auto value = ParseParamValue(valueStr);
+ aParams.params.emplace_back(name, value);
}
- return true;
}
Mgr::QueryParam::Pointer
@@ -138,4 +157,3 @@
}
return NULL;
}
-
diff -u -r -N squid-5.0.5/src/mgr/QueryParams.h squid-5.0.6/src/mgr/QueryParams.h
--- squid-5.0.5/src/mgr/QueryParams.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/QueryParams.h 2021-05-10 21:02:34.000000000 +1200
@@ -13,9 +13,11 @@
#include "ipc/forward.h"
#include "mgr/QueryParam.h"
+#include "parser/forward.h"
#include "SquidString.h"
-#include
+
#include
+#include
namespace Mgr
{
@@ -32,15 +34,13 @@
void pack(Ipc::TypedMsgHdr& msg) const; ///< store params into msg
void unpack(const Ipc::TypedMsgHdr& msg); ///< load params from msg
/// parses the query string parameters
- static bool Parse(const String& aParamsStr, QueryParams& aParams);
+ static void Parse(Parser::Tokenizer &, QueryParams &);
private:
/// find query parameter by name
Params::const_iterator find(const String& name) const;
/// creates a parameter of the specified type
static QueryParam::Pointer CreateParam(QueryParam::Type aType);
- /// parses string like "param=value"; returns true if success
- static bool ParseParam(const String& paramStr, Param& param);
private:
Params params;
diff -u -r -N squid-5.0.5/src/mgr/Request.cc squid-5.0.6/src/mgr/Request.cc
--- squid-5.0.5/src/mgr/Request.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Request.cc 2021-05-10 21:02:34.000000000 +1200
@@ -16,7 +16,9 @@
#include "mgr/ActionParams.h"
#include "mgr/Request.h"
-Mgr::Request::Request(int aRequestorId, unsigned int aRequestId, const Comm::ConnectionPointer &aConn,
+Mgr::Request::Request(const int aRequestorId,
+ const Ipc::RequestId aRequestId,
+ const Comm::ConnectionPointer &aConn,
const ActionParams &aParams):
Ipc::Request(aRequestorId, aRequestId),
conn(aConn),
@@ -25,14 +27,7 @@
Must(requestorId > 0);
}
-Mgr::Request::Request(const Request& request):
- Ipc::Request(request.requestorId, request.requestId),
- conn(request.conn), params(request.params)
-{
-}
-
-Mgr::Request::Request(const Ipc::TypedMsgHdr& msg):
- Ipc::Request(0, 0)
+Mgr::Request::Request(const Ipc::TypedMsgHdr &msg)
{
msg.checkType(Ipc::mtCacheMgrRequest);
msg.getPod(requestorId);
diff -u -r -N squid-5.0.5/src/mgr/Request.h squid-5.0.6/src/mgr/Request.h
--- squid-5.0.5/src/mgr/Request.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Request.h 2021-05-10 21:02:34.000000000 +1200
@@ -22,7 +22,7 @@
class Request: public Ipc::Request
{
public:
- Request(int aRequestorId, unsigned int aRequestId, const Comm::ConnectionPointer &aConn,
+ Request(int aRequestorId, Ipc::RequestId, const Comm::ConnectionPointer &aConn,
const ActionParams &aParams);
explicit Request(const Ipc::TypedMsgHdr& msg); ///< from recvmsg()
@@ -30,9 +30,6 @@
virtual void pack(Ipc::TypedMsgHdr& msg) const;
virtual Pointer clone() const;
-private:
- Request(const Request& request);
-
public:
Comm::ConnectionPointer conn; ///< HTTP client connection descriptor
diff -u -r -N squid-5.0.5/src/mgr/Response.cc squid-5.0.6/src/mgr/Response.cc
--- squid-5.0.5/src/mgr/Response.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Response.cc 2021-05-10 21:02:34.000000000 +1200
@@ -12,24 +12,19 @@
#include "base/TextException.h"
#include "CacheManager.h"
#include "ipc/Messages.h"
+#include "ipc/RequestId.h"
#include "ipc/TypedMsgHdr.h"
#include "mgr/ActionCreator.h"
#include "mgr/ActionProfile.h"
#include "mgr/Response.h"
-Mgr::Response::Response(unsigned int aRequestId, Action::Pointer anAction):
+Mgr::Response::Response(const Ipc::RequestId aRequestId, const Action::Pointer anAction):
Ipc::Response(aRequestId), action(anAction)
{
Must(!action || action->name()); // if there is an action, it must be named
}
-Mgr::Response::Response(const Response& response):
- Ipc::Response(response.requestId), action(response.action)
-{
-}
-
-Mgr::Response::Response(const Ipc::TypedMsgHdr& msg):
- Ipc::Response(0)
+Mgr::Response::Response(const Ipc::TypedMsgHdr &msg)
{
msg.checkType(Ipc::mtCacheMgrResponse);
msg.getPod(requestId);
diff -u -r -N squid-5.0.5/src/mgr/Response.h squid-5.0.6/src/mgr/Response.h
--- squid-5.0.5/src/mgr/Response.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mgr/Response.h 2021-05-10 21:02:34.000000000 +1200
@@ -23,7 +23,8 @@
class Response: public Ipc::Response
{
public:
- Response(unsigned int aRequestId, Action::Pointer anAction = NULL);
+ /// sender's constructor
+ Response(Ipc::RequestId, Action::Pointer anAction = nullptr);
explicit Response(const Ipc::TypedMsgHdr& msg); ///< from recvmsg()
@@ -34,9 +35,6 @@
bool hasAction() const; ///< whether response contain action object
const Action& getAction() const; ///< returns action object
-private:
- Response(const Response& response);
-
public:
Action::Pointer action; ///< action relating to response
};
diff -u -r -N squid-5.0.5/src/mk-string-arrays.awk squid-5.0.6/src/mk-string-arrays.awk
--- squid-5.0.5/src/mk-string-arrays.awk 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/mk-string-arrays.awk 2021-05-10 21:02:34.000000000 +1200
@@ -74,7 +74,8 @@
END {
if (sbuf) print "#include \"sbuf/SBuf.h\""
- print "#include \"" nspath type ".h\""
+ if (ifile != "") print "#include \"" ifile "\""
+ else print "#include \"" nspath type ".h\""
# if namespace is not empty ??
if (namespace) print "namespace " namespace
diff -u -r -N squid-5.0.5/src/multicast.cc squid-5.0.6/src/multicast.cc
--- squid-5.0.5/src/multicast.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/multicast.cc 2021-05-10 21:02:34.000000000 +1200
@@ -42,7 +42,7 @@
return;
}
- for (const auto ip: ia->goodAndBad()) { // TODO: Consider using just good().
+ for (const auto &ip: ia->goodAndBad()) { // TODO: Consider using just good().
debugs(7, 9, "Listening for ICP requests on " << ip);
if (!ip.isIPv4()) {
diff -u -r -N squid-5.0.5/src/Notes.cc squid-5.0.6/src/Notes.cc
--- squid-5.0.5/src/Notes.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/Notes.cc 2021-05-10 21:02:34.000000000 +1200
@@ -76,7 +76,7 @@
if (reply)
HTTPMSGLOCK(ch.reply);
- for (auto v: values) {
+ for (const auto &v: values) {
assert(v->aclList);
const auto ret = ch.fastCheck(v->aclList);
debugs(93, 5, "Check for header name: " << theKey << ": " << v->value() <<
@@ -93,7 +93,7 @@
void
Note::updateNotePairs(NotePairs::Pointer pairs, const CharacterSet *delimiters, const AccessLogEntryPointer &al)
{
- for (auto v: values) {
+ for (const auto &v: values) {
const SBuf &formatted = v->format(al);
if (!pairs->empty() && v->method() == Value::mhReplace)
pairs->remove(theKey);
@@ -107,7 +107,7 @@
void
Note::dump(StoreEntry *entry, const char *k)
{
- for (auto v: values) {
+ for (const auto &v: values) {
storeAppendPrintf(entry, "%s %.*s %s",
k, key().length(), key().rawContent(), ConfigParser::QuoteString(SBufToString(v->value())));
dump_acl_list(entry, v->aclList);
@@ -119,14 +119,14 @@
Note::toString(const char *sep) const
{
SBuf result;
- for (auto val: values)
+ for (const auto &val: values)
result.appendf("%.*s: %.*s%s", key().length(), key().rawContent(),
val->value().length(), val->value().rawContent(), sep);
return result;
}
const Notes::Keys &
-Notes::BlackList()
+Notes::ReservedKeys()
{
// these keys are used for internal Squid-helper communication
static const char *names[] = {
@@ -147,12 +147,12 @@
return keys;
}
-Notes::Notes(const char *aDescr, const Keys *extraBlacklist, bool allowFormatted):
+Notes::Notes(const char *aDescr, const Keys *extraReservedKeys, bool allowFormatted):
descr(aDescr),
formattedValues(allowFormatted)
{
- if (extraBlacklist)
- blacklist = *extraBlacklist;
+ if (extraReservedKeys)
+ reservedKeys = *extraReservedKeys;
}
Note::Pointer
@@ -167,7 +167,7 @@
Note::Pointer
Notes::find(const SBuf ¬eKey)
{
- for (auto n: notes)
+ for (const auto &n: notes)
if (n->key() == noteKey)
return n;
return nullptr;
@@ -183,8 +183,8 @@
void
Notes::validateKey(const SBuf &key) const
{
- banReservedKey(key, BlackList());
- banReservedKey(key, blacklist);
+ banReservedKey(key, ReservedKeys());
+ banReservedKey(key, reservedKeys);
// TODO: fix code duplication: the same set of specials is produced
// by isKeyNameChar().
@@ -247,14 +247,14 @@
void
Notes::updateNotePairs(NotePairs::Pointer pairs, const CharacterSet *delimiters, const AccessLogEntry::Pointer &al)
{
- for (auto n: notes)
+ for (const auto &n: notes)
n->updateNotePairs(pairs, delimiters, al);
}
void
Notes::dump(StoreEntry *entry, const char *key)
{
- for (auto n: notes)
+ for (const auto &n: notes)
n->dump(entry, key);
}
@@ -263,7 +263,7 @@
{
static SBuf result;
result.clear();
- for (auto note: notes)
+ for (const auto ¬e: notes)
result.append(note->toString(sep));
return result.isEmpty() ? nullptr : result.c_str();
}
@@ -272,7 +272,7 @@
NotePairs::find(SBuf &resultNote, const char *noteKey, const char *sep) const
{
resultNote.clear();
- for (auto e: entries) {
+ for (const auto &e: entries) {
if (!e->name().cmp(noteKey)) {
if (!resultNote.isEmpty())
resultNote.append(sep);
@@ -287,7 +287,7 @@
{
static SBuf result;
result.clear();
- for (auto e: entries)
+ for (const auto &e: entries)
result.appendf("%.*s: %.*s%s", e->name().length(), e->name().rawContent(),
e->value().length(), e->value().rawContent(), sep);
return result.isEmpty() ? nullptr : result.c_str();
@@ -296,7 +296,7 @@
const char *
NotePairs::findFirst(const char *noteKey) const
{
- for (auto e: entries)
+ for (const auto &e: entries)
if (!e->name().cmp(noteKey))
return const_cast(e->value()).c_str();
return nullptr;
@@ -348,7 +348,7 @@
if (delimiters) {
static NotePairs::Entries expandedEntries;
expandedEntries.clear();
- for(auto entry: entries)
+ for (const auto &entry: entries)
AppendTokens(expandedEntries, entry->name(), entry->value(), *delimiters);
return expandedEntries;
}
@@ -364,7 +364,7 @@
bool
NotePairs::hasPair(const SBuf &key, const SBuf &value) const
{
- for (auto e: entries)
+ for (const auto &e: entries)
if (e->name() == key && e->value() == value)
return true;
return false;
@@ -373,14 +373,14 @@
void
NotePairs::append(const NotePairs *src)
{
- for (auto e: src->entries)
+ for (const auto &e: src->entries)
entries.push_back(new NotePairs::Entry(e->name(), e->value()));
}
void
NotePairs::appendNewOnly(const NotePairs *src)
{
- for (auto e: src->entries) {
+ for (const auto &e: src->entries) {
if (!hasPair(e->name(), e->value()))
entries.push_back(new NotePairs::Entry(e->name(), e->value()));
}
@@ -389,7 +389,7 @@
void
NotePairs::replaceOrAddOrAppend(const NotePairs *src, const NotePairs::Names &appendables)
{
- for (const auto e: src->entries) {
+ for (const auto &e: src->entries) {
if (std::find(appendables.begin(), appendables.end(), e->name()) == appendables.end())
remove(e->name());
}
@@ -399,7 +399,7 @@
void
NotePairs::replaceOrAdd(const NotePairs *src)
{
- for (auto e: src->entries)
+ for (const auto &e: src->entries)
remove(e->name());
append(src);
}
diff -u -r -N squid-5.0.5/src/Notes.h squid-5.0.6/src/Notes.h
--- squid-5.0.5/src/Notes.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/Notes.h 2021-05-10 21:02:34.000000000 +1200
@@ -114,7 +114,7 @@
typedef NotesList::iterator iterator; ///< iterates over the notes list
typedef NotesList::const_iterator const_iterator; ///< iterates over the notes list
- explicit Notes(const char *aDescr, const Keys *extraBlacklist = nullptr, bool allowFormatted = true);
+ explicit Notes(const char *aDescr, const Keys *extraReservedKeys = nullptr, bool allowFormatted = true);
Notes() = default;
~Notes() { notes.clear(); }
Notes(const Notes&) = delete;
@@ -146,7 +146,7 @@
/// Makes sure the given key is not on the given list of banned names.
void banReservedKey(const SBuf &key, const Keys &banned) const;
- /// Verifies that the key is not blacklisted (fatal error) and
+ /// Verifies that the key is not reserved (fatal error) and
/// does not contain special characters (non-fatal error).
void validateKey(const SBuf &key) const;
@@ -160,10 +160,10 @@
NotesList notes; ///< The Note::Pointer objects array list
const char *descr = nullptr; ///< identifies note source in error messages
- Keys blacklist; ///< a list of additional prohibited key names
+ Keys reservedKeys; ///< a list of additional prohibited key names
bool formattedValues = false; ///< whether to expand quoted logformat %codes
- static const Notes::Keys &BlackList(); ///< always prohibited key names
+ static const Notes::Keys &ReservedKeys(); ///< always prohibited key names
};
/**
diff -u -r -N squid-5.0.5/src/parser/Makefile.am squid-5.0.6/src/parser/Makefile.am
--- squid-5.0.5/src/parser/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/parser/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,9 +11,9 @@
noinst_LTLIBRARIES = libparser.la
libparser_la_SOURCES = \
- BinaryTokenizer.h \
BinaryTokenizer.cc \
- forward.h \
+ BinaryTokenizer.h \
+ Tokenizer.cc \
Tokenizer.h \
- Tokenizer.cc
+ forward.h
diff -u -r -N squid-5.0.5/src/parser/Makefile.in squid-5.0.6/src/parser/Makefile.in
--- squid-5.0.5/src/parser/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/parser/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -729,11 +729,11 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libparser.la
libparser_la_SOURCES = \
- BinaryTokenizer.h \
BinaryTokenizer.cc \
- forward.h \
+ BinaryTokenizer.h \
+ Tokenizer.cc \
Tokenizer.h \
- Tokenizer.cc
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/Pipeline.cc squid-5.0.6/src/Pipeline.cc
--- squid-5.0.5/src/Pipeline.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/Pipeline.cc 2021-05-10 21:02:34.000000000 +1200
@@ -49,18 +49,6 @@
}
void
-Pipeline::terminateAll(int xerrno)
-{
- while (!requests.empty()) {
- Http::StreamPointer context = requests.front();
- debugs(33, 3, "Pipeline " << (void*)this << " notify(" << xerrno << ") " << context);
- context->noteIoError(xerrno);
- context->finished(); // cleanup and self-deregister
- assert(context != requests.front());
- }
-}
-
-void
Pipeline::popMe(const Http::StreamPointer &which)
{
if (requests.empty())
diff -u -r -N squid-5.0.5/src/Pipeline.h squid-5.0.6/src/Pipeline.h
--- squid-5.0.5/src/Pipeline.h 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/Pipeline.h 2021-05-10 21:02:34.000000000 +1200
@@ -55,9 +55,6 @@
/// whether there are none or any requests currently pipelined
bool empty() const {return requests.empty();}
- /// tell everybody about the err, and abort all waiting requests
- void terminateAll(const int xerrno);
-
/// deregister the front request from the pipeline
void popMe(const Http::StreamPointer &);
diff -u -r -N squid-5.0.5/src/proxyp/Makefile.am squid-5.0.6/src/proxyp/Makefile.am
--- squid-5.0.5/src/proxyp/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/proxyp/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -11,11 +11,11 @@
noinst_LTLIBRARIES = libproxyp.la
libproxyp_la_SOURCES = \
- forward.h \
- Elements.h \
Elements.cc \
+ Elements.h \
Header.cc \
Header.h \
Parser.cc \
- Parser.h
+ Parser.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/proxyp/Makefile.in squid-5.0.6/src/proxyp/Makefile.in
--- squid-5.0.5/src/proxyp/Makefile.in 2021-02-08 13:40:47.000000000 +1300
+++ squid-5.0.6/src/proxyp/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -729,13 +729,13 @@
subst_perlshell = sed -e 's,[@]PERL[@],$(PERL),g' <$(srcdir)/$@.pl.in >$@ || ($(RM) -f $@ ; exit 1)
noinst_LTLIBRARIES = libproxyp.la
libproxyp_la_SOURCES = \
- forward.h \
- Elements.h \
Elements.cc \
+ Elements.h \
Header.cc \
Header.h \
Parser.cc \
- Parser.h
+ Parser.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/proxyp/Parser.cc squid-5.0.6/src/proxyp/Parser.cc
--- squid-5.0.5/src/proxyp/Parser.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/proxyp/Parser.cc 2021-05-10 21:02:34.000000000 +1200
@@ -15,6 +15,7 @@
#include "sbuf/Stream.h"
#include
+#include
#if HAVE_SYS_SOCKET_H
#include
diff -u -r -N squid-5.0.5/src/repl/Makefile.am squid-5.0.6/src/repl/Makefile.am
--- squid-5.0.5/src/repl/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/repl/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -16,7 +16,10 @@
noinst_LIBRARIES = $(REPL_LIBS)
liblru_a_SOURCES = lru/store_repl_lru.cc
-libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.cc heap/store_repl_heap.cc
+libheap_a_SOURCES = \
+ heap/store_heap_replacement.cc \
+ heap/store_heap_replacement.h \
+ heap/store_repl_heap.cc
## Until such time as we have a makefile in src/repl/heap etc.
diff -u -r -N squid-5.0.5/src/repl/Makefile.in squid-5.0.6/src/repl/Makefile.in
--- squid-5.0.5/src/repl/Makefile.in 2021-02-08 13:40:48.000000000 +1300
+++ squid-5.0.6/src/repl/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -744,7 +744,11 @@
EXTRA_LIBRARIES = liblru.a libheap.a
noinst_LIBRARIES = $(REPL_LIBS)
liblru_a_SOURCES = lru/store_repl_lru.cc
-libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.cc heap/store_repl_heap.cc
+libheap_a_SOURCES = \
+ heap/store_heap_replacement.cc \
+ heap/store_heap_replacement.h \
+ heap/store_repl_heap.cc
+
all: all-am
.SUFFIXES:
diff -u -r -N squid-5.0.5/src/sbuf/Makefile.am squid-5.0.6/src/sbuf/Makefile.am
--- squid-5.0.5/src/sbuf/Makefile.am 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/sbuf/Makefile.am 2021-05-10 21:02:34.000000000 +1200
@@ -15,7 +15,6 @@
Algorithms.h \
DetailedStats.cc \
DetailedStats.h \
- forward.h \
List.cc \
List.h \
MemBlob.cc \
@@ -24,4 +23,5 @@
SBuf.h \
Stats.cc \
Stats.h \
- Stream.h
+ Stream.h \
+ forward.h
diff -u -r -N squid-5.0.5/src/sbuf/Makefile.in squid-5.0.6/src/sbuf/Makefile.in
--- squid-5.0.5/src/sbuf/Makefile.in 2021-02-08 13:40:48.000000000 +1300
+++ squid-5.0.6/src/sbuf/Makefile.in 2021-05-10 22:57:55.000000000 +1200
@@ -736,7 +736,6 @@
Algorithms.h \
DetailedStats.cc \
DetailedStats.h \
- forward.h \
List.cc \
List.h \
MemBlob.cc \
@@ -745,7 +744,8 @@
SBuf.h \
Stats.cc \
Stats.h \
- Stream.h
+ Stream.h \
+ forward.h
all: all-am
diff -u -r -N squid-5.0.5/src/sbuf/SBuf.cc squid-5.0.6/src/sbuf/SBuf.cc
--- squid-5.0.5/src/sbuf/SBuf.cc 2021-02-05 11:15:11.000000000 +1300
+++ squid-5.0.6/src/sbuf/SBuf.cc 2021-05-10 21:02:34.000000000 +1200
@@ -148,7 +148,7 @@
debugs(24, 8, id << " finish appending " << actualSize << " bytes");
size_type newSize = length() + actualSize;
- Must2(newSize <= min(maxSize,store_->capacity-off_), "raw append overflow");
+ Must3(newSize <= min(maxSize, store_->capacity-off_), "raw append fits", Here());
len_ = newSize;
store_->size = off_ + newSize;
}
@@ -258,7 +258,7 @@
va_copy(ap, vargs);
sz = vsnprintf(space, spaceSize(), fmt, ap);
va_end(ap);
- Must2(sz >= 0, "vsnprintf() output error");
+ Must3(sz >= 0, "vsnprintf() succeeds", Here());
/* check for possible overflow */
/* snprintf on Linux returns -1 on output errors, or the size
@@ -270,7 +270,7 @@
requiredSpaceEstimate = sz*2; // TODO: tune heuristics
space = rawSpace(requiredSpaceEstimate);
sz = vsnprintf(space, spaceSize(), fmt, vargs);
- Must2(sz >= 0, "vsnprintf() output error despite increased buffer space");
+ Must3(sz >= 0, "vsnprintf() succeeds (with increased buffer space)", Here());
}
// data was appended, update internal state
diff -u -r -N squid-5.0.5/src/security/cert_validators/fake/security_fake_certverify.8 squid-5.0.6/src/security/cert_validators/fake/security_fake_certverify.8
--- squid-5.0.5/src/security/cert_validators/fake/security_fake_certverify.8 2021-02-08 13:46:40.000000000 +1300
+++ squid-5.0.6/src/security/cert_validators/fake/security_fake_certverify.8 2021-05-10 23:02:25.000000000 +1200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "SECURITY_FAKE_CERTVERIFY 8"
-.TH SECURITY_FAKE_CERTVERIFY 8 "2021-02-08" "perl v5.32.0" "User Contributed Perl Documentation"
+.TH SECURITY_FAKE_CERTVERIFY 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff -u -r -N squid-5.0.5/src/security/ErrorDetail.cc squid-5.0.6/src/security/ErrorDetail.cc
--- squid-5.0.5/src/security/ErrorDetail.cc 1970-01-01 12:00:00.000000000 +1200
+++ squid-5.0.6/src/security/ErrorDetail.cc 2021-05-10 21:02:34.000000000 +1200
@@ -0,0 +1,744 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#include "squid.h"
+#include "error/SysErrorDetail.h"
+#include "html_quote.h"
+#include "sbuf/SBuf.h"
+#include "sbuf/Stream.h"
+#include "security/ErrorDetail.h"
+#include "security/forward.h"
+#include "security/Io.h"
+#include "util.h"
+
+#if USE_OPENSSL
+#include "ssl/ErrorDetailManager.h"
+#elif USE_GNUTLS
+#if HAVE_GNUTLS_GNUTLS_H
+#include
+#endif
+#endif
+#include