diff -u -r -N squid-4.15/ChangeLog squid-4.16/ChangeLog --- squid-4.15/ChangeLog 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/ChangeLog 2021-07-05 22:09:36.000000000 +1200 @@ -1,3 +1,10 @@ +Changes in squid-4.16 (04 Jul 2021): + + - Regression Fix: --with-valgrind-debug build broken since 4.15 + - Bug 5129 pt1: remove Lock use from HttpRequestMethod + - Bug 5128: Translation: Fix '% i' typo in es/ERR_FORWARDING_DENIED + - Bug 4528: ICAP transactions quit on async DNS lookups + Changes in squid-4.15 (10 May 2021): - Bug 5112: Excessively loud chunked reply parsing error reporting diff -u -r -N squid-4.15/configure squid-4.16/configure --- squid-4.15/configure 2021-05-10 22:35:34.000000000 +1200 +++ squid-4.16/configure 2021-07-05 22:56:27.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 4.15. +# Generated by GNU Autoconf 2.69 for Squid Web Proxy 4.16. # # Report bugs to . # @@ -595,8 +595,8 @@ # Identity of this package. PACKAGE_NAME='Squid Web Proxy' PACKAGE_TARNAME='squid' -PACKAGE_VERSION='4.15' -PACKAGE_STRING='Squid Web Proxy 4.15' +PACKAGE_VERSION='4.16' +PACKAGE_STRING='Squid Web Proxy 4.16' PACKAGE_BUGREPORT='http://bugs.squid-cache.org/' PACKAGE_URL='' @@ -1656,7 +1656,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 4.15 to adapt to many kinds of systems. +\`configure' configures Squid Web Proxy 4.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1727,7 +1727,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Squid Web Proxy 4.15:";; + short | recursive ) echo "Configuration of Squid Web Proxy 4.16:";; 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 4.15 +Squid Web Proxy configure 4.16 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 4.15, which was +It was created by Squid Web Proxy $as_me 4.16, 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='4.15' + VERSION='4.16' cat >>confdefs.h <<_ACEOF @@ -44619,7 +44619,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 4.15, which was +This file was extended by Squid Web Proxy $as_me 4.16, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -44685,7 +44685,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 4.15 +Squid Web Proxy config.status 4.16 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -u -r -N squid-4.15/configure.ac squid-4.16/configure.ac --- squid-4.15/configure.ac 2021-05-10 22:35:34.000000000 +1200 +++ squid-4.16/configure.ac 2021-07-05 22:56:27.000000000 +1200 @@ -5,7 +5,7 @@ ## Please see the COPYING and CONTRIBUTORS files for details. ## -AC_INIT([Squid Web Proxy],[4.15],[http://bugs.squid-cache.org/],[squid]) +AC_INIT([Squid Web Proxy],[4.16],[http://bugs.squid-cache.org/],[squid]) AC_PREREQ(2.61) AC_CONFIG_HEADERS([include/autoconf.h]) AC_CONFIG_AUX_DIR(cfgaux) diff -u -r -N squid-4.15/doc/release-notes/release-4.html squid-4.16/doc/release-notes/release-4.html --- squid-4.15/doc/release-notes/release-4.html 2021-05-10 22:40:02.000000000 +1200 +++ squid-4.16/doc/release-notes/release-4.html 2021-07-05 23:00:45.000000000 +1200 @@ -3,10 +3,10 @@ - Squid 4.15 release notes + Squid 4.16 release notes -

Squid 4.15 release notes

+

Squid 4.16 release notes

Squid Developers


@@ -64,7 +64,7 @@

1. Notice

-

The Squid Team are pleased to announce the release of Squid-4.15.

+

The Squid Team are pleased to announce the release of Squid-4.16.

This new release is available for download from http://www.squid-cache.org/Versions/v4/ or the mirrors.

@@ -479,6 +479,7 @@

New tls-default-ca option to use the system Trusted CAs to verify the server certificate.

New tls-domain= option to verify the server certificate domain.

+

Squid-4.16 improved support for hostnames in ICAP service URLs.

logfile_daemon

