From b78a8742ae1938190ee7956fe861d0cee662bb41 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 23 May 2016 14:16:43 +0200 Subject: [PATCH] squid 3.5.19: latest patches from upstream For details, see: http://www.squid-cache.org/Versions/v3/3.5/changesets/ Signed-off-by: Matthias Fischer Signed-off-by: Michael Tremer --- lfs/squid | 6 +++ src/patches/squid/squid-3.5-14051.patch | 63 +++++++++++++++++++++++++ src/patches/squid/squid-3.5-14052.patch | 34 +++++++++++++ src/patches/squid/squid-3.5-14053.patch | 46 ++++++++++++++++++ src/patches/squid/squid-3.5-14054.patch | 37 +++++++++++++++ src/patches/squid/squid-3.5-14055.patch | 39 +++++++++++++++ src/patches/squid/squid-3.5-14056.patch | 36 ++++++++++++++ 7 files changed, 261 insertions(+) create mode 100644 src/patches/squid/squid-3.5-14051.patch create mode 100644 src/patches/squid/squid-3.5-14052.patch create mode 100644 src/patches/squid/squid-3.5-14053.patch create mode 100644 src/patches/squid/squid-3.5-14054.patch create mode 100644 src/patches/squid/squid-3.5-14055.patch create mode 100644 src/patches/squid/squid-3.5-14056.patch diff --git a/lfs/squid b/lfs/squid index 74a4f19a3e..edaf943d63 100644 --- a/lfs/squid +++ b/lfs/squid @@ -70,6 +70,12 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14051.patch + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14052.patch + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14053.patch + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14054.patch + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14055.patch + cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid/squid-3.5-14056.patch cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/squid-3.5.17-fix-max-file-descriptors.patch cd $(DIR_APP) && autoreconf -vfi diff --git a/src/patches/squid/squid-3.5-14051.patch b/src/patches/squid/squid-3.5-14051.patch new file mode 100644 index 0000000000..58892dc87a --- /dev/null +++ b/src/patches/squid/squid-3.5-14051.patch @@ -0,0 +1,63 @@ +------------------------------------------------------------ +revno: 14051 +revision-id: squid3@treenet.co.nz-20160517145850-uos9z00nrt7xd9ik +parent: squid3@treenet.co.nz-20160508124125-fytgvn68zppfr8ix +author: Steve Hill +committer: Amos Jeffries +branch nick: 3.5 +timestamp: Wed 2016-05-18 02:58:50 +1200 +message: + Support unified EUI format code in external_acl_type + + Squid supports %>eui as a logformat specifier, which produces an EUI-48 + for IPv4 clients and an EUI-64 for IPv6 clients. However, This is not + allowed as a format specifier for the external ACLs, and you have to use + %SRCEUI48 and %SRCEUI64 instead. %SRCEUI48 is only useful for IPv4 + clients and %SRCEUI64 is only useful for IPv6 clients, so supporting + both v4 and v6 is a bit messy. + + Adds the %>eui specifier for external ACLs and behaves in the same way + as the logformat specifier. +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20160517145850-uos9z00nrt7xd9ik +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: ad0743717948a65cfd4f306acc2bbaa9343e9a76 +# timestamp: 2016-05-17 15:50:54 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squid3@treenet.co.nz-20160508124125-\ +# fytgvn68zppfr8ix +# +# Begin patch +=== modified file 'src/external_acl.cc' +--- src/external_acl.cc 2016-01-01 00:14:27 +0000 ++++ src/external_acl.cc 2016-05-17 14:58:50 +0000 +@@ -356,6 +356,8 @@ + else if (strcmp(token, "%SRCPORT") == 0 || strcmp(token, "%>p") == 0) + format->type = Format::LFT_CLIENT_PORT; + #if USE_SQUID_EUI ++ else if (strcmp(token, "%>eui") == 0) ++ format->type = Format::LFT_CLIENT_EUI; + else if (strcmp(token, "%SRCEUI48") == 0) + format->type = Format::LFT_EXT_ACL_CLIENT_EUI48; + else if (strcmp(token, "%SRCEUI64") == 0) +@@ -944,6 +946,18 @@ + break; + + #if USE_SQUID_EUI ++ case Format::LFT_CLIENT_EUI: ++ // TODO make the ACL checklist have a direct link to any TCP details. ++ if (request->clientConnectionManager.valid() && request->clientConnectionManager->clientConnection != NULL) ++ { ++ if (request->clientConnectionManager->clientConnection->remote.isIPv4()) ++ request->clientConnectionManager->clientConnection->remoteEui48.encode(buf, sizeof(buf)); ++ else ++ request->clientConnectionManager->clientConnection->remoteEui64.encode(buf, sizeof(buf)); ++ str = buf; ++ } ++ break; ++ + case Format::LFT_EXT_ACL_CLIENT_EUI48: + if (request->clientConnectionManager.valid() && request->clientConnectionManager->clientConnection != NULL && + request->clientConnectionManager->clientConnection->remoteEui48.encode(buf, sizeof(buf))) + diff --git a/src/patches/squid/squid-3.5-14052.patch b/src/patches/squid/squid-3.5-14052.patch new file mode 100644 index 0000000000..4fba15956b --- /dev/null +++ b/src/patches/squid/squid-3.5-14052.patch @@ -0,0 +1,34 @@ +------------------------------------------------------------ +revno: 14052 +revision-id: squidadm@squid-cache.org-20160517181416-sfrjdosd9dhx7u8o +parent: squid3@treenet.co.nz-20160517145850-uos9z00nrt7xd9ik +committer: Source Maintenance +branch nick: 3.5 +timestamp: Tue 2016-05-17 18:14:16 +0000 +message: + SourceFormat Enforcement +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squidadm@squid-cache.org-20160517181416-\ +# sfrjdosd9dhx7u8o +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: e30c12805cacdb559925da08cc6a25fe4a39c19b +# timestamp: 2016-05-17 18:51:06 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squid3@treenet.co.nz-20160517145850-\ +# uos9z00nrt7xd9ik +# +# Begin patch +=== modified file 'src/external_acl.cc' +--- src/external_acl.cc 2016-05-17 14:58:50 +0000 ++++ src/external_acl.cc 2016-05-17 18:14:16 +0000 +@@ -956,7 +956,7 @@ + request->clientConnectionManager->clientConnection->remoteEui64.encode(buf, sizeof(buf)); + str = buf; + } +- break; ++ break; + + case Format::LFT_EXT_ACL_CLIENT_EUI48: + if (request->clientConnectionManager.valid() && request->clientConnectionManager->clientConnection != NULL && + diff --git a/src/patches/squid/squid-3.5-14053.patch b/src/patches/squid/squid-3.5-14053.patch new file mode 100644 index 0000000000..f669449aee --- /dev/null +++ b/src/patches/squid/squid-3.5-14053.patch @@ -0,0 +1,46 @@ +------------------------------------------------------------ +revno: 14053 +revision-id: squid3@treenet.co.nz-20160521130058-zq8zugw0fohwfu3z +parent: squidadm@squid-cache.org-20160517181416-sfrjdosd9dhx7u8o +committer: Amos Jeffries +branch nick: 3.5 +timestamp: Sun 2016-05-22 01:00:58 +1200 +message: + Do not override user defined -std option +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20160521130058-zq8zugw0fohwfu3z +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: a75245a622ccfa385ef5e4722f9a9fb438a16135 +# timestamp: 2016-05-21 13:08:06 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squidadm@squid-cache.org-20160517181416-\ +# sfrjdosd9dhx7u8o +# +# Begin patch +=== modified file 'configure.ac' +--- configure.ac 2016-05-08 12:41:25 +0000 ++++ configure.ac 2016-05-21 13:00:58 +0000 +@@ -95,6 +95,9 @@ + # Guess the compiler type (sets squid_cv_compiler) + SQUID_CC_GUESS_VARIANT + ++# If the user did not specify a C++ version. ++user_cxx=`echo "$PRESET_CXXFLAGS" | grep -o -E "\-std="` ++if test "x$user_cxx" = "x"; then + # Check for C++11 compiler support + # + # BUG 3613: when clang -std=c++0x is used, it activates a "strict mode" +@@ -103,8 +106,9 @@ + # + # Similar POSIX issues on MinGW 32-bit and Cygwin + # +-if ! test "x$squid_host_os" = "xmingw" -o "x$squid_host_os" = "xcygwin" -o "x$squid_cv_compiler" = "xclang"; then +- AX_CXX_COMPILE_STDCXX_11([noext],[optional]) ++ if ! test "x$squid_host_os" = "xmingw" -o "x$squid_host_os" = "xcygwin" -o "x$squid_cv_compiler" = "xclang"; then ++ AX_CXX_COMPILE_STDCXX_11([noext],[optional]) ++ fi + fi + + # test for programs + diff --git a/src/patches/squid/squid-3.5-14054.patch b/src/patches/squid/squid-3.5-14054.patch new file mode 100644 index 0000000000..90b34c13f3 --- /dev/null +++ b/src/patches/squid/squid-3.5-14054.patch @@ -0,0 +1,37 @@ +------------------------------------------------------------ +revno: 14054 +revision-id: squid3@treenet.co.nz-20160521130144-6xtcayieij00fm5v +parent: squid3@treenet.co.nz-20160521130058-zq8zugw0fohwfu3z +committer: Amos Jeffries +branch nick: 3.5 +timestamp: Sun 2016-05-22 01:01:44 +1200 +message: + Fix OpenSSL detection on FreeBSD +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20160521130144-6xtcayieij00fm5v +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: 3d8c0d7a9f1886523ac55d79e4d3e8f0340e2ec9 +# timestamp: 2016-05-21 13:08:08 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squid3@treenet.co.nz-20160521130058-\ +# zq8zugw0fohwfu3z +# +# Begin patch +=== modified file 'configure.ac' +--- configure.ac 2016-05-21 13:00:58 +0000 ++++ configure.ac 2016-05-21 13:01:44 +0000 +@@ -1348,10 +1348,10 @@ + + AC_CHECK_LIB(crypto,[CRYPTO_new_ex_data],[LIBOPENSSL_LIBS="-lcrypto $LIBOPENSSL_LIBS"],[ + AC_MSG_ERROR([library 'crypto' is required for OpenSSL]) +- ]) ++ ],$LIBOPENSSL_LIBS) + AC_CHECK_LIB(ssl,[SSL_library_init],[LIBOPENSSL_LIBS="-lssl $LIBOPENSSL_LIBS"],[ + AC_MSG_ERROR([library 'ssl' is required for OpenSSL]) +- ]) ++ ],$LIBOPENSSL_LIBS) + ]) + + # This is a workaround for RedHat 9 brain damage.. + diff --git a/src/patches/squid/squid-3.5-14055.patch b/src/patches/squid/squid-3.5-14055.patch new file mode 100644 index 0000000000..ac04bb61a8 --- /dev/null +++ b/src/patches/squid/squid-3.5-14055.patch @@ -0,0 +1,39 @@ +------------------------------------------------------------ +revno: 14055 +revision-id: squid3@treenet.co.nz-20160521155202-pp53utwamdhkugvg +parent: squid3@treenet.co.nz-20160521130144-6xtcayieij00fm5v +author: Alex Rousskov +committer: Amos Jeffries +branch nick: 3.5 +timestamp: Sun 2016-05-22 03:52:02 +1200 +message: + Fix icons loading speed. + + Since trunk r14100 (Bug 3875: bad mimeLoadIconFile error handling), each + icon was read from disk and written to Store one character at a time. I + did not measure startup delays in production, but in debugging runs, + fixing this bug sped up icons loading from 1 minute to 4 seconds. +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20160521155202-pp53utwamdhkugvg +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: 79b78480d81666c15406d23837608ba9a578da4b +# timestamp: 2016-05-21 16:51:00 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squid3@treenet.co.nz-20160521130144-\ +# 6xtcayieij00fm5v +# +# Begin patch +=== modified file 'src/mime.cc' +--- src/mime.cc 2016-01-01 00:14:27 +0000 ++++ src/mime.cc 2016-05-21 15:52:02 +0000 +@@ -430,7 +430,7 @@ + /* read the file into the buffer and append it to store */ + int n; + char *buf = (char *)memAllocate(MEM_4K_BUF); +- while ((n = FD_READ_METHOD(fd, buf, sizeof(*buf))) > 0) ++ while ((n = FD_READ_METHOD(fd, buf, 4096)) > 0) + e->append(buf, n); + + file_close(fd); + diff --git a/src/patches/squid/squid-3.5-14056.patch b/src/patches/squid/squid-3.5-14056.patch new file mode 100644 index 0000000000..4ea3808b58 --- /dev/null +++ b/src/patches/squid/squid-3.5-14056.patch @@ -0,0 +1,36 @@ +------------------------------------------------------------ +revno: 14056 +revision-id: squid3@treenet.co.nz-20160521172919-du6cbdirqcxdjbtr +parent: squid3@treenet.co.nz-20160521155202-pp53utwamdhkugvg +author: Christos Tsantilas +committer: Amos Jeffries +branch nick: 3.5 +timestamp: Sun 2016-05-22 05:29:19 +1200 +message: + Increase debug level in a peek-and-splice related debug message + + It may produced one debugging line for each SSL transaction in some cases +------------------------------------------------------------ +# Bazaar merge directive format 2 (Bazaar 0.90) +# revision_id: squid3@treenet.co.nz-20160521172919-du6cbdirqcxdjbtr +# target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# testament_sha1: 76c2e864289dabb1065c470c954f9fc5ec4c7b4f +# timestamp: 2016-05-21 17:50:54 +0000 +# source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5 +# base_revision_id: squid3@treenet.co.nz-20160521155202-\ +# pp53utwamdhkugvg +# +# Begin patch +=== modified file 'src/ssl/PeerConnector.cc' +--- src/ssl/PeerConnector.cc 2016-02-15 11:29:50 +0000 ++++ src/ssl/PeerConnector.cc 2016-05-21 17:29:19 +0000 +@@ -598,7 +598,7 @@ + + case SSL_ERROR_WANT_WRITE: + if ((srvBio->bumpMode() == Ssl::bumpPeek || srvBio->bumpMode() == Ssl::bumpStare) && srvBio->holdWrite()) { +- debugs(81, DBG_IMPORTANT, "hold write on SSL connection on FD " << fd); ++ debugs(81, 3, "hold write on SSL connection on FD " << fd); + checkForPeekAndSplice(); + return; + } + -- 2.39.2