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 <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Matthias Fischer
2016-05-23 14:16:43 +02:00
committed by Michael Tremer
parent 7f5cdd2bfd
commit b78a8742ae
7 changed files with 261 additions and 0 deletions

View File

@@ -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

View File

@@ -0,0 +1,63 @@
------------------------------------------------------------
revno: 14051
revision-id: squid3@treenet.co.nz-20160517145850-uos9z00nrt7xd9ik
parent: squid3@treenet.co.nz-20160508124125-fytgvn68zppfr8ix
author: Steve Hill <steve@opendium.com>
committer: Amos Jeffries <squid3@treenet.co.nz>
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)))

View File

@@ -0,0 +1,34 @@
------------------------------------------------------------
revno: 14052
revision-id: squidadm@squid-cache.org-20160517181416-sfrjdosd9dhx7u8o
parent: squid3@treenet.co.nz-20160517145850-uos9z00nrt7xd9ik
committer: Source Maintenance <squidadm@squid-cache.org>
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 &&

View File

@@ -0,0 +1,46 @@
------------------------------------------------------------
revno: 14053
revision-id: squid3@treenet.co.nz-20160521130058-zq8zugw0fohwfu3z
parent: squidadm@squid-cache.org-20160517181416-sfrjdosd9dhx7u8o
committer: Amos Jeffries <squid3@treenet.co.nz>
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

View File

@@ -0,0 +1,37 @@
------------------------------------------------------------
revno: 14054
revision-id: squid3@treenet.co.nz-20160521130144-6xtcayieij00fm5v
parent: squid3@treenet.co.nz-20160521130058-zq8zugw0fohwfu3z
committer: Amos Jeffries <squid3@treenet.co.nz>
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..

View File

@@ -0,0 +1,39 @@
------------------------------------------------------------
revno: 14055
revision-id: squid3@treenet.co.nz-20160521155202-pp53utwamdhkugvg
parent: squid3@treenet.co.nz-20160521130144-6xtcayieij00fm5v
author: Alex Rousskov <rousskov@measurement-factory.com>
committer: Amos Jeffries <squid3@treenet.co.nz>
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);

View File

@@ -0,0 +1,36 @@
------------------------------------------------------------
revno: 14056
revision-id: squid3@treenet.co.nz-20160521172919-du6cbdirqcxdjbtr
parent: squid3@treenet.co.nz-20160521155202-pp53utwamdhkugvg
author: Christos Tsantilas <chtsanti@users.sourceforge.net>
committer: Amos Jeffries <squid3@treenet.co.nz>
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;
}