Now only requires that helper binary exists when daemon: log module diff -u -r -N squid-4.15/errors/es/ERR_FORWARDING_DENIED squid-4.16/errors/es/ERR_FORWARDING_DENIED --- squid-4.15/errors/es/ERR_FORWARDING_DENIED 2021-05-10 22:37:12.000000000 +1200 +++ squid-4.16/errors/es/ERR_FORWARDING_DENIED 2021-07-05 22:57:50.000000000 +1200 @@ -24,7 +24,7 @@

Reenvío denegado.

-

Este caché no transmitirá su solicitud, ya que intenta imponer una relación de conexión. Quizás el cliente en% i es un caché que se ha desconfigurado.

+

Este caché no transmitirá su solicitud, ya que intenta imponer una relación de conexión. Quizás el cliente en %i es un caché que se ha desconfigurado.

Su administrador del caché es %w.

diff -u -r -N squid-4.15/include/version.h squid-4.16/include/version.h --- squid-4.15/include/version.h 2021-05-10 22:35:34.000000000 +1200 +++ squid-4.16/include/version.h 2021-07-05 22:56:27.000000000 +1200 @@ -7,7 +7,7 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1620642924 +#define SQUID_RELEASE_TIME 1625482578 #endif /* diff -u -r -N squid-4.15/RELEASENOTES.html squid-4.16/RELEASENOTES.html --- squid-4.15/RELEASENOTES.html 2021-05-10 22:40:02.000000000 +1200 +++ squid-4.16/RELEASENOTES.html 2021-07-05 23:00:45.000000000 +1200 @@ -3,10 +3,10 @@ - Squid 4.15 release notes + Squid 4.16 release notes -

Squid 4.15 release notes

+

Squid 4.16 release notes

Squid Developers


@@ -64,7 +64,7 @@

1. Notice

-

The Squid Team are pleased to announce the release of Squid-4.15.

+

The Squid Team are pleased to announce the release of Squid-4.16.

This new release is available for download from http://www.squid-cache.org/Versions/v4/ or the mirrors.

@@ -479,6 +479,7 @@

New tls-default-ca option to use the system Trusted CAs to verify the server certificate.

New tls-domain= option to verify the server certificate domain.

+

Squid-4.16 improved support for hostnames in ICAP service URLs.

logfile_daemon

Now only requires that helper binary exists when daemon: log module diff -u -r -N squid-4.15/src/acl/external/delayer/ext_delayer_acl.8 squid-4.16/src/acl/external/delayer/ext_delayer_acl.8 --- squid-4.15/src/acl/external/delayer/ext_delayer_acl.8 2021-05-10 22:40:06.000000000 +1200 +++ squid-4.16/src/acl/external/delayer/ext_delayer_acl.8 2021-07-05 23:00:47.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_DELAYER_ACL 8" -.TH EXT_DELAYER_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH EXT_DELAYER_ACL 8 "2021-07-05" "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-4.15/src/acl/external/SQL_session/ext_sql_session_acl.8 squid-4.16/src/acl/external/SQL_session/ext_sql_session_acl.8 --- squid-4.15/src/acl/external/SQL_session/ext_sql_session_acl.8 2021-05-10 22:40:07.000000000 +1200 +++ squid-4.16/src/acl/external/SQL_session/ext_sql_session_acl.8 2021-07-05 23:00:47.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_SQL_SESSION_ACL 8" -.TH EXT_SQL_SESSION_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH EXT_SQL_SESSION_ACL 8 "2021-07-05" "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-4.15/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 squid-4.16/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 --- squid-4.15/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2021-05-10 22:40:07.000000000 +1200 +++ squid-4.16/src/acl/external/wbinfo_group/ext_wbinfo_group_acl.8 2021-07-05 23:00:48.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "EXT_WBINFO_GROUP_ACL 8" -.TH EXT_WBINFO_GROUP_ACL 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH EXT_WBINFO_GROUP_ACL 8 "2021-07-05" "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-4.15/src/adaptation/icap/Xaction.cc squid-4.16/src/adaptation/icap/Xaction.cc --- squid-4.15/src/adaptation/icap/Xaction.cc 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/src/adaptation/icap/Xaction.cc 2021-07-05 22:09:36.000000000 +1200 @@ -88,6 +88,7 @@ isRetriable(true), isRepeatable(true), ignoreLastWrite(false), + waitingForDns(false), stopReason(NULL), connector(NULL), reader(NULL), @@ -189,12 +190,17 @@ debugs(93,3, typeName << " opens connection to " << s.cfg().host.termedBuf() << ":" << s.cfg().port); // Locate the Service IP(s) to open + assert(!waitingForDns); + waitingForDns = true; // before the possibly-synchronous ipcache_nbgethostbyname() ipcache_nbgethostbyname(s.cfg().host.termedBuf(), icapLookupDnsResults, this); } void Adaptation::Icap::Xaction::dnsLookupDone(const ipcache_addrs *ia) { + assert(waitingForDns); + waitingForDns = false; + Adaptation::Icap::ServiceRep &s = service(); if (ia == NULL) { @@ -420,7 +426,8 @@ bool Adaptation::Icap::Xaction::doneAll() const { - return !connector && !securer && !reader && !writer && Adaptation::Initiate::doneAll(); + return !waitingForDns && !connector && !securer && !reader && !writer && + Adaptation::Initiate::doneAll(); } void Adaptation::Icap::Xaction::updateTimeout() @@ -690,6 +697,9 @@ buf.append(";", 1); } + + if (waitingForDns) + buf.append("D", 1); } void Adaptation::Icap::Xaction::fillDoneStatus(MemBuf &buf) const diff -u -r -N squid-4.15/src/adaptation/icap/Xaction.h squid-4.16/src/adaptation/icap/Xaction.h --- squid-4.15/src/adaptation/icap/Xaction.h 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/src/adaptation/icap/Xaction.h 2021-07-05 22:09:36.000000000 +1200 @@ -136,6 +136,7 @@ bool isRetriable; ///< can retry on persistent connection failures bool isRepeatable; ///< can repeat if no or unsatisfactory response bool ignoreLastWrite; + bool waitingForDns; ///< expecting a ipcache_nbgethostbyname() callback const char *stopReason; diff -u -r -N squid-4.15/src/auth/basic/DB/basic_db_auth.8 squid-4.16/src/auth/basic/DB/basic_db_auth.8 --- squid-4.15/src/auth/basic/DB/basic_db_auth.8 2021-05-10 22:40:08.000000000 +1200 +++ squid-4.16/src/auth/basic/DB/basic_db_auth.8 2021-07-05 23:00:48.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BASIC_DB_AUTH 8" -.TH BASIC_DB_AUTH 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH BASIC_DB_AUTH 8 "2021-07-05" "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-4.15/src/auth/basic/POP3/basic_pop3_auth.8 squid-4.16/src/auth/basic/POP3/basic_pop3_auth.8 --- squid-4.15/src/auth/basic/POP3/basic_pop3_auth.8 2021-05-10 22:40:08.000000000 +1200 +++ squid-4.16/src/auth/basic/POP3/basic_pop3_auth.8 2021-07-05 23:00:48.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BASIC_POP3_AUTH 8" -.TH BASIC_POP3_AUTH 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH BASIC_POP3_AUTH 8 "2021-07-05" "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-4.15/src/cbdata.cc squid-4.16/src/cbdata.cc --- squid-4.15/src/cbdata.cc 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/src/cbdata.cc 2021-07-05 22:09:36.000000000 +1200 @@ -90,14 +90,7 @@ {} ~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 - } + static cbdata *FromUserData(const void *); int valid; int32_t locks; @@ -168,6 +161,16 @@ cbdata_index[type].pool->freeOne(p); } +cbdata * +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 +} + static void cbdataInternalInitType(cbdata_type type, const char *name, int size) { diff -u -r -N squid-4.15/src/http/forward.h squid-4.16/src/http/forward.h --- squid-4.15/src/http/forward.h 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/src/http/forward.h 2021-07-05 22:09:36.000000000 +1200 @@ -21,7 +21,6 @@ // TODO move these classes into Http namespace class HttpRequestMethod; -typedef RefCount HttpRequestMethodPointer; class HttpRequest; typedef RefCount HttpRequestPointer; diff -u -r -N squid-4.15/src/http/RequestMethod.h squid-4.16/src/http/RequestMethod.h --- squid-4.15/src/http/RequestMethod.h 2021-05-10 14:04:15.000000000 +1200 +++ squid-4.16/src/http/RequestMethod.h 2021-07-05 22:09:36.000000000 +1200 @@ -23,7 +23,7 @@ * It has a runtime extension facility to allow it to * efficiently support new methods */ -class HttpRequestMethod : public RefCountable +class HttpRequestMethod { public: HttpRequestMethod() : theMethod(Http::METHOD_NONE), theImage() {} @@ -32,12 +32,6 @@ void HttpRequestMethodXXX(char const *); // deprecated old c-string to SBuf converter. - HttpRequestMethod & operator = (const HttpRequestMethod& aMethod) { - theMethod = aMethod.theMethod; - theImage = aMethod.theImage; - return *this; - } - HttpRequestMethod & operator = (Http::MethodType const aMethod) { theMethod = aMethod; theImage.clear(); diff -u -r -N squid-4.15/src/http/url_rewriters/LFS/url_lfs_rewrite.8 squid-4.16/src/http/url_rewriters/LFS/url_lfs_rewrite.8 --- squid-4.15/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2021-05-10 22:40:09.000000000 +1200 +++ squid-4.16/src/http/url_rewriters/LFS/url_lfs_rewrite.8 2021-07-05 23:00:49.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "URL_LFS_REWRITE 8" -.TH URL_LFS_REWRITE 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH URL_LFS_REWRITE 8 "2021-07-05" "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-4.15/src/log/DB/log_db_daemon.8 squid-4.16/src/log/DB/log_db_daemon.8 --- squid-4.15/src/log/DB/log_db_daemon.8 2021-05-10 22:40:09.000000000 +1200 +++ squid-4.16/src/log/DB/log_db_daemon.8 2021-07-05 23:00:50.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "LOG_DB_DAEMON 8" -.TH LOG_DB_DAEMON 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH LOG_DB_DAEMON 8 "2021-07-05" "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-4.15/src/security/cert_validators/fake/security_fake_certverify.8 squid-4.16/src/security/cert_validators/fake/security_fake_certverify.8 --- squid-4.15/src/security/cert_validators/fake/security_fake_certverify.8 2021-05-10 22:40:09.000000000 +1200 +++ squid-4.16/src/security/cert_validators/fake/security_fake_certverify.8 2021-07-05 23:00:50.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "SECURITY_FAKE_CERTVERIFY 8" -.TH SECURITY_FAKE_CERTVERIFY 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH SECURITY_FAKE_CERTVERIFY 8 "2021-07-05" "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-4.15/src/store/id_rewriters/file/storeid_file_rewrite.8 squid-4.16/src/store/id_rewriters/file/storeid_file_rewrite.8 --- squid-4.15/src/store/id_rewriters/file/storeid_file_rewrite.8 2021-05-10 22:40:07.000000000 +1200 +++ squid-4.16/src/store/id_rewriters/file/storeid_file_rewrite.8 2021-07-05 23:00:48.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "STOREID_FILE_REWRITE 8" -.TH STOREID_FILE_REWRITE 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH STOREID_FILE_REWRITE 8 "2021-07-05" "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-4.15/tools/helper-mux/helper-mux.8 squid-4.16/tools/helper-mux/helper-mux.8 --- squid-4.15/tools/helper-mux/helper-mux.8 2021-05-10 22:40:10.000000000 +1200 +++ squid-4.16/tools/helper-mux/helper-mux.8 2021-07-05 23:00:50.000000000 +1200 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "HELPER-MUX 8" -.TH HELPER-MUX 8 "2021-05-10" "perl v5.32.0" "User Contributed Perl Documentation" +.TH HELPER-MUX 8 "2021-07-05" "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