diff -u -r -N squid-3.5.26/aclocal.m4 squid-3.5.27/aclocal.m4
--- squid-3.5.26/aclocal.m4 2017-06-02 01:51:22.000000000 +1200
+++ squid-3.5.27/aclocal.m4 2017-08-20 07:56:56.000000000 +1200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10052,7 +10052,7 @@
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10067,7 +10067,7 @@
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -10083,14 +10083,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10142,7 +10142,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10173,7 +10173,7 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10364,7 +10364,7 @@
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10440,7 +10440,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10637,7 +10637,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10658,7 +10658,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10680,7 +10680,7 @@
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10715,7 +10715,7 @@
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10765,7 +10765,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10804,7 +10804,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10833,7 +10833,7 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10880,7 +10880,7 @@
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10899,7 +10899,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -10980,7 +10980,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11040,7 +11040,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11068,7 +11068,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11087,7 +11087,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/cfgaux/depcomp squid-3.5.27/cfgaux/depcomp
--- squid-3.5.26/cfgaux/depcomp 2017-06-02 01:54:55.000000000 +1200
+++ squid-3.5.27/cfgaux/depcomp 2017-08-20 07:57:02.000000000 +1200
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -786,6 +786,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -u -r -N squid-3.5.26/ChangeLog squid-3.5.27/ChangeLog
--- squid-3.5.26/ChangeLog 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/ChangeLog 2017-08-20 06:48:49.000000000 +1200
@@ -1,3 +1,15 @@
+Changes to squid-3.5.27 (20 Aug 2017):
+
+ - Regression Bug #4112: ssl_engine does not accept cryptodev
+ - Bug 4687: Wrong names of components in man page, section SEE ALSO
+ - Bug 4671: various GCC 7 compile errors
+ - Bug 4464: Reduce "!Comm::MonitorsRead(serverConnection->fd)" assertions
+ - Bug 2833: Collapse internal revalidation requests (SMP-unaware caches)
+ - Bug 2833: Do not respond with HTTP/304 to unconditional requests
+ - Fix message packing error handling in mgr and snmp SMP Forwarders
+ - Fix mgr query handoff from the original recipient to Coordinator.
+ - ... and some documentation updates
+
Changes to squid-3.5.26 (01 Jun 2017):
- Bug 4711: SubjectAlternativeNames is missing in some generated certificates
@@ -9,7 +21,7 @@
- Bug 3772: message from FTP server gets mangled
- Bug 3102: FTP directory listing drops fist character of file names
- Add OpenSSL library details to -v output
- - ... and some documentatino updates
+ - ... and some documentation updates
Changes to squid-3.5.25 (02 Apr 2017):
diff -u -r -N squid-3.5.26/compat/Makefile.in squid-3.5.27/compat/Makefile.in
--- squid-3.5.26/compat/Makefile.in 2017-06-02 01:52:56.000000000 +1200
+++ squid-3.5.27/compat/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/compat/os/macosx.h squid-3.5.27/compat/os/macosx.h
--- squid-3.5.26/compat/os/macosx.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/compat/os/macosx.h 2017-08-20 06:48:49.000000000 +1200
@@ -28,11 +28,6 @@
#include "compat/cmsg.h"
-// MacOS GCC 4.0.1 and 4.2.1 supply __GNUC_GNU_INLINE__ but do not actually define __attribute__((gnu_inline))
-#if defined(__cplusplus) && !defined(_SQUID_EXTERNNEW_)
-#define _SQUID_EXTERNNEW_ extern inline
-#endif
-
#endif /* _SQUID_APPLE_ */
#endif /* SQUID_OS_MACOSX_H */
diff -u -r -N squid-3.5.26/compat/os/sgi.h squid-3.5.27/compat/os/sgi.h
--- squid-3.5.26/compat/os/sgi.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/compat/os/sgi.h 2017-08-20 06:48:49.000000000 +1200
@@ -25,15 +25,6 @@
#define _ABI_SOURCE
#endif /* USE_ASYNC_IO */
-#if defined(__cplusplus) && !defined(_SQUID_EXTERNNEW_) && !defined(_GNUC_)
-/*
- * The gcc compiler treats extern inline functions as being extern,
- * while the SGI MIPSpro compilers treat them as inline. To get equivalent
- * behavior, remove the inline keyword.
- */
-#define _SQUID_EXTERNNEW_ extern
-#endif
-
#endif /* _SQUID_SGI_ */
#endif /* SQUID_OS_SGI_H */
diff -u -r -N squid-3.5.26/compat/os/solaris.h squid-3.5.27/compat/os/solaris.h
--- squid-3.5.26/compat/os/solaris.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/compat/os/solaris.h 2017-08-20 06:48:49.000000000 +1200
@@ -59,13 +59,6 @@
#endif
/*
- * SunPro CC handles extern inline as inline, PLUS extern symbols.
- */
-#if !defined(_SQUID_EXTERNNEW_) && defined(__SUNPRO_CC)
-#define _SQUID_EXTERNNEW_ extern
-#endif
-
-/*
* SunStudio CC does not define C++ portability API __FUNCTION__
*/
#if defined(__SUNPRO_CC) && !defined(__FUNCTION__)
diff -u -r -N squid-3.5.26/configure squid-3.5.27/configure
--- squid-3.5.26/configure 2017-06-02 01:55:26.000000000 +1200
+++ squid-3.5.27/configure 2017-08-20 07:57:03.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 3.5.26.
+# Generated by GNU Autoconf 2.69 for Squid Web Proxy 3.5.27.
#
# Report bugs to .
#
@@ -595,8 +595,8 @@
# Identity of this package.
PACKAGE_NAME='Squid Web Proxy'
PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='3.5.26'
-PACKAGE_STRING='Squid Web Proxy 3.5.26'
+PACKAGE_VERSION='3.5.27'
+PACKAGE_STRING='Squid Web Proxy 3.5.27'
PACKAGE_BUGREPORT='http://bugs.squid-cache.org/'
PACKAGE_URL=''
@@ -1636,7 +1636,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 3.5.26 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 3.5.27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1707,7 +1707,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Squid Web Proxy 3.5.26:";;
+ short | recursive ) echo "Configuration of Squid Web Proxy 3.5.27:";;
esac
cat <<\_ACEOF
@@ -2119,7 +2119,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Squid Web Proxy configure 3.5.26
+Squid Web Proxy configure 3.5.27
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3223,7 +3223,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 3.5.26, which was
+It was created by Squid Web Proxy $as_me 3.5.27, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4090,7 +4090,7 @@
# Define the identity of the package.
PACKAGE='squid'
- VERSION='3.5.26'
+ VERSION='3.5.27'
cat >>confdefs.h <<_ACEOF
@@ -41876,7 +41876,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 3.5.26, which was
+This file was extended by Squid Web Proxy $as_me 3.5.27, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -41942,7 +41942,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 3.5.26
+Squid Web Proxy config.status 3.5.27
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -u -r -N squid-3.5.26/configure.ac squid-3.5.27/configure.ac
--- squid-3.5.26/configure.ac 2017-06-02 01:55:25.000000000 +1200
+++ squid-3.5.27/configure.ac 2017-08-20 07:57:03.000000000 +1200
@@ -5,7 +5,7 @@
## Please see the COPYING and CONTRIBUTORS files for details.
##
-AC_INIT([Squid Web Proxy],[3.5.26],[http://bugs.squid-cache.org/],[squid])
+AC_INIT([Squid Web Proxy],[3.5.27],[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-3.5.26/contrib/Makefile.in squid-3.5.27/contrib/Makefile.in
--- squid-3.5.26/contrib/Makefile.in 2017-06-02 01:52:57.000000000 +1200
+++ squid-3.5.27/contrib/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/doc/Makefile.in squid-3.5.27/doc/Makefile.in
--- squid-3.5.26/doc/Makefile.in 2017-06-02 01:52:57.000000000 +1200
+++ squid-3.5.27/doc/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/doc/manuals/Makefile.in squid-3.5.27/doc/manuals/Makefile.in
--- squid-3.5.26/doc/manuals/Makefile.in 2017-06-02 01:52:58.000000000 +1200
+++ squid-3.5.27/doc/manuals/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/doc/release-notes/Makefile.in squid-3.5.27/doc/release-notes/Makefile.in
--- squid-3.5.26/doc/release-notes/Makefile.in 2017-06-02 01:52:58.000000000 +1200
+++ squid-3.5.27/doc/release-notes/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/doc/release-notes/release-3.5.html squid-3.5.27/doc/release-notes/release-3.5.html
--- squid-3.5.26/doc/release-notes/release-3.5.html 2017-06-02 10:41:39.000000000 +1200
+++ squid-3.5.27/doc/release-notes/release-3.5.html 2017-08-20 08:13:15.000000000 +1200
@@ -2,10 +2,10 @@
- Squid 3.5.26 release notes
+ Squid 3.5.27 release notes
-Squid 3.5.26 release notes
+Squid 3.5.27 release notes
Squid Developers
@@ -64,7 +64,7 @@
-The Squid Team are pleased to announce the release of Squid-3.5.26.
+The Squid Team are pleased to announce the release of Squid-3.5.27.
This new release is available for download from
http://www.squid-cache.org/Versions/v3/3.5/ or the
mirrors.
diff -u -r -N squid-3.5.26/errors/Makefile.in squid-3.5.27/errors/Makefile.in
--- squid-3.5.26/errors/Makefile.in 2017-06-02 01:52:59.000000000 +1200
+++ squid-3.5.27/errors/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/DB/basic_db_auth.8 squid-3.5.27/helpers/basic_auth/DB/basic_db_auth.8
--- squid-3.5.26/helpers/basic_auth/DB/basic_db_auth.8 2017-06-02 10:41:45.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/DB/basic_db_auth.8 2017-08-20 08:13:15.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_DB_AUTH 8"
-.TH BASIC_DB_AUTH 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH BASIC_DB_AUTH 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/basic_auth/DB/Makefile.in squid-3.5.27/helpers/basic_auth/DB/Makefile.in
--- squid-3.5.26/helpers/basic_auth/DB/Makefile.in 2017-06-02 01:53:00.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/DB/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/fake/Makefile.in squid-3.5.27/helpers/basic_auth/fake/Makefile.in
--- squid-3.5.26/helpers/basic_auth/fake/Makefile.in 2017-06-02 01:53:13.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/fake/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/getpwnam/Makefile.in squid-3.5.27/helpers/basic_auth/getpwnam/Makefile.in
--- squid-3.5.26/helpers/basic_auth/getpwnam/Makefile.in 2017-06-02 01:53:14.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/getpwnam/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/LDAP/Makefile.in squid-3.5.27/helpers/basic_auth/LDAP/Makefile.in
--- squid-3.5.26/helpers/basic_auth/LDAP/Makefile.in 2017-06-02 01:53:01.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/LDAP/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/Makefile.in squid-3.5.27/helpers/basic_auth/Makefile.in
--- squid-3.5.26/helpers/basic_auth/Makefile.in 2017-06-02 01:53:03.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/MSNT-multi-domain/basic_msnt_multi_domain_auth.8 squid-3.5.27/helpers/basic_auth/MSNT-multi-domain/basic_msnt_multi_domain_auth.8
--- squid-3.5.26/helpers/basic_auth/MSNT-multi-domain/basic_msnt_multi_domain_auth.8 2017-06-02 10:41:53.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/MSNT-multi-domain/basic_msnt_multi_domain_auth.8 2017-08-20 08:13:15.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_MSNT_MULTI_DOMAIN_AUTH 1"
-.TH BASIC_MSNT_MULTI_DOMAIN_AUTH 1 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH BASIC_MSNT_MULTI_DOMAIN_AUTH 1 "2017-08-19" "perl v5.26.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-3.5.26/helpers/basic_auth/MSNT-multi-domain/Makefile.in squid-3.5.27/helpers/basic_auth/MSNT-multi-domain/Makefile.in
--- squid-3.5.26/helpers/basic_auth/MSNT-multi-domain/Makefile.in 2017-06-02 01:53:02.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/MSNT-multi-domain/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/NCSA/basic_ncsa_auth.8 squid-3.5.27/helpers/basic_auth/NCSA/basic_ncsa_auth.8
--- squid-3.5.26/helpers/basic_auth/NCSA/basic_ncsa_auth.8 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/NCSA/basic_ncsa_auth.8 2017-08-20 06:48:49.000000000 +1200
@@ -18,15 +18,15 @@
.PP
This authenticator accepts:
.BR
-* Blowfish - for passwords 72 characters or less in length
+ * Blowfish \- for passwords 72 characters or less in length.
.BR
-* SHA256 - with salting and magic strings
+ * SHA256 \- with salting and magic strings.
.BR
-* SHA512 - with salting and magic strings
+ * SHA512 \- with salting and magic strings.
.BR
-* MD5 - with optional salt and magic strings
+ * MD5 \- with optional salt and magic strings.
.BR
-* DES - for passwords 8 characters or less in length
+ * DES \- for passwords 8 characters or less in length.
.
NOTE: Blowfish and SHA algorithms require system-specific support.
.
diff -u -r -N squid-3.5.26/helpers/basic_auth/NCSA/Makefile.in squid-3.5.27/helpers/basic_auth/NCSA/Makefile.in
--- squid-3.5.26/helpers/basic_auth/NCSA/Makefile.in 2017-06-02 01:53:04.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/NCSA/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/NIS/Makefile.in squid-3.5.27/helpers/basic_auth/NIS/Makefile.in
--- squid-3.5.26/helpers/basic_auth/NIS/Makefile.in 2017-06-02 01:53:05.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/NIS/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/PAM/Makefile.in squid-3.5.27/helpers/basic_auth/PAM/Makefile.in
--- squid-3.5.26/helpers/basic_auth/PAM/Makefile.in 2017-06-02 01:53:06.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/PAM/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/POP3/basic_pop3_auth.8 squid-3.5.27/helpers/basic_auth/POP3/basic_pop3_auth.8
--- squid-3.5.26/helpers/basic_auth/POP3/basic_pop3_auth.8 2017-06-02 10:42:03.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/POP3/basic_pop3_auth.8 2017-08-20 08:13:16.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "BASIC_POP3_AUTH 8"
-.TH BASIC_POP3_AUTH 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH BASIC_POP3_AUTH 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/basic_auth/POP3/Makefile.in squid-3.5.27/helpers/basic_auth/POP3/Makefile.in
--- squid-3.5.26/helpers/basic_auth/POP3/Makefile.in 2017-06-02 01:53:07.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/POP3/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/RADIUS/Makefile.in squid-3.5.27/helpers/basic_auth/RADIUS/Makefile.in
--- squid-3.5.26/helpers/basic_auth/RADIUS/Makefile.in 2017-06-02 01:53:08.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/RADIUS/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/SASL/Makefile.in squid-3.5.27/helpers/basic_auth/SASL/Makefile.in
--- squid-3.5.26/helpers/basic_auth/SASL/Makefile.in 2017-06-02 01:53:09.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/SASL/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/SMB/Makefile.in squid-3.5.27/helpers/basic_auth/SMB/Makefile.in
--- squid-3.5.26/helpers/basic_auth/SMB/Makefile.in 2017-06-02 01:53:10.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/SMB/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/SMB_LM/Makefile.in squid-3.5.27/helpers/basic_auth/SMB_LM/Makefile.in
--- squid-3.5.26/helpers/basic_auth/SMB_LM/Makefile.in 2017-06-02 01:53:11.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/SMB_LM/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/basic_auth/SSPI/Makefile.in squid-3.5.27/helpers/basic_auth/SSPI/Makefile.in
--- squid-3.5.26/helpers/basic_auth/SSPI/Makefile.in 2017-06-02 01:53:12.000000000 +1200
+++ squid-3.5.27/helpers/basic_auth/SSPI/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/digest_auth/eDirectory/Makefile.in squid-3.5.27/helpers/digest_auth/eDirectory/Makefile.in
--- squid-3.5.26/helpers/digest_auth/eDirectory/Makefile.in 2017-06-02 01:53:17.000000000 +1200
+++ squid-3.5.27/helpers/digest_auth/eDirectory/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/digest_auth/file/Makefile.in squid-3.5.27/helpers/digest_auth/file/Makefile.in
--- squid-3.5.26/helpers/digest_auth/file/Makefile.in 2017-06-02 01:53:18.000000000 +1200
+++ squid-3.5.27/helpers/digest_auth/file/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/digest_auth/LDAP/Makefile.in squid-3.5.27/helpers/digest_auth/LDAP/Makefile.in
--- squid-3.5.26/helpers/digest_auth/LDAP/Makefile.in 2017-06-02 01:53:15.000000000 +1200
+++ squid-3.5.27/helpers/digest_auth/LDAP/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/digest_auth/Makefile.in squid-3.5.27/helpers/digest_auth/Makefile.in
--- squid-3.5.26/helpers/digest_auth/Makefile.in 2017-06-02 01:53:16.000000000 +1200
+++ squid-3.5.27/helpers/digest_auth/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/AD_group/Makefile.in squid-3.5.27/helpers/external_acl/AD_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/AD_group/Makefile.in 2017-06-02 01:53:19.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/AD_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/delayer/ext_delayer_acl.8 squid-3.5.27/helpers/external_acl/delayer/ext_delayer_acl.8
--- squid-3.5.26/helpers/external_acl/delayer/ext_delayer_acl.8 2017-06-02 10:42:29.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/delayer/ext_delayer_acl.8 2017-08-20 08:13:16.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_DELAYER_ACL 8"
-.TH EXT_DELAYER_ACL 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH EXT_DELAYER_ACL 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/external_acl/delayer/Makefile.in squid-3.5.27/helpers/external_acl/delayer/Makefile.in
--- squid-3.5.26/helpers/external_acl/delayer/Makefile.in 2017-06-02 01:53:24.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/delayer/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/eDirectory_userip/Makefile.in squid-3.5.27/helpers/external_acl/eDirectory_userip/Makefile.in
--- squid-3.5.26/helpers/external_acl/eDirectory_userip/Makefile.in 2017-06-02 01:53:25.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/eDirectory_userip/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/file_userip/Makefile.in squid-3.5.27/helpers/external_acl/file_userip/Makefile.in
--- squid-3.5.26/helpers/external_acl/file_userip/Makefile.in 2017-06-02 01:53:26.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/file_userip/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/kerberos_ldap_group/Makefile.in squid-3.5.27/helpers/external_acl/kerberos_ldap_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/kerberos_ldap_group/Makefile.in 2017-06-02 01:53:27.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/kerberos_ldap_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/LDAP_group/ChangeLog squid-3.5.27/helpers/external_acl/LDAP_group/ChangeLog
--- squid-3.5.26/helpers/external_acl/LDAP_group/ChangeLog 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/LDAP_group/ChangeLog 2017-08-20 06:48:49.000000000 +1200
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
diff -u -r -N squid-3.5.26/helpers/external_acl/LDAP_group/Makefile.in squid-3.5.27/helpers/external_acl/LDAP_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/LDAP_group/Makefile.in 2017-06-02 01:53:20.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/LDAP_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/LM_group/Makefile.in squid-3.5.27/helpers/external_acl/LM_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/LM_group/Makefile.in 2017-06-02 01:53:22.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/LM_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/Makefile.in squid-3.5.27/helpers/external_acl/Makefile.in
--- squid-3.5.26/helpers/external_acl/Makefile.in 2017-06-02 01:53:22.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/session/Makefile.in squid-3.5.27/helpers/external_acl/session/Makefile.in
--- squid-3.5.26/helpers/external_acl/session/Makefile.in 2017-06-02 01:53:28.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/session/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/SQL_session/ext_sql_session_acl.8 squid-3.5.27/helpers/external_acl/SQL_session/ext_sql_session_acl.8
--- squid-3.5.26/helpers/external_acl/SQL_session/ext_sql_session_acl.8 2017-06-02 10:42:45.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/SQL_session/ext_sql_session_acl.8 2017-08-20 08:13:16.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_SQL_SESSION_ACL 8"
-.TH EXT_SQL_SESSION_ACL 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH EXT_SQL_SESSION_ACL 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/external_acl/SQL_session/Makefile.in squid-3.5.27/helpers/external_acl/SQL_session/Makefile.in
--- squid-3.5.26/helpers/external_acl/SQL_session/Makefile.in 2017-06-02 01:53:23.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/SQL_session/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/time_quota/Makefile.in squid-3.5.27/helpers/external_acl/time_quota/Makefile.in
--- squid-3.5.26/helpers/external_acl/time_quota/Makefile.in 2017-06-02 01:53:29.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/time_quota/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/unix_group/Makefile.in squid-3.5.27/helpers/external_acl/unix_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/unix_group/Makefile.in 2017-06-02 01:53:30.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/unix_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 squid-3.5.27/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8
--- squid-3.5.26/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2017-06-02 10:42:51.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2017-08-20 08:13:16.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "EXT_WBINFO_GROUP_ACL 8"
-.TH EXT_WBINFO_GROUP_ACL 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH EXT_WBINFO_GROUP_ACL 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/external_acl/wbinfo_group/Makefile.in squid-3.5.27/helpers/external_acl/wbinfo_group/Makefile.in
--- squid-3.5.26/helpers/external_acl/wbinfo_group/Makefile.in 2017-06-02 01:53:31.000000000 +1200
+++ squid-3.5.27/helpers/external_acl/wbinfo_group/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/log_daemon/DB/log_db_daemon.8 squid-3.5.27/helpers/log_daemon/DB/log_db_daemon.8
--- squid-3.5.26/helpers/log_daemon/DB/log_db_daemon.8 2017-06-02 10:42:55.000000000 +1200
+++ squid-3.5.27/helpers/log_daemon/DB/log_db_daemon.8 2017-08-20 08:13:16.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "LOG_DB_DAEMON 8"
-.TH LOG_DB_DAEMON 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH LOG_DB_DAEMON 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/log_daemon/DB/Makefile.in squid-3.5.27/helpers/log_daemon/DB/Makefile.in
--- squid-3.5.26/helpers/log_daemon/DB/Makefile.in 2017-06-02 01:53:32.000000000 +1200
+++ squid-3.5.27/helpers/log_daemon/DB/Makefile.in 2017-08-20 07:56:59.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/log_daemon/file/Makefile.in squid-3.5.27/helpers/log_daemon/file/Makefile.in
--- squid-3.5.26/helpers/log_daemon/file/Makefile.in 2017-06-02 01:53:34.000000000 +1200
+++ squid-3.5.27/helpers/log_daemon/file/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/log_daemon/Makefile.in squid-3.5.27/helpers/log_daemon/Makefile.in
--- squid-3.5.26/helpers/log_daemon/Makefile.in 2017-06-02 01:53:33.000000000 +1200
+++ squid-3.5.27/helpers/log_daemon/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/Makefile.in squid-3.5.27/helpers/Makefile.in
--- squid-3.5.26/helpers/Makefile.in 2017-06-02 01:52:59.000000000 +1200
+++ squid-3.5.27/helpers/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/negotiate_auth/kerberos/Makefile.in squid-3.5.27/helpers/negotiate_auth/kerberos/Makefile.in
--- squid-3.5.26/helpers/negotiate_auth/kerberos/Makefile.in 2017-06-02 01:53:37.000000000 +1200
+++ squid-3.5.27/helpers/negotiate_auth/kerberos/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/negotiate_auth/Makefile.in squid-3.5.27/helpers/negotiate_auth/Makefile.in
--- squid-3.5.26/helpers/negotiate_auth/Makefile.in 2017-06-02 01:53:34.000000000 +1200
+++ squid-3.5.27/helpers/negotiate_auth/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/negotiate_auth/SSPI/Makefile.in squid-3.5.27/helpers/negotiate_auth/SSPI/Makefile.in
--- squid-3.5.26/helpers/negotiate_auth/SSPI/Makefile.in 2017-06-02 01:53:35.000000000 +1200
+++ squid-3.5.27/helpers/negotiate_auth/SSPI/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/negotiate_auth/wrapper/Makefile.in squid-3.5.27/helpers/negotiate_auth/wrapper/Makefile.in
--- squid-3.5.26/helpers/negotiate_auth/wrapper/Makefile.in 2017-06-02 01:53:38.000000000 +1200
+++ squid-3.5.27/helpers/negotiate_auth/wrapper/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/ntlm_auth/fake/Makefile.in squid-3.5.27/helpers/ntlm_auth/fake/Makefile.in
--- squid-3.5.26/helpers/ntlm_auth/fake/Makefile.in 2017-06-02 01:53:41.000000000 +1200
+++ squid-3.5.27/helpers/ntlm_auth/fake/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/ntlm_auth/Makefile.in squid-3.5.27/helpers/ntlm_auth/Makefile.in
--- squid-3.5.26/helpers/ntlm_auth/Makefile.in 2017-06-02 01:53:38.000000000 +1200
+++ squid-3.5.27/helpers/ntlm_auth/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/ntlm_auth/smb_lm/Makefile.in squid-3.5.27/helpers/ntlm_auth/smb_lm/Makefile.in
--- squid-3.5.26/helpers/ntlm_auth/smb_lm/Makefile.in 2017-06-02 01:53:42.000000000 +1200
+++ squid-3.5.27/helpers/ntlm_auth/smb_lm/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/ntlm_auth/SSPI/Makefile.in squid-3.5.27/helpers/ntlm_auth/SSPI/Makefile.in
--- squid-3.5.26/helpers/ntlm_auth/SSPI/Makefile.in 2017-06-02 01:53:39.000000000 +1200
+++ squid-3.5.27/helpers/ntlm_auth/SSPI/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/ssl/Makefile.in squid-3.5.27/helpers/ssl/Makefile.in
--- squid-3.5.26/helpers/ssl/Makefile.in 2017-06-02 01:53:42.000000000 +1200
+++ squid-3.5.27/helpers/ssl/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/storeid_rewrite/file/Makefile.in squid-3.5.27/helpers/storeid_rewrite/file/Makefile.in
--- squid-3.5.26/helpers/storeid_rewrite/file/Makefile.in 2017-06-02 01:53:44.000000000 +1200
+++ squid-3.5.27/helpers/storeid_rewrite/file/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/storeid_rewrite/file/storeid_file_rewrite.8 squid-3.5.27/helpers/storeid_rewrite/file/storeid_file_rewrite.8
--- squid-3.5.26/helpers/storeid_rewrite/file/storeid_file_rewrite.8 2017-06-02 10:43:23.000000000 +1200
+++ squid-3.5.27/helpers/storeid_rewrite/file/storeid_file_rewrite.8 2017-08-20 08:13:17.000000000 +1200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 4.08 (Pod::Simple 3.32)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "STOREID_FILE_REWRITE 8"
-.TH STOREID_FILE_REWRITE 8 "2017-06-01" "perl v5.24.1" "User Contributed Perl Documentation"
+.TH STOREID_FILE_REWRITE 8 "2017-08-19" "perl v5.26.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-3.5.26/helpers/storeid_rewrite/Makefile.in squid-3.5.27/helpers/storeid_rewrite/Makefile.in
--- squid-3.5.26/helpers/storeid_rewrite/Makefile.in 2017-06-02 01:53:43.000000000 +1200
+++ squid-3.5.27/helpers/storeid_rewrite/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/url_rewrite/fake/Makefile.in squid-3.5.27/helpers/url_rewrite/fake/Makefile.in
--- squid-3.5.26/helpers/url_rewrite/fake/Makefile.in 2017-06-02 01:53:46.000000000 +1200
+++ squid-3.5.27/helpers/url_rewrite/fake/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/helpers/url_rewrite/Makefile.in squid-3.5.27/helpers/url_rewrite/Makefile.in
--- squid-3.5.26/helpers/url_rewrite/Makefile.in 2017-06-02 01:53:44.000000000 +1200
+++ squid-3.5.27/helpers/url_rewrite/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/icons/Makefile.in squid-3.5.27/icons/Makefile.in
--- squid-3.5.26/icons/Makefile.in 2017-06-02 01:53:46.000000000 +1200
+++ squid-3.5.27/icons/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/include/SquidNew.h squid-3.5.27/include/SquidNew.h
--- squid-3.5.26/include/SquidNew.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/include/SquidNew.h 1970-01-01 12:00:00.000000000 +1200
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 1996-2017 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_NEW_H
-#define SQUID_NEW_H
-
-#if !defined(__SUNPRO_CC) && !defined(__clang__)
-/* Any code using libstdc++ must have externally resolvable overloads
- * for void * operator new - which means in the .o for the binary,
- * or in a shared library. static libs don't propogate the symbol
- * so, look in the translation unit containing main() in squid
- * for the extern version in squid
- */
-#include
-
-_SQUID_EXTERNNEW_ void *operator new(size_t size) throw (std::bad_alloc)
-{
- return xmalloc(size);
-}
-_SQUID_EXTERNNEW_ void operator delete (void *address) throw()
-{
- xfree(address);
-}
-_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc)
-{
- return xmalloc(size);
-}
-_SQUID_EXTERNNEW_ void operator delete[] (void *address) throw()
-{
- xfree(address);
-}
-
-#endif /* !__SUNPRO_CC && !__clang__*/
-
-#endif /* SQUID_NEW_H */
-
diff -u -r -N squid-3.5.26/include/util.h squid-3.5.27/include/util.h
--- squid-3.5.26/include/util.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/include/util.h 2017-08-20 06:48:49.000000000 +1200
@@ -19,23 +19,6 @@
SQUIDCEXTERN int tvSubUsec(struct timeval, struct timeval);
SQUIDCEXTERN double tvSubDsec(struct timeval, struct timeval);
SQUIDCEXTERN void Tolower(char *);
-#if defined(__cplusplus)
-/*
- * Any code using libstdc++ must have externally resolvable overloads
- * for void * operator new - which means in the .o for the binary,
- * or in a shared library. static libs don't propogate the symbol
- * so, look in the translation unit containing main() in squid
- * for the extern version in squid
- */
-#if !defined(_SQUID_EXTERNNEW_)
-#if defined(__GNUC_STDC_INLINE__) || defined(__GNUC_GNU_INLINE__)
-#define _SQUID_EXTERNNEW_ extern inline __attribute__((gnu_inline))
-#else
-#define _SQUID_EXTERNNEW_ extern inline
-#endif
-#endif
-#include "SquidNew.h"
-#endif
SQUIDCEXTERN time_t parse_iso3307_time(const char *buf);
diff -u -r -N squid-3.5.26/include/version.h squid-3.5.27/include/version.h
--- squid-3.5.26/include/version.h 2017-06-02 01:55:26.000000000 +1200
+++ squid-3.5.27/include/version.h 2017-08-20 07:57:03.000000000 +1200
@@ -7,7 +7,7 @@
*/
#ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1496324930
+#define SQUID_RELEASE_TIME 1503172613
#endif
/*
diff -u -r -N squid-3.5.26/lib/libTrie/Makefile.in squid-3.5.27/lib/libTrie/Makefile.in
--- squid-3.5.26/lib/libTrie/Makefile.in 2017-06-02 01:53:49.000000000 +1200
+++ squid-3.5.27/lib/libTrie/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/libTrie/test/Makefile.in squid-3.5.27/lib/libTrie/test/Makefile.in
--- squid-3.5.26/lib/libTrie/test/Makefile.in 2017-06-02 01:53:50.000000000 +1200
+++ squid-3.5.27/lib/libTrie/test/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/Makefile.in squid-3.5.27/lib/Makefile.in
--- squid-3.5.26/lib/Makefile.in 2017-06-02 01:53:48.000000000 +1200
+++ squid-3.5.27/lib/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/ntlmauth/Makefile.in squid-3.5.27/lib/ntlmauth/Makefile.in
--- squid-3.5.26/lib/ntlmauth/Makefile.in 2017-06-02 01:53:52.000000000 +1200
+++ squid-3.5.27/lib/ntlmauth/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/profiler/Makefile.in squid-3.5.27/lib/profiler/Makefile.in
--- squid-3.5.26/lib/profiler/Makefile.in 2017-06-02 01:53:53.000000000 +1200
+++ squid-3.5.27/lib/profiler/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/rfcnb/Makefile.in squid-3.5.27/lib/rfcnb/Makefile.in
--- squid-3.5.26/lib/rfcnb/Makefile.in 2017-06-02 01:53:54.000000000 +1200
+++ squid-3.5.27/lib/rfcnb/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/smblib/Makefile.in squid-3.5.27/lib/smblib/Makefile.in
--- squid-3.5.26/lib/smblib/Makefile.in 2017-06-02 01:53:55.000000000 +1200
+++ squid-3.5.27/lib/smblib/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/lib/snmplib/Makefile.in squid-3.5.27/lib/snmplib/Makefile.in
--- squid-3.5.26/lib/snmplib/Makefile.in 2017-06-02 01:53:56.000000000 +1200
+++ squid-3.5.27/lib/snmplib/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/libltdl/aclocal.m4 squid-3.5.27/libltdl/aclocal.m4
--- squid-3.5.26/libltdl/aclocal.m4 2017-06-02 01:52:18.000000000 +1200
+++ squid-3.5.27/libltdl/aclocal.m4 2017-08-20 07:57:29.000000000 +1200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -605,7 +605,7 @@
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -626,7 +626,7 @@
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -647,7 +647,7 @@
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -697,7 +697,7 @@
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -736,7 +736,7 @@
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -765,7 +765,7 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -812,7 +812,7 @@
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -831,7 +831,7 @@
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -912,7 +912,7 @@
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -972,7 +972,7 @@
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1000,7 +1000,7 @@
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1019,7 +1019,7 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/libltdl/Makefile.in squid-3.5.27/libltdl/Makefile.in
--- squid-3.5.26/libltdl/Makefile.in 2017-06-02 02:21:40.000000000 +1200
+++ squid-3.5.27/libltdl/Makefile.in 2017-08-20 07:57:30.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -933,7 +933,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -959,7 +959,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -977,7 +977,7 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -987,7 +987,7 @@
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff -u -r -N squid-3.5.26/Makefile.in squid-3.5.27/Makefile.in
--- squid-3.5.26/Makefile.in 2017-06-02 01:52:55.000000000 +1200
+++ squid-3.5.27/Makefile.in 2017-08-20 07:56:58.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -745,7 +745,7 @@
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
@@ -770,7 +770,7 @@
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -788,7 +788,7 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -798,7 +798,7 @@
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff -u -r -N squid-3.5.26/RELEASENOTES.html squid-3.5.27/RELEASENOTES.html
--- squid-3.5.26/RELEASENOTES.html 2017-06-02 10:41:39.000000000 +1200
+++ squid-3.5.27/RELEASENOTES.html 2017-08-20 08:13:15.000000000 +1200
@@ -2,10 +2,10 @@
- Squid 3.5.26 release notes
+ Squid 3.5.27 release notes
-Squid 3.5.26 release notes
+Squid 3.5.27 release notes
Squid Developers
@@ -64,7 +64,7 @@
-The Squid Team are pleased to announce the release of Squid-3.5.26.
+The Squid Team are pleased to announce the release of Squid-3.5.27.
This new release is available for download from
http://www.squid-cache.org/Versions/v3/3.5/ or the
mirrors.
diff -u -r -N squid-3.5.26/scripts/Makefile.in squid-3.5.27/scripts/Makefile.in
--- squid-3.5.26/scripts/Makefile.in 2017-06-02 01:53:57.000000000 +1200
+++ squid-3.5.27/scripts/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/acl/Makefile.in squid-3.5.27/src/acl/Makefile.in
--- squid-3.5.26/src/acl/Makefile.in 2017-06-02 01:54:05.000000000 +1200
+++ squid-3.5.27/src/acl/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/adaptation/ecap/Makefile.in squid-3.5.27/src/adaptation/ecap/Makefile.in
--- squid-3.5.26/src/adaptation/ecap/Makefile.in 2017-06-02 01:54:10.000000000 +1200
+++ squid-3.5.27/src/adaptation/ecap/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/adaptation/icap/Makefile.in squid-3.5.27/src/adaptation/icap/Makefile.in
--- squid-3.5.26/src/adaptation/icap/Makefile.in 2017-06-02 01:54:11.000000000 +1200
+++ squid-3.5.27/src/adaptation/icap/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/adaptation/Makefile.in squid-3.5.27/src/adaptation/Makefile.in
--- squid-3.5.26/src/adaptation/Makefile.in 2017-06-02 01:54:07.000000000 +1200
+++ squid-3.5.27/src/adaptation/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/anyp/Makefile.in squid-3.5.27/src/anyp/Makefile.in
--- squid-3.5.26/src/anyp/Makefile.in 2017-06-02 01:54:13.000000000 +1200
+++ squid-3.5.27/src/anyp/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/auth/basic/Makefile.in squid-3.5.27/src/auth/basic/Makefile.in
--- squid-3.5.26/src/auth/basic/Makefile.in 2017-06-02 01:54:16.000000000 +1200
+++ squid-3.5.27/src/auth/basic/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/auth/digest/Makefile.in squid-3.5.27/src/auth/digest/Makefile.in
--- squid-3.5.26/src/auth/digest/Makefile.in 2017-06-02 01:54:17.000000000 +1200
+++ squid-3.5.27/src/auth/digest/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/auth/Makefile.in squid-3.5.27/src/auth/Makefile.in
--- squid-3.5.26/src/auth/Makefile.in 2017-06-02 01:54:14.000000000 +1200
+++ squid-3.5.27/src/auth/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/auth/negotiate/Makefile.in squid-3.5.27/src/auth/negotiate/Makefile.in
--- squid-3.5.26/src/auth/negotiate/Makefile.in 2017-06-02 01:54:18.000000000 +1200
+++ squid-3.5.27/src/auth/negotiate/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/auth/ntlm/Makefile.in squid-3.5.27/src/auth/ntlm/Makefile.in
--- squid-3.5.26/src/auth/ntlm/Makefile.in 2017-06-02 01:54:20.000000000 +1200
+++ squid-3.5.27/src/auth/ntlm/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/base/Makefile.in squid-3.5.27/src/base/Makefile.in
--- squid-3.5.26/src/base/Makefile.in 2017-06-02 01:54:21.000000000 +1200
+++ squid-3.5.27/src/base/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/base/RefCount.h squid-3.5.27/src/base/RefCount.h
--- squid-3.5.26/src/base/RefCount.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/base/RefCount.h 2017-08-20 06:48:49.000000000 +1200
@@ -54,9 +54,7 @@
C & operator * () const {return *const_cast(p_); }
- C const * getRaw() const {return p_; }
-
- C * getRaw() {return const_cast(p_); }
+ C * getRaw() const { return const_cast(p_); }
bool operator == (const RefCount& p) const {
return p.p_ == p_;
diff -u -r -N squid-3.5.26/src/clients/FtpGateway.cc squid-3.5.27/src/clients/FtpGateway.cc
--- squid-3.5.26/src/clients/FtpGateway.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/clients/FtpGateway.cc 2017-08-20 06:48:49.000000000 +1200
@@ -153,8 +153,8 @@
virtual void timeout(const CommTimeoutCbParams &io);
void ftpAcceptDataConnection(const CommAcceptCbParams &io);
- static HttpReply *ftpAuthRequired(HttpRequest * request, const char *realm);
- const char *ftpRealm(void);
+ static HttpReply *ftpAuthRequired(HttpRequest * request, SBuf &realm);
+ SBuf ftpRealm();
void loginFailed(void);
virtual void haveParsedReplyHeaders();
@@ -192,7 +192,7 @@
#define FTP_LOGIN_NOT_ESCAPED 0
-#define CTRL_BUFLEN 1024
+#define CTRL_BUFLEN 16*1024
static char cbuf[CTRL_BUFLEN];
/*
@@ -1189,7 +1189,8 @@
{
if (!checkAuth(&request->header)) {
/* create appropriate reply */
- HttpReply *reply = ftpAuthRequired(request, ftpRealm());
+ SBuf realm(ftpRealm()); // local copy so SBuf wont disappear too early
+ HttpReply *reply = ftpAuthRequired(request, realm);
entry->replaceHttpReply(reply);
serverComplete();
return;
@@ -1290,7 +1291,9 @@
#if HAVE_AUTH_MODULE_BASIC
/* add Authenticate header */
- newrep->header.putAuth("Basic", ftpRealm());
+ // XXX: performance regression. c_str() may reallocate
+ SBuf realm(ftpRealm()); // local copy so SBuf wont disappear too early
+ newrep->header.putAuth("Basic", realm.c_str());
#endif
// add it to the store entry for response....
@@ -1298,18 +1301,19 @@
serverComplete();
}
-const char *
+SBuf
Ftp::Gateway::ftpRealm()
{
- static char realm[8192];
+ SBuf realm;
/* This request is not fully authenticated */
- if (!request) {
- snprintf(realm, 8192, "FTP %s unknown", user);
- } else if (request->port == 21) {
- snprintf(realm, 8192, "FTP %s %s", user, request->GetHost());
- } else {
- snprintf(realm, 8192, "FTP %s %s port %d", user, request->GetHost(), request->port);
+ realm.appendf("FTP %s ", user);
+ if (!request)
+ realm.append("unknown", 7);
+ else {
+ realm.append(request->GetHost());
+ if (request->port != 21)
+ realm.appendf(" port %d", request->port);
}
return realm;
}
@@ -2673,13 +2677,14 @@
}
HttpReply *
-Ftp::Gateway::ftpAuthRequired(HttpRequest * request, const char *realm)
+Ftp::Gateway::ftpAuthRequired(HttpRequest * request, SBuf &realm)
{
ErrorState err(ERR_CACHE_ACCESS_DENIED, Http::scUnauthorized, request);
HttpReply *newrep = err.BuildHttpReply();
#if HAVE_AUTH_MODULE_BASIC
/* add Authenticate header */
- newrep->header.putAuth("Basic", realm);
+ // XXX: performance regression. c_str() may reallocate
+ newrep->header.putAuth("Basic", realm.c_str());
#endif
return newrep;
}
diff -u -r -N squid-3.5.26/src/clients/FtpRelay.cc squid-3.5.27/src/clients/FtpRelay.cc
--- squid-3.5.26/src/clients/FtpRelay.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/clients/FtpRelay.cc 2017-08-20 06:48:49.000000000 +1200
@@ -210,9 +210,10 @@
mgr->unpinConnection(false);
ctrl.close();
} else {
- mgr->pinConnection(ctrl.conn, fwd->request,
- ctrl.conn->getPeer(),
- fwd->request->flags.connectionAuth);
+ CallJobHere1(9, 4, mgr,
+ ConnStateData,
+ notePinnedConnectionBecameIdle,
+ ConnStateData::PinnedIdleContext(ctrl.conn, fwd->request));
ctrl.forget();
}
}
diff -u -r -N squid-3.5.26/src/clients/Makefile.in squid-3.5.27/src/clients/Makefile.in
--- squid-3.5.26/src/clients/Makefile.in 2017-06-02 01:54:22.000000000 +1200
+++ squid-3.5.27/src/clients/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/client_side.cc squid-3.5.27/src/client_side.cc
--- squid-3.5.26/src/client_side.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/client_side.cc 2017-08-20 06:48:49.000000000 +1200
@@ -836,6 +836,7 @@
assert(areAllContextsForThisConnection());
freeAllContexts();
+ // XXX: Closing pinned conn is too harsh: The Client may want to continue!
unpinConnection(true);
if (Comm::IsConnOpen(clientConnection))
@@ -1559,6 +1560,13 @@
debugs(33, 3, HERE << "ConnnStateData(" << conn->clientConnection << "), Context(" << clientConnection << ")");
connIsFinished();
+ conn->kick();
+}
+
+void
+ConnStateData::kick()
+{
+ ConnStateData * conn = this; // XXX: Remove this diff minimization hack
if (conn->pinning.pinned && !Comm::IsConnOpen(conn->pinning.serverConnection)) {
debugs(33, 2, HERE << conn->clientConnection << " Connection was pinned but server side gone. Terminating client connection");
@@ -3240,6 +3248,13 @@
if (in.buf.isEmpty())
break;
+ // Prohibit concurrent requests when using a pinned to-server connection
+ // because our Client classes do not support request pipelining.
+ if (pinning.pinned && !pinning.readHandler) {
+ debugs(33, 3, clientConnection << " waits for busy " << pinning.serverConnection);
+ break;
+ }
+
/* Limit the number of concurrent requests */
if (concurrentRequestQueueFilled())
break;
@@ -4434,22 +4449,19 @@
}
void
-ConnStateData::httpsPeeked(Comm::ConnectionPointer serverConnection)
+ConnStateData::httpsPeeked(PinnedIdleContext pic)
{
Must(sslServerBump != NULL);
+ Must(sslServerBump->request == pic.request);
+ Must(currentobject == NULL || currentobject->http == NULL || currentobject->http->request == pic.request.getRaw());
- if (Comm::IsConnOpen(serverConnection)) {
- pinConnection(serverConnection, NULL, NULL, false);
+ if (Comm::IsConnOpen(pic.connection)) {
+ notePinnedConnectionBecameIdle(pic);
debugs(33, 5, HERE << "bumped HTTPS server: " << sslConnectHostOrIp);
- } else {
+ } else
debugs(33, 5, HERE << "Error while bumping: " << sslConnectHostOrIp);
- // copy error detail from bump-server-first request to CONNECT request
- if (currentobject != NULL && currentobject->http != NULL && currentobject->http->request)
- currentobject->http->request->detailError(sslServerBump->request->errType, sslServerBump->request->errDetail);
- }
-
getSslContextStart();
}
@@ -4952,19 +4964,35 @@
}
void
-ConnStateData::pinConnection(const Comm::ConnectionPointer &pinServer, HttpRequest *request, CachePeer *aPeer, bool auth, bool monitor)
+ConnStateData::pinBusyConnection(const Comm::ConnectionPointer &pinServer, const HttpRequest::Pointer &request)
{
- if (!Comm::IsConnOpen(pinning.serverConnection) ||
- pinning.serverConnection->fd != pinServer->fd)
- pinNewConnection(pinServer, request, aPeer, auth);
+ pinConnection(pinServer, request);
+}
- if (monitor)
- startPinnedConnectionMonitoring();
+void
+ConnStateData::notePinnedConnectionBecameIdle(PinnedIdleContext pic)
+{
+ Must(pic.connection != NULL);
+ Must(pic.request != NULL);
+ pinConnection(pic.connection, pic.request);
+
+ // monitor pinned server connection for remote-end closures.
+ startPinnedConnectionMonitoring();
+
+ if (!currentobject)
+ kick(); // in case clientParseRequests() was blocked by a busy pic.connection
}
+/// Forward future client requests using the given server connection.
void
-ConnStateData::pinNewConnection(const Comm::ConnectionPointer &pinServer, HttpRequest *request, CachePeer *aPeer, bool auth)
+ConnStateData::pinConnection(const Comm::ConnectionPointer &pinServer, const HttpRequest::Pointer &request)
{
+ if (Comm::IsConnOpen(pinning.serverConnection) &&
+ pinning.serverConnection->fd == pinServer->fd) {
+ debugs(33, 3, "already pinned" << pinServer);
+ return;
+ }
+
unpinConnection(true); // closes pinned connection, if any, and resets fields
pinning.serverConnection = pinServer;
@@ -4973,23 +5001,21 @@
Must(pinning.serverConnection != NULL);
- // when pinning an SSL bumped connection, the request may be NULL
const char *pinnedHost = "[unknown]";
- if (request) {
+ if (request != NULL) {
pinning.host = xstrdup(request->GetHost());
pinning.port = request->port;
pinnedHost = pinning.host;
+ pinning.auth = request->flags.connectionAuth;
} else {
pinning.port = pinServer->remote.port();
}
pinning.pinned = true;
- if (aPeer)
- pinning.peer = cbdataReference(aPeer);
- pinning.auth = auth;
+ pinning.peer = cbdataReference(pinServer->getPeer());
char stmp[MAX_IPSTRLEN];
char desc[FD_DESC_SZ];
snprintf(desc, FD_DESC_SZ, "%s pinned connection for %s (%d)",
- (auth || !aPeer) ? pinnedHost : aPeer->name,
+ (pinning.auth || !pinning.peer) ? pinnedHost : pinning.peer->name,
clientConnection->remote.toUrl(stmp,MAX_IPSTRLEN),
clientConnection->fd);
fd_note(pinning.serverConnection->fd, desc);
@@ -5164,3 +5190,9 @@
* connection has gone away */
}
+std::ostream &
+operator <<(std::ostream &os, const ConnStateData::PinnedIdleContext &pic)
+{
+ return os << pic.connection << ", request=" << pic.request;
+}
+
diff -u -r -N squid-3.5.26/src/client_side.h squid-3.5.27/src/client_side.h
--- squid-3.5.26/src/client_side.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/client_side.h 2017-08-20 06:48:49.000000000 +1200
@@ -26,6 +26,8 @@
#include "ssl/support.h"
#endif
+#include
+
class ConnStateData;
class ClientHttpRequest;
class clientStreamNode;
@@ -188,6 +190,11 @@
/// Traffic parsing
bool clientParseRequests();
void readNextRequest();
+
+ // In v3.5, usually called via ClientSocketContext::keepaliveNextRequest().
+ /// try to make progress on a transaction or read more I/O
+ void kick();
+
ClientSocketContext::Pointer getCurrentContext() const;
void addContextToQueue(ClientSocketContext * context);
int getConcurrentRequestCount() const;
@@ -287,9 +294,21 @@
bool handleReadData();
bool handleRequestBodyData();
- /// Forward future client requests using the given server connection.
- /// Optionally, monitor pinned server connection for remote-end closures.
- void pinConnection(const Comm::ConnectionPointer &pinServerConn, HttpRequest *request, CachePeer *peer, bool auth, bool monitor = true);
+ /// parameters for the async notePinnedConnectionBecameIdle() call
+ class PinnedIdleContext
+ {
+ public:
+ PinnedIdleContext(const Comm::ConnectionPointer &conn, const HttpRequest::Pointer &req): connection(conn), request(req) {}
+
+ Comm::ConnectionPointer connection; ///< to-server connection to be pinned
+ HttpRequest::Pointer request; ///< to-server request that initiated serverConnection
+ };
+
+ /// Called when a pinned connection becomes available for forwarding the next request.
+ void notePinnedConnectionBecameIdle(PinnedIdleContext pic);
+ /// Forward future client requests using the given to-server connection.
+ /// The connection is still being used by the current client request.
+ void pinBusyConnection(const Comm::ConnectionPointer &pinServerConn, const HttpRequest::Pointer &request);
/// Undo pinConnection() and, optionally, close the pinned connection.
void unpinConnection(const bool andClose);
/// Returns validated pinnned server connection (and stops its monitoring).
@@ -345,7 +364,7 @@
/// generated
void doPeekAndSpliceStep();
/// called by FwdState when it is done bumping the server
- void httpsPeeked(Comm::ConnectionPointer serverConnection);
+ void httpsPeeked(PinnedIdleContext pic);
/// Start to create dynamic SSL_CTX for host or uses static port SSL context.
void getSslContextStart();
@@ -449,7 +468,7 @@
void clientAfterReadingRequests();
bool concurrentRequestQueueFilled() const;
- void pinNewConnection(const Comm::ConnectionPointer &pinServer, HttpRequest *request, CachePeer *aPeer, bool auth);
+ void pinConnection(const Comm::ConnectionPointer &pinServerConn, const HttpRequest::Pointer &request);
/* PROXY protocol functionality */
bool proxyProtocolValidateClient();
@@ -516,5 +535,7 @@
void clientProcessRequest(ConnStateData *conn, HttpParser *hp, ClientSocketContext *context, const HttpRequestMethod& method, Http::ProtocolVersion http_ver);
void clientPostHttpsAccept(ConnStateData *connState);
+std::ostream &operator <<(std::ostream &os, const ConnStateData::PinnedIdleContext &pic);
+
#endif /* SQUID_CLIENTSIDE_H */
diff -u -r -N squid-3.5.26/src/client_side_reply.cc squid-3.5.27/src/client_side_reply.cc
--- squid-3.5.26/src/client_side_reply.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/client_side_reply.cc 2017-08-20 06:48:49.000000000 +1200
@@ -72,8 +72,8 @@
HTTPMSGUNLOCK(reply);
}
-clientReplyContext::clientReplyContext(ClientHttpRequest *clientContext) : http (cbdataReference(clientContext)), old_entry (NULL), old_sc(NULL), deleting(false),
- collapsedRevalidation(crNone)
+clientReplyContext::clientReplyContext(ClientHttpRequest *clientContext) : http (cbdataReference(clientContext)), old_entry (NULL),
+ old_sc(NULL), old_lastmod(-1), deleting(false), collapsedRevalidation(crNone)
{}
/** Create an error in the store awaiting the client side to read it.
@@ -185,6 +185,8 @@
debugs(88, 3, "clientReplyContext::saveState: saving store context");
old_entry = http->storeEntry();
old_sc = sc;
+ old_lastmod = http->request->lastmod;
+ old_etag = http->request->etag;
old_reqsize = reqsize;
tempBuffer.offset = reqofs;
/* Prevent accessing the now saved entries */
@@ -204,9 +206,13 @@
sc = old_sc;
reqsize = old_reqsize;
reqofs = tempBuffer.offset;
+ http->request->lastmod = old_lastmod;
+ http->request->etag = old_etag;
/* Prevent accessed the old saved entries */
old_entry = NULL;
old_sc = NULL;
+ old_lastmod = -1;
+ old_etag.clean();
old_reqsize = 0;
tempBuffer.offset = 0;
}
@@ -396,8 +402,8 @@
if (result.flags.error && !EBIT_TEST(http->storeEntry()->flags, ENTRY_ABORTED))
return;
- if (collapsedRevalidation == crSlave && EBIT_TEST(http->storeEntry()->flags, KEY_PRIVATE)) {
- debugs(88, 3, "CF slave hit private " << *http->storeEntry() << ". MISS");
+ if (collapsedRevalidation == crSlave && !http->storeEntry()->mayStartHitting()) {
+ debugs(88, 3, "CF slave hit private non-shareable " << *http->storeEntry() << ". MISS");
// restore context to meet processMiss() expectations
restoreState();
http->logType = LOG_TCP_MISS;
@@ -530,7 +536,7 @@
// The previously identified hit suddenly became unsharable!
// This is common for collapsed forwarding slaves but might also
// happen to regular hits because we are called asynchronously.
- if (EBIT_TEST(e->flags, KEY_PRIVATE)) {
+ if (!e->mayStartHitting()) {
debugs(88, 3, "unsharable " << *e << ". MISS");
http->logType = LOG_TCP_MISS;
processMiss();
diff -u -r -N squid-3.5.26/src/client_side_reply.h squid-3.5.27/src/client_side_reply.h
--- squid-3.5.26/src/client_side_reply.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/client_side_reply.h 2017-08-20 06:48:49.000000000 +1200
@@ -130,7 +130,11 @@
void sendNotModifiedOrPreconditionFailedError();
StoreEntry *old_entry;
- store_client *old_sc; /* ... for entry to be validated */
+ /* ... for entry to be validated */
+ store_client *old_sc;
+ time_t old_lastmod;
+ String old_etag;
+
bool deleting;
typedef enum {
diff -u -r -N squid-3.5.26/src/comm/Makefile.in squid-3.5.27/src/comm/Makefile.in
--- squid-3.5.26/src/comm/Makefile.in 2017-06-02 01:54:24.000000000 +1200
+++ squid-3.5.27/src/comm/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc squid-3.5.27/src/DiskIO/DiskThreads/aiops.cc
--- squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/DiskIO/DiskThreads/aiops.cc 2017-08-20 06:48:49.000000000 +1200
@@ -290,7 +290,7 @@
/* Create threads and get them to sit in their wait loop */
squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t));
- assert(NUMTHREADS);
+ assert(NUMTHREADS != 0);
for (i = 0; i < NUMTHREADS; ++i) {
threadp = (squidaio_thread_t *)squidaio_thread_pool->alloc();
diff -u -r -N squid-3.5.26/src/esi/Makefile.in squid-3.5.27/src/esi/Makefile.in
--- squid-3.5.26/src/esi/Makefile.in 2017-06-02 01:54:25.000000000 +1200
+++ squid-3.5.27/src/esi/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/eui/Makefile.in squid-3.5.27/src/eui/Makefile.in
--- squid-3.5.26/src/eui/Makefile.in 2017-06-02 01:54:26.000000000 +1200
+++ squid-3.5.27/src/eui/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/fde.cc squid-3.5.27/src/fde.cc
--- squid-3.5.26/src/fde.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/fde.cc 2017-08-20 06:48:49.000000000 +1200
@@ -85,15 +85,15 @@
char const *
fde::remoteAddr() const
{
- LOCAL_ARRAY(char, buf, MAX_IPSTRLEN );
+ static char buf[MAX_IPSTRLEN+7]; // 7 = length of ':port' strings
if (type != FD_SOCKET)
return null_string;
if ( *ipaddr )
- snprintf( buf, MAX_IPSTRLEN, "%s:%d", ipaddr, (int)remote_port);
+ snprintf(buf, sizeof(buf), "%s:%u", ipaddr, remote_port);
else
- local_addr.toUrl(buf,MAX_IPSTRLEN); // toHostStr does not include port.
+ local_addr.toUrl(buf, sizeof(buf)); // toHostStr does not include port.
return buf;
}
diff -u -r -N squid-3.5.26/src/format/Makefile.in squid-3.5.27/src/format/Makefile.in
--- squid-3.5.26/src/format/Makefile.in 2017-06-02 01:54:28.000000000 +1200
+++ squid-3.5.27/src/format/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/fs/Makefile.in squid-3.5.27/src/fs/Makefile.in
--- squid-3.5.26/src/fs/Makefile.in 2017-06-02 01:54:29.000000000 +1200
+++ squid-3.5.27/src/fs/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/fs/rock/RockSwapDir.cc squid-3.5.27/src/fs/rock/RockSwapDir.cc
--- squid-3.5.26/src/fs/rock/RockSwapDir.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/fs/rock/RockSwapDir.cc 2017-08-20 06:48:49.000000000 +1200
@@ -149,7 +149,7 @@
e.ping_status = PING_NONE;
EBIT_CLR(e.flags, RELEASE_REQUEST);
- EBIT_CLR(e.flags, KEY_PRIVATE);
+ e.clearPrivate();
EBIT_SET(e.flags, ENTRY_VALIDATED);
e.swap_dirn = index;
diff -u -r -N squid-3.5.26/src/fs/ufs/RebuildState.cc squid-3.5.27/src/fs/ufs/RebuildState.cc
--- squid-3.5.26/src/fs/ufs/RebuildState.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/fs/ufs/RebuildState.cc 2017-08-20 06:48:49.000000000 +1200
@@ -444,7 +444,7 @@
}
if (0 == in_dir) { /* we need to read in a new directory */
- snprintf(fullpath, MAXPATHLEN, "%s/%02X/%02X",
+ snprintf(fullpath, sizeof(fullpath), "%s/%02X/%02X",
sd->path,
curlvl1, curlvl2);
@@ -489,7 +489,7 @@
continue;
}
- snprintf(fullfilename, MAXPATHLEN, "%s/%s",
+ snprintf(fullfilename, sizeof(fullfilename), "%s/%s",
fullpath, entry->d_name);
debugs(47, 3, HERE << "Opening " << fullfilename);
fd = file_open(fullfilename, O_RDONLY | O_BINARY);
diff -u -r -N squid-3.5.26/src/fs/ufs/RebuildState.h squid-3.5.27/src/fs/ufs/RebuildState.h
--- squid-3.5.26/src/fs/ufs/RebuildState.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/fs/ufs/RebuildState.h 2017-08-20 06:48:49.000000000 +1200
@@ -54,7 +54,7 @@
dirent_t *entry;
DIR *td;
char fullpath[MAXPATHLEN];
- char fullfilename[MAXPATHLEN];
+ char fullfilename[MAXPATHLEN*2];
StoreRebuildData counts;
diff -u -r -N squid-3.5.26/src/fs/ufs/UFSSwapDir.cc squid-3.5.27/src/fs/ufs/UFSSwapDir.cc
--- squid-3.5.26/src/fs/ufs/UFSSwapDir.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/fs/ufs/UFSSwapDir.cc 2017-08-20 06:48:49.000000000 +1200
@@ -809,7 +809,7 @@
e->refcount = refcount;
e->flags = newFlags;
EBIT_CLR(e->flags, RELEASE_REQUEST);
- EBIT_CLR(e->flags, KEY_PRIVATE);
+ e->clearPrivate();
e->ping_status = PING_NONE;
EBIT_CLR(e->flags, ENTRY_VALIDATED);
mapBitSet(e->swap_filen);
diff -u -r -N squid-3.5.26/src/ftp/Makefile.in squid-3.5.27/src/ftp/Makefile.in
--- squid-3.5.26/src/ftp/Makefile.in 2017-06-02 01:54:31.000000000 +1200
+++ squid-3.5.27/src/ftp/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/FwdState.cc squid-3.5.27/src/FwdState.cc
--- squid-3.5.26/src/FwdState.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/FwdState.cc 2017-08-20 06:48:49.000000000 +1200
@@ -246,7 +246,7 @@
#if USE_OPENSSL
if (request->flags.sslPeek && request->clientConnectionManager.valid()) {
CallJobHere1(17, 4, request->clientConnectionManager, ConnStateData,
- ConnStateData::httpsPeeked, Comm::ConnectionPointer(NULL));
+ ConnStateData::httpsPeeked, ConnStateData::PinnedIdleContext(Comm::ConnectionPointer(nullptr), request));
}
#endif
} else {
@@ -952,7 +952,7 @@
#if USE_OPENSSL
if (request->flags.sslPeek) {
CallJobHere1(17, 4, request->clientConnectionManager, ConnStateData,
- ConnStateData::httpsPeeked, serverConnection());
+ ConnStateData::httpsPeeked, ConnStateData::PinnedIdleContext(serverConnection(), request));
unregister(serverConn); // async call owns it now
complete(); // destroys us
return;
diff -u -r -N squid-3.5.26/src/gopher.cc squid-3.5.27/src/gopher.cc
--- squid-3.5.26/src/gopher.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/gopher.cc 2017-08-20 06:48:49.000000000 +1200
@@ -820,7 +820,7 @@
* This will be called when request write is complete. Schedule read of reply.
*/
static void
-gopherSendComplete(const Comm::ConnectionPointer &conn, char *buf, size_t size, Comm::Flag errflag, int xerrno, void *data)
+gopherSendComplete(const Comm::ConnectionPointer &conn, char *, size_t size, Comm::Flag errflag, int xerrno, void *data)
{
GopherStateData *gopherState = (GopherStateData *) data;
StoreEntry *entry = gopherState->entry;
@@ -840,10 +840,6 @@
err->url = xstrdup(entry->url());
gopherState->fwd->fail(err);
gopherState->serverConn->close();
-
- if (buf)
- memFree(buf, MEM_4K_BUF); /* Allocated by gopherSendRequest. */
-
return;
}
@@ -885,9 +881,6 @@
AsyncCall::Pointer call = commCbCall(5,5, "gopherReadReply",
CommIoCbPtrFun(gopherReadReply, gopherState));
entry->delayAwareRead(conn, gopherState->replybuf, BUFSIZ, call);
-
- if (buf)
- memFree(buf, MEM_4K_BUF); /* Allocated by gopherSendRequest. */
}
/**
@@ -898,32 +891,31 @@
gopherSendRequest(int fd, void *data)
{
GopherStateData *gopherState = (GopherStateData *)data;
- char *buf = (char *)memAllocate(MEM_4K_BUF);
+ MemBuf mb;
+ mb.init();
if (gopherState->type_id == GOPHER_CSO) {
const char *t = strchr(gopherState->request, '?');
- if (t != NULL)
+ if (t)
++t; /* skip the ? */
else
t = "";
- snprintf(buf, 4096, "query %s\r\nquit\r\n", t);
- } else if (gopherState->type_id == GOPHER_INDEX) {
- char *t = strchr(gopherState->request, '?');
-
- if (t != NULL)
- *t = '\t';
-
- snprintf(buf, 4096, "%s\r\n", gopherState->request);
+ mb.Printf("query %s\r\nquit", t);
} else {
- snprintf(buf, 4096, "%s\r\n", gopherState->request);
+ if (gopherState->type_id == GOPHER_INDEX) {
+ if (char *t = strchr(gopherState->request, '?'))
+ *t = '\t';
+ }
+ mb.append(gopherState->request, strlen(gopherState->request));
}
+ mb.append("\r\n", 2);
- debugs(10, 5, HERE << gopherState->serverConn);
+ debugs(10, 5, gopherState->serverConn);
AsyncCall::Pointer call = commCbCall(5,5, "gopherSendComplete",
CommIoCbPtrFun(gopherSendComplete, gopherState));
- Comm::Write(gopherState->serverConn, buf, strlen(buf), call, NULL);
+ Comm::Write(gopherState->serverConn, &mb, call);
gopherState->entry->makePublic();
}
diff -u -r -N squid-3.5.26/src/helper/Makefile.in squid-3.5.27/src/helper/Makefile.in
--- squid-3.5.26/src/helper/Makefile.in 2017-06-02 01:54:32.000000000 +1200
+++ squid-3.5.27/src/helper/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/http/Makefile.in squid-3.5.27/src/http/Makefile.in
--- squid-3.5.26/src/http/Makefile.in 2017-06-02 01:54:33.000000000 +1200
+++ squid-3.5.27/src/http/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/http.cc squid-3.5.27/src/http.cc
--- squid-3.5.26/src/http.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/http.cc 2017-08-20 06:48:49.000000000 +1200
@@ -290,7 +290,9 @@
(Config.onoff.surrogate_is_remote
&& sctusable->noStoreRemote())) {
surrogateNoStore = true;
- entry->makePrivate();
+ // Be conservative for now and make it non-shareable because
+ // there is no enough information here to make the decision.
+ entry->makePrivate(false);
}
/* The HttpHeader logic cannot tell if the header it's parsing is a reply to an
@@ -315,12 +317,13 @@
}
}
-int
-HttpStateData::cacheableReply()
+HttpStateData::ReuseDecision::Answers
+HttpStateData::reusableReply(HttpStateData::ReuseDecision &decision)
{
HttpReply const *rep = finalReply();
HttpHeader const *hdr = &rep->header;
const char *v;
+
#if USE_HTTP_VIOLATIONS
const RefreshPattern *R = NULL;
@@ -337,24 +340,19 @@
#define REFRESH_OVERRIDE(flag) 0
#endif
- if (EBIT_TEST(entry->flags, RELEASE_REQUEST)) {
- debugs(22, 3, "NO because " << *entry << " has been released.");
- return 0;
- }
+ if (EBIT_TEST(entry->flags, RELEASE_REQUEST))
+ return decision.make(ReuseDecision::reuseNot, "the entry has been released");
// RFC 7234 section 4: a cache MUST use the most recent response
// (as determined by the Date header field)
- if (sawDateGoBack) {
- debugs(22, 3, "NO because " << *entry << " has an older date header.");
- return 0;
- }
+ // TODO: whether such responses could be shareable?
+ if (sawDateGoBack)
+ return decision.make(ReuseDecision::reuseNot, "the response has an older date header");
// Check for Surrogate/1.0 protocol conditions
// NP: reverse-proxy traffic our parent server has instructed us never to cache
- if (surrogateNoStore) {
- debugs(22, 3, HERE << "NO because Surrogate-Control:no-store");
- return 0;
- }
+ if (surrogateNoStore)
+ return decision.make(ReuseDecision::reuseNot, "Surrogate-Control:no-store");
// RFC 2616: HTTP/1.1 Cache-Control conditions
if (!ignoreCacheControl) {
@@ -363,11 +361,10 @@
// for now we are not reliably doing that so we waste CPU re-checking request CC
// RFC 2616 section 14.9.2 - MUST NOT cache any response with request CC:no-store
- if (request && request->cache_control && request->cache_control->noStore() &&
- !REFRESH_OVERRIDE(ignore_no_store)) {
- debugs(22, 3, HERE << "NO because client request Cache-Control:no-store");
- return 0;
- }
+ if (request && request->cache_control && request->cache_control->hasNoStore() &&
+ !REFRESH_OVERRIDE(ignore_no_store))
+ return decision.make(ReuseDecision::reuseNot,
+ "client request Cache-Control:no-store");
// NP: request CC:no-cache only means cache READ is forbidden. STORE is permitted.
if (rep->cache_control && rep->cache_control->hasNoCache() && rep->cache_control->noCache().size() > 0) {
@@ -376,19 +373,18 @@
* successfully (ie, must revalidate AND these headers are prohibited on stale replies).
* That is a bit tricky for squid right now so we avoid caching entirely.
*/
- debugs(22, 3, HERE << "NO because server reply Cache-Control:no-cache has parameters");
- return 0;
+ return decision.make(ReuseDecision::reuseNot,
+ "server reply Cache-Control:no-cache has parameters");
}
// NP: request CC:private is undefined. We ignore.
// NP: other request CC flags are limiters on HIT/MISS. We don't care about here.
// RFC 2616 section 14.9.2 - MUST NOT cache any response with CC:no-store
- if (rep->cache_control && rep->cache_control->noStore() &&
- !REFRESH_OVERRIDE(ignore_no_store)) {
- debugs(22, 3, HERE << "NO because server reply Cache-Control:no-store");
- return 0;
- }
+ if (rep->cache_control && rep->cache_control->hasNoStore() &&
+ !REFRESH_OVERRIDE(ignore_no_store))
+ return decision.make(ReuseDecision::reuseNot,
+ "server reply Cache-Control:no-store");
// RFC 2616 section 14.9.1 - MUST NOT cache any response with CC:private in a shared cache like Squid.
// CC:private overrides CC:public when both are present in a response.
@@ -401,27 +397,25 @@
* successfully (ie, must revalidate AND these headers are prohibited on stale replies).
* That is a bit tricky for squid right now so we avoid caching entirely.
*/
- debugs(22, 3, HERE << "NO because server reply Cache-Control:private");
- return 0;
+ return decision.make(ReuseDecision::reuseNot,
+ "server reply Cache-Control:private");
}
}
// RFC 2068, sec 14.9.4 - MUST NOT cache any response with Authentication UNLESS certain CC controls are present
// allow HTTP violations to IGNORE those controls (ie re-block caching Auth)
if (request && (request->flags.auth || request->flags.authSent) && !REFRESH_OVERRIDE(ignore_auth)) {
- if (!rep->cache_control) {
- debugs(22, 3, HERE << "NO because Authenticated and server reply missing Cache-Control");
- return 0;
- }
-
- if (ignoreCacheControl) {
- debugs(22, 3, HERE << "NO because Authenticated and ignoring Cache-Control");
- return 0;
- }
+ if (!rep->cache_control)
+ return decision.make(ReuseDecision::reuseNot,
+ "authenticated and server reply missing Cache-Control");
+
+ if (ignoreCacheControl)
+ return decision.make(ReuseDecision::reuseNot,
+ "authenticated and ignoring Cache-Control");
bool mayStore = false;
// HTTPbis pt6 section 3.2: a response CC:public is present
- if (rep->cache_control->Public()) {
+ if (rep->cache_control->hasPublic()) {
debugs(22, 3, HERE << "Authenticated but server reply Cache-Control:public");
mayStore = true;
@@ -441,15 +435,13 @@
#endif
// HTTPbis pt6 section 3.2: a response CC:s-maxage is present
- } else if (rep->cache_control->sMaxAge()) {
+ } else if (rep->cache_control->hasSMaxAge()) {
debugs(22, 3, HERE << "Authenticated but server reply Cache-Control:s-maxage");
mayStore = true;
}
- if (!mayStore) {
- debugs(22, 3, HERE << "NO because Authenticated transaction");
- return 0;
- }
+ if (!mayStore)
+ return decision.make(ReuseDecision::reuseNot, "authenticated transaction");
// NP: response CC:no-cache is equivalent to CC:must-revalidate,max-age=0. We MAY cache, and do so.
// NP: other request CC flags are limiters on HIT/MISS/REFRESH. We don't care about here.
@@ -460,12 +452,26 @@
* probably should not be cachable
*/
if ((v = hdr->getStr(HDR_CONTENT_TYPE)))
- if (!strncasecmp(v, "multipart/x-mixed-replace", 25)) {
- debugs(22, 3, HERE << "NO because Content-Type:multipart/x-mixed-replace");
- return 0;
- }
+ if (!strncasecmp(v, "multipart/x-mixed-replace", 25))
+ return decision.make(ReuseDecision::reuseNot, "Content-Type:multipart/x-mixed-replace");
+
+ // TODO: if possible, provide more specific message for each status code
+ static const char *shareableError = "shareable error status code";
+ static const char *nonShareableError = "non-shareable error status code";
+ ReuseDecision::Answers statusAnswer = ReuseDecision::reuseNot;
+ const char *statusReason = nonShareableError;
switch (rep->sline.status()) {
+
+ /* There are several situations when a non-cacheable response may be
+ * still shareable (e.g., among collapsed clients). We assume that these
+ * are 3xx and 5xx responses, indicating server problems and some of
+ * 4xx responses, common for all clients with a given cache key (e.g.,
+ * 404 Not Found or 414 URI Too Long). On the other hand, we should not
+ * share non-cacheable client-specific errors, such as 400 Bad Request
+ * or 406 Not Acceptable.
+ */
+
/* Responses that are cacheable */
case Http::scOkay:
@@ -482,112 +488,90 @@
* Don't cache objects that need to be refreshed on next request,
* unless we know how to refresh it.
*/
+ if (refreshIsCachable(entry) || REFRESH_OVERRIDE(store_stale))
+ decision.make(ReuseDecision::cachePositively, "refresh check returned cacheable");
+ else
+ decision.make(ReuseDecision::doNotCacheButShare, "refresh check returned non-cacheable");
- if (!refreshIsCachable(entry) && !REFRESH_OVERRIDE(store_stale)) {
- debugs(22, 3, "NO because refreshIsCachable() returned non-cacheable..");
- return 0;
- } else {
- debugs(22, 3, HERE << "YES because HTTP status " << rep->sline.status());
- return 1;
- }
- /* NOTREACHED */
break;
/* Responses that only are cacheable if the server says so */
case Http::scFound:
case Http::scTemporaryRedirect:
- if (rep->date <= 0) {
- debugs(22, 3, HERE << "NO because HTTP status " << rep->sline.status() << " and Date missing/invalid");
- return 0;
- }
- if (rep->expires > rep->date) {
- debugs(22, 3, HERE << "YES because HTTP status " << rep->sline.status() << " and Expires > Date");
- return 1;
- } else {
- debugs(22, 3, HERE << "NO because HTTP status " << rep->sline.status() << " and Expires <= Date");
- return 0;
- }
- /* NOTREACHED */
- break;
- /* Errors can be negatively cached */
+ if (rep->date <= 0)
+ decision.make(ReuseDecision::doNotCacheButShare, "Date is missing/invalid");
+ else if (rep->expires > rep->date)
+ decision.make(ReuseDecision::cachePositively, "Expires > Date");
+ else
+ decision.make(ReuseDecision::doNotCacheButShare, "Expires <= Date");
+ break;
+ /* These responses can be negatively cached. Most can also be shared. */
case Http::scNoContent:
-
case Http::scUseProxy:
-
- case Http::scBadRequest:
-
case Http::scForbidden:
-
case Http::scNotFound:
-
case Http::scMethodNotAllowed:
-
case Http::scUriTooLong:
-
case Http::scInternalServerError:
-
case Http::scNotImplemented:
-
case Http::scBadGateway:
-
case Http::scServiceUnavailable:
-
case Http::scGatewayTimeout:
case Http::scMisdirectedRequest:
+ statusAnswer = ReuseDecision::doNotCacheButShare;
+ statusReason = shareableError;
+ // fall through to the actual decision making below
- debugs(22, 3, "MAYBE because HTTP status " << rep->sline.status());
- return -1;
+ case Http::scBadRequest: // no sharing; perhaps the server did not like something specific to this request
- /* NOTREACHED */
+#if USE_HTTP_VIOLATIONS
+ if (Config.negativeTtl > 0)
+ decision.make(ReuseDecision::cacheNegatively, "Config.negativeTtl > 0");
+ else
+#endif
+ decision.make(statusAnswer, statusReason);
break;
- /* Some responses can never be cached */
-
- case Http::scPartialContent: /* Not yet supported */
-
+ /* these responses can never be cached, some
+ of them can be shared though */
case Http::scSeeOther:
-
case Http::scNotModified:
-
case Http::scUnauthorized:
-
case Http::scProxyAuthenticationRequired:
-
- case Http::scInvalidHeader: /* Squid header parsing error */
-
- case Http::scHeaderTooLarge:
-
case Http::scPaymentRequired:
+ case Http::scInsufficientStorage:
+ // TODO: use more specific reason for non-error status codes
+ decision.make(ReuseDecision::doNotCacheButShare, shareableError);
+ break;
+
+ case Http::scPartialContent: /* Not yet supported. TODO: make shareable for suitable ranges */
case Http::scNotAcceptable:
- case Http::scRequestTimeout:
- case Http::scConflict:
+ case Http::scRequestTimeout: // TODO: is this shareable?
+ case Http::scConflict: // TODO: is this shareable?
case Http::scLengthRequired:
case Http::scPreconditionFailed:
case Http::scPayloadTooLarge:
case Http::scUnsupportedMediaType:
case Http::scUnprocessableEntity:
- case Http::scLocked:
+ case Http::scLocked: // TODO: is this shareable?
case Http::scFailedDependency:
- case Http::scInsufficientStorage:
case Http::scRequestedRangeNotSatisfied:
case Http::scExpectationFailed:
-
- debugs(22, 3, HERE << "NO because HTTP status " << rep->sline.status());
- return 0;
-
+ case Http::scInvalidHeader: /* Squid header parsing error */
+ case Http::scHeaderTooLarge:
+ decision.make(ReuseDecision::reuseNot, nonShareableError);
+ break;
default:
/* RFC 2616 section 6.1.1: an unrecognized response MUST NOT be cached. */
- debugs (11, 3, HERE << "NO because unknown HTTP status code " << rep->sline.status());
- return 0;
- /* NOTREACHED */
+ decision.make(ReuseDecision::reuseNot, "unknown status code");
break;
}
- /* NOTREACHED */
+ return decision.answer;
}
/// assemble a variant key (vary-mark) from the given Vary header and HTTP request
@@ -898,11 +882,12 @@
Ctx ctx = ctx_enter(entry->mem_obj->urlXXX());
HttpReply *rep = finalReply();
+ const Http::StatusCode statusCode = rep->sline.status();
entry->timestampsSet();
/* Check if object is cacheable or not based on reply code */
- debugs(11, 3, "HTTP CODE: " << rep->sline.status());
+ debugs(11, 3, "HTTP CODE: " << statusCode);
if (const StoreEntry *oldEntry = findPreviouslyCachedEntry(entry))
sawDateGoBack = rep->olderThan(oldEntry->getReply());
@@ -919,7 +904,9 @@
const SBuf vary(httpMakeVaryMark(request, rep));
if (vary.isEmpty()) {
- entry->makePrivate();
+ // TODO: check whether such responses are shareable.
+ // Do not share for now.
+ entry->makePrivate(false);
if (!fwd->reforwardableStatus(rep->sline.status()))
EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
varyFailure = true;
@@ -942,30 +929,31 @@
if (!fwd->reforwardableStatus(rep->sline.status()))
EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
- switch (cacheableReply()) {
+ ReuseDecision decision(entry, statusCode);
- case 1:
- entry->makePublic();
+ switch (reusableReply(decision)) {
+
+ case ReuseDecision::reuseNot:
+ entry->makePrivate(false);
break;
- case 0:
- entry->makePrivate();
+ case ReuseDecision::cachePositively:
+ entry->makePublic();
break;
- case -1:
+ case ReuseDecision::cacheNegatively:
+ entry->cacheNegatively();
+ break;
-#if USE_HTTP_VIOLATIONS
- if (Config.negativeTtl > 0)
- entry->cacheNegatively();
- else
-#endif
- entry->makePrivate();
+ case ReuseDecision::doNotCacheButShare:
+ entry->makePrivate(true);
break;
default:
assert(0);
break;
}
+ debugs(11, 3, "decided: " << decision);
}
if (!ignoreCacheControl) {
@@ -1395,9 +1383,6 @@
void
HttpStateData::processReplyBody()
{
- Ip::Address client_addr;
- bool ispinned = false;
-
if (!flags.headers_parsed) {
flags.do_next_read = true;
maybeReadVirginBody();
@@ -1447,35 +1432,49 @@
}
break;
- case COMPLETE_PERSISTENT_MSG:
+ case COMPLETE_PERSISTENT_MSG: {
debugs(11, 5, "processReplyBody: COMPLETE_PERSISTENT_MSG from " << serverConnection);
- /* yes we have to clear all these! */
+
+ // TODO: Remove serverConnectionSaved but preserve exception safety.
+
commUnsetConnTimeout(serverConnection);
flags.do_next_read = false;
comm_remove_close_handler(serverConnection->fd, closeHandler);
closeHandler = NULL;
- fwd->unregister(serverConnection);
+ Ip::Address client_addr; // XXX: Remove as unused. Why was it added?
if (request->flags.spoofClientIp)
client_addr = request->client_addr;
+ Comm::ConnectionPointer serverConnectionSaved = serverConnection;
+ fwd->unregister(serverConnection);
+ serverConnection = NULL;
+
+ bool ispinned = false; // TODO: Rename to isOrShouldBePinned
if (request->flags.pinned) {
ispinned = true;
} else if (request->flags.connectionAuth && request->flags.authSent) {
ispinned = true;
}
- if (ispinned && request->clientConnectionManager.valid()) {
- request->clientConnectionManager->pinConnection(serverConnection, request, _peer,
- (request->flags.connectionAuth));
+ if (ispinned) {
+ if (request->clientConnectionManager.valid()) {
+ CallJobHere1(11, 4, request->clientConnectionManager,
+ ConnStateData,
+ notePinnedConnectionBecameIdle,
+ ConnStateData::PinnedIdleContext(serverConnectionSaved, request));
+ } else {
+ // must not pool/share ispinned connections, even orphaned ones
+ serverConnectionSaved->close();
+ }
} else {
- fwd->pconnPush(serverConnection, request->GetHost());
+ fwd->pconnPush(serverConnectionSaved, request->GetHost());
}
- serverConnection = NULL;
serverComplete();
return;
+ }
case COMPLETE_NONPERSISTENT_MSG:
debugs(11, 5, "processReplyBody: COMPLETE_NONPERSISTENT_MSG from " << serverConnection);
@@ -2429,3 +2428,29 @@
mustStop(reason);
}
+HttpStateData::ReuseDecision::ReuseDecision(const StoreEntry *e, const Http::StatusCode code)
+ : answer(HttpStateData::ReuseDecision::reuseNot), reason(nullptr), entry(e), statusCode(code) {}
+
+HttpStateData::ReuseDecision::Answers
+HttpStateData::ReuseDecision::make(const HttpStateData::ReuseDecision::Answers ans, const char *why)
+{
+ answer = ans;
+ reason = why;
+ return answer;
+}
+
+std::ostream &operator <<(std::ostream &os, const HttpStateData::ReuseDecision &d)
+{
+ static const char *ReuseMessages[] = {
+ "do not cache and do not share", // reuseNot
+ "cache positively and share", // cachePositively
+ "cache negatively and share", // cacheNegatively
+ "do not cache but share" // doNotCacheButShare
+ };
+
+ assert(d.answer >= HttpStateData::ReuseDecision::reuseNot &&
+ d.answer <= HttpStateData::ReuseDecision::doNotCacheButShare);
+ return os << ReuseMessages[d.answer] << " because " << d.reason <<
+ "; HTTP status " << d.statusCode << " " << *(d.entry);
+}
+
diff -u -r -N squid-3.5.26/src/http.h squid-3.5.27/src/http.h
--- squid-3.5.26/src/http.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/http.h 2017-08-20 06:48:49.000000000 +1200
@@ -22,6 +22,23 @@
{
public:
+
+ /// assists in making and relaying entry caching/sharing decision
+ class ReuseDecision
+ {
+ public:
+ enum Answers { reuseNot = 0, cachePositively, cacheNegatively, doNotCacheButShare };
+
+ ReuseDecision(const StoreEntry *e, const Http::StatusCode code);
+ /// stores the corresponding decision
+ Answers make(const Answers ans, const char *why);
+
+ Answers answer; ///< the decision id
+ const char *reason; ///< the decision reason
+ const StoreEntry *entry; ///< entry for debugging
+ const Http::StatusCode statusCode; ///< HTTP status for debugging
+ };
+
HttpStateData(FwdState *);
~HttpStateData();
@@ -39,8 +56,8 @@
void readReply(const CommIoCbParams &io);
virtual void maybeReadVirginBody(); // read response data from the network
- // Determine whether the response is a cacheable representation
- int cacheableReply();
+ // Checks whether the response is cacheable/shareable.
+ ReuseDecision::Answers reusableReply(ReuseDecision &decision);
CachePeer *_peer; /* CachePeer request made to */
int eof; /* reached end-of-object? */
@@ -119,6 +136,8 @@
CBDATA_CLASS2(HttpStateData);
};
+std::ostream &operator <<(std::ostream &os, const HttpStateData::ReuseDecision &d);
+
int httpCachable(const HttpRequestMethod&);
void httpStart(FwdState *);
SBuf httpMakeVaryMark(HttpRequest * request, HttpReply const * reply);
diff -u -r -N squid-3.5.26/src/HttpHdrCc.cc squid-3.5.27/src/HttpHdrCc.cc
--- squid-3.5.26/src/HttpHdrCc.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/HttpHdrCc.cc 2017-08-20 06:48:49.000000000 +1200
@@ -262,8 +262,8 @@
case CC_PUBLIC:
break;
case CC_PRIVATE:
- if (Private().size())
- packerPrintf(p, "=\"" SQUIDSTRINGPH "\"", SQUIDSTRINGPRINT(Private()));
+ if (private_.size())
+ packerPrintf(p, "=\"" SQUIDSTRINGPH "\"", SQUIDSTRINGPRINT(private_));
break;
case CC_NO_CACHE:
diff -u -r -N squid-3.5.26/src/icmp/Makefile.am squid-3.5.27/src/icmp/Makefile.am
--- squid-3.5.26/src/icmp/Makefile.am 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/icmp/Makefile.am 2017-08-20 06:48:49.000000000 +1200
@@ -59,7 +59,8 @@
pinger_LDFLAGS = $(LIBADD_DL)
pinger_LDADD=\
libicmp-core.la \
- ../ip/libip.la \
+ $(top_builddir)/src/ip/libip.la \
+ $(top_builddir)/src/base/libbase.la \
$(COMPAT_LIB) \
$(XTRA_LIBS)
diff -u -r -N squid-3.5.26/src/icmp/Makefile.in squid-3.5.27/src/icmp/Makefile.in
--- squid-3.5.26/src/icmp/Makefile.in 2017-06-02 01:54:35.000000000 +1200
+++ squid-3.5.27/src/icmp/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -184,8 +184,9 @@
am__DEPENDENCIES_2 = $(top_builddir)/compat/libcompat-squid.la \
$(am__DEPENDENCIES_1)
am__DEPENDENCIES_3 =
-pinger_DEPENDENCIES = libicmp-core.la ../ip/libip.la \
- $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
+pinger_DEPENDENCIES = libicmp-core.la $(top_builddir)/src/ip/libip.la \
+ $(top_builddir)/src/base/libbase.la $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_3)
pinger_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(pinger_LDFLAGS) $(LDFLAGS) -o $@
@@ -762,7 +763,8 @@
pinger_LDFLAGS = $(LIBADD_DL)
pinger_LDADD = \
libicmp-core.la \
- ../ip/libip.la \
+ $(top_builddir)/src/ip/libip.la \
+ $(top_builddir)/src/base/libbase.la \
$(COMPAT_LIB) \
$(XTRA_LIBS)
diff -u -r -N squid-3.5.26/src/ident/Makefile.in squid-3.5.27/src/ident/Makefile.in
--- squid-3.5.26/src/ident/Makefile.in 2017-06-02 01:54:36.000000000 +1200
+++ squid-3.5.27/src/ident/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/ip/Makefile.in squid-3.5.27/src/ip/Makefile.in
--- squid-3.5.26/src/ip/Makefile.in 2017-06-02 01:54:38.000000000 +1200
+++ squid-3.5.27/src/ip/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/ipc/Forwarder.cc squid-3.5.27/src/ipc/Forwarder.cc
--- squid-3.5.26/src/ipc/Forwarder.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/ipc/Forwarder.cc 2017-08-20 06:48:49.000000000 +1200
@@ -62,6 +62,7 @@
// assume the pack() call failed because the message did not fit
// TODO: add a more specific exception?
handleError();
+ return;
}
SendMessage(Ipc::Port::CoordinatorAddr(), message);
diff -u -r -N squid-3.5.26/src/ipc/Forwarder.h squid-3.5.27/src/ipc/Forwarder.h
--- squid-3.5.26/src/ipc/Forwarder.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/ipc/Forwarder.h 2017-08-20 06:48:49.000000000 +1200
@@ -47,12 +47,14 @@
virtual void handleError();
virtual void handleTimeout();
virtual void handleException(const std::exception& e);
- virtual void handleRemoteAck();
private:
static void RequestTimedOut(void* param);
void requestTimedOut();
void removeTimeoutEvent();
+
+ void handleRemoteAck();
+
static AsyncCall::Pointer DequeueRequest(unsigned int requestId);
protected:
diff -u -r -N squid-3.5.26/src/ipc/Makefile.in squid-3.5.27/src/ipc/Makefile.in
--- squid-3.5.26/src/ipc/Makefile.in 2017-06-02 01:54:39.000000000 +1200
+++ squid-3.5.27/src/ipc/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/log/Makefile.in squid-3.5.27/src/log/Makefile.in
--- squid-3.5.26/src/log/Makefile.in 2017-06-02 01:54:41.000000000 +1200
+++ squid-3.5.27/src/log/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/Makefile.in squid-3.5.27/src/Makefile.in
--- squid-3.5.26/src/Makefile.in 2017-06-02 01:54:04.000000000 +1200
+++ squid-3.5.27/src/Makefile.in 2017-08-20 07:57:00.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/MemStore.cc squid-3.5.27/src/MemStore.cc
--- squid-3.5.26/src/MemStore.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/MemStore.cc 2017-08-20 06:48:49.000000000 +1200
@@ -299,7 +299,7 @@
e.ping_status = PING_NONE;
EBIT_CLR(e.flags, RELEASE_REQUEST);
- EBIT_CLR(e.flags, KEY_PRIVATE);
+ e.clearPrivate();
EBIT_SET(e.flags, ENTRY_VALIDATED);
MemObject::MemCache &mc = e.mem_obj->memCache;
diff -u -r -N squid-3.5.26/src/mgr/Forwarder.cc squid-3.5.27/src/mgr/Forwarder.cc
--- squid-3.5.26/src/mgr/Forwarder.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/mgr/Forwarder.cc 2017-08-20 06:48:49.000000000 +1200
@@ -102,17 +102,6 @@
mustStop("commClosed");
}
-/// called when Coordinator starts processing the request
-void
-Mgr::Forwarder::handleRemoteAck()
-{
- Ipc::Forwarder::handleRemoteAck();
-
- Must(entry != NULL);
- EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
- entry->complete();
-}
-
/// send error page
void
Mgr::Forwarder::sendError(ErrorState *error)
diff -u -r -N squid-3.5.26/src/mgr/Forwarder.h squid-3.5.27/src/mgr/Forwarder.h
--- squid-3.5.26/src/mgr/Forwarder.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/mgr/Forwarder.h 2017-08-20 06:48:49.000000000 +1200
@@ -40,7 +40,6 @@
virtual void handleError();
virtual void handleTimeout();
virtual void handleException(const std::exception& e);
- virtual void handleRemoteAck();
private:
void noteCommClosed(const CommCloseCbParams& params);
diff -u -r -N squid-3.5.26/src/mgr/Makefile.in squid-3.5.27/src/mgr/Makefile.in
--- squid-3.5.26/src/mgr/Makefile.in 2017-06-02 01:54:42.000000000 +1200
+++ squid-3.5.27/src/mgr/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/parser/Makefile.in squid-3.5.27/src/parser/Makefile.in
--- squid-3.5.26/src/parser/Makefile.in 2017-06-02 01:54:43.000000000 +1200
+++ squid-3.5.27/src/parser/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/repl/Makefile.in squid-3.5.27/src/repl/Makefile.in
--- squid-3.5.26/src/repl/Makefile.in 2017-06-02 01:54:45.000000000 +1200
+++ squid-3.5.27/src/repl/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/servers/FtpServer.cc squid-3.5.27/src/servers/FtpServer.cc
--- squid-3.5.26/src/servers/FtpServer.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/servers/FtpServer.cc 2017-08-20 06:48:49.000000000 +1200
@@ -301,12 +301,8 @@
Must(http != NULL);
HttpRequest *const request = http->request;
Must(request != NULL);
-
- // this is not an idle connection, so we do not want I/O monitoring
- const bool monitor = false;
-
// make FTP peer connection exclusive to our request
- pinConnection(conn, request, conn->getPeer(), false, monitor);
+ pinBusyConnection(conn, request);
}
void
diff -u -r -N squid-3.5.26/src/servers/Makefile.in squid-3.5.27/src/servers/Makefile.in
--- squid-3.5.26/src/servers/Makefile.in 2017-06-02 01:54:46.000000000 +1200
+++ squid-3.5.27/src/servers/Makefile.in 2017-08-20 07:57:01.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/snmp/Makefile.in squid-3.5.27/src/snmp/Makefile.in
--- squid-3.5.26/src/snmp/Makefile.in 2017-06-02 01:54:48.000000000 +1200
+++ squid-3.5.27/src/snmp/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/squid.8.in squid-3.5.27/src/squid.8.in
--- squid-3.5.26/src/squid.8.in 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/squid.8.in 2017-08-20 06:48:49.000000000 +1200
@@ -265,11 +265,11 @@
.SH SEE ALSO
.if !'po4a'hide' .B cachemgr.cgi "(8), "
.if !'po4a'hide' .B squidclient "(1), "
-.if !'po4a'hide' .B pam_auth "(8), "
-.if !'po4a'hide' .B squid_ldap_auth "(8), "
-.if !'po4a'hide' .B squid_ldap_group "(8), "
+.if !'po4a'hide' .B basic_pam_auth "(8), "
+.if !'po4a'hide' .B basic_ldap_auth "(8), "
+.if !'po4a'hide' .B ext_ldap_group_acl "(8), "
.if !'po4a'hide' .B ext_session_acl "(8), "
-.if !'po4a'hide' .B squid_unix_group "(8), "
+.if !'po4a'hide' .B ext_unix_group_acl "(8), "
.br
The Squid FAQ wiki
.if !'po4a'hide' http://wiki.squid-cache.org/SquidFaq
diff -u -r -N squid-3.5.26/src/SquidNew.cc squid-3.5.27/src/SquidNew.cc
--- squid-3.5.26/src/SquidNew.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/SquidNew.cc 2017-08-20 06:48:49.000000000 +1200
@@ -8,29 +8,45 @@
/* DEBUG: none Memory Allocation */
-#define _SQUID_EXTERNNEW_
-
#include "squid.h"
-#ifdef __SUNPRO_CC
+#if !defined(__clang__)
#include
-void *operator new(size_t size) throw (std::bad_alloc)
+
+void *operator new(size_t size)
+{
+ return xmalloc(size);
+}
+void operator delete(void *address)
+{
+ xfree(address);
+}
+void *operator new[](size_t size)
+{
+ return xmalloc(size);
+}
+void operator delete[](void *address)
+{
+ xfree(address);
+}
+
+void *operator new(size_t size, const std::nothrow_t &tag)
{
return xmalloc(size);
}
-void operator delete (void *address) throw()
+void operator delete(void *address, const std::nothrow_t &tag)
{
- xfree (address);
+ xfree(address);
}
-void *operator new[] (size_t size) throw (std::bad_alloc)
+void *operator new[](size_t size, const std::nothrow_t &tag)
{
return xmalloc(size);
}
-void operator delete[] (void *address) throw()
+void operator delete[](void *address, const std::nothrow_t &tag)
{
- xfree (address);
+ xfree(address);
}
-#endif /* __SUNPRO_CC */
+#endif /* !defined(__clang__) */
diff -u -r -N squid-3.5.26/src/ssl/Makefile.in squid-3.5.27/src/ssl/Makefile.in
--- squid-3.5.26/src/ssl/Makefile.in 2017-06-02 01:54:50.000000000 +1200
+++ squid-3.5.27/src/ssl/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/src/ssl/support.cc squid-3.5.27/src/ssl/support.cc
--- squid-3.5.26/src/ssl/support.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/ssl/support.cc 2017-08-20 06:48:49.000000000 +1200
@@ -737,6 +737,7 @@
#if HAVE_OPENSSL_ENGINE_H
if (Config.SSL.ssl_engine) {
+ ENGINE_load_builtin_engines();
ENGINE *e;
if (!(e = ENGINE_by_id(Config.SSL.ssl_engine)))
fatalf("Unable to find SSL engine '%s'\n", Config.SSL.ssl_engine);
diff -u -r -N squid-3.5.26/src/store.cc squid-3.5.27/src/store.cc
--- squid-3.5.26/src/store.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/store.cc 2017-08-20 06:48:49.000000000 +1200
@@ -171,11 +171,18 @@
}
void
-StoreEntry::makePrivate()
+StoreEntry::makePrivate(const bool shareable)
{
/* This object should never be cached at all */
expireNow();
- releaseRequest(); /* delete object when not used */
+ releaseRequest(shareable); /* delete object when not used */
+}
+
+void
+StoreEntry::clearPrivate()
+{
+ EBIT_CLR(flags, KEY_PRIVATE);
+ shareableWhenPrivate = false;
}
void
@@ -365,7 +372,8 @@
ping_status(PING_NONE),
store_status(STORE_PENDING),
swap_status(SWAPOUT_NONE),
- lock_count(0)
+ lock_count(0),
+ shareableWhenPrivate(false)
{
debugs(20, 5, "StoreEntry constructed, this=" << this);
}
@@ -504,14 +512,14 @@
}
void
-StoreEntry::releaseRequest()
+StoreEntry::releaseRequest(const bool shareable)
{
if (EBIT_TEST(flags, RELEASE_REQUEST))
return;
setReleaseFlag(); // makes validToSend() false, preventing future hits
- setPrivateKey();
+ setPrivateKey(shareable);
}
int
@@ -623,12 +631,16 @@
* concept'.
*/
void
-StoreEntry::setPrivateKey()
+StoreEntry::setPrivateKey(const bool shareable)
{
const cache_key *newkey;
- if (key && EBIT_TEST(flags, KEY_PRIVATE))
- return; /* is already private */
+ if (key && EBIT_TEST(flags, KEY_PRIVATE)) {
+ // The entry is already private, but it may be still shareable.
+ if (!shareable)
+ shareableWhenPrivate = false;
+ return;
+ }
if (key) {
setReleaseFlag(); // will markForUnlink(); all caches/workers will know
@@ -649,6 +661,7 @@
assert(hash_lookup(store_table, newkey) == NULL);
EBIT_SET(flags, KEY_PRIVATE);
+ shareableWhenPrivate = shareable;
hashInsert(newkey);
}
@@ -705,14 +718,17 @@
if (StoreEntry *e2 = (StoreEntry *)hash_lookup(store_table, newkey)) {
assert(e2 != this);
debugs(20, 3, "Making old " << *e2 << " private.");
- e2->setPrivateKey();
- e2->release();
+
+ // TODO: check whether there is any sense in keeping old entry
+ // shareable here. Leaving it non-shareable for now.
+ e2->setPrivateKey(false);
+ e2->release(false);
}
if (key)
hashDelete();
- EBIT_CLR(flags, KEY_PRIVATE);
+ clearPrivate();
hashInsert(newkey);
@@ -830,7 +846,7 @@
e->lock("storeCreateEntry");
if (neighbors_do_private_keys || !flags.hierarchical)
- e->setPrivateKey();
+ e->setPrivateKey(false);
else
e->setPublicKey();
@@ -1264,7 +1280,7 @@
/* release an object from a cache */
void
-StoreEntry::release()
+StoreEntry::release(const bool shareable)
{
PROF_start(storeRelease);
debugs(20, 3, "releasing " << *this << ' ' << getMD5Text());
@@ -1274,7 +1290,7 @@
if (locked()) {
expireNow();
debugs(20, 3, "storeRelease: Only setting RELEASE_REQUEST bit");
- releaseRequest();
+ releaseRequest(shareable);
PROF_stop(storeRelease);
return;
}
@@ -1282,7 +1298,7 @@
Store::Root().memoryUnlink(*this);
if (StoreController::store_dirs_rebuilding && swap_filen > -1) {
- setPrivateKey();
+ setPrivateKey(shareable);
if (swap_filen > -1) {
// lock the entry until rebuilding is done
@@ -2181,7 +2197,11 @@
if (EBIT_TEST(e.flags, REFRESH_REQUEST)) os << 'F';
if (EBIT_TEST(e.flags, ENTRY_REVALIDATE_STALE)) os << 'E';
if (EBIT_TEST(e.flags, ENTRY_DISPATCHED)) os << 'D';
- if (EBIT_TEST(e.flags, KEY_PRIVATE)) os << 'I';
+ if (EBIT_TEST(e.flags, KEY_PRIVATE)) {
+ os << 'I';
+ if (e.shareableWhenPrivate)
+ os << 'H';
+ }
if (EBIT_TEST(e.flags, ENTRY_FWD_HDR_WAIT)) os << 'W';
if (EBIT_TEST(e.flags, ENTRY_NEGCACHED)) os << 'N';
if (EBIT_TEST(e.flags, ENTRY_VALIDATED)) os << 'V';
diff -u -r -N squid-3.5.26/src/Store.h squid-3.5.27/src/Store.h
--- squid-3.5.26/src/Store.h 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/Store.h 2017-08-20 06:48:49.000000000 +1200
@@ -95,15 +95,19 @@
void abort();
void unlink();
void makePublic(const KeyScope keyScope = ksDefault);
- void makePrivate();
+ void makePrivate(const bool shareable);
+ /// A low-level method just resetting "private key" flags.
+ /// To avoid key inconsistency please use forcePublicKey()
+ /// or similar instead.
+ void clearPrivate();
void setPublicKey(const KeyScope keyScope = ksDefault);
/// Resets existing public key to a public key with default scope,
/// releasing the old default-scope entry (if any).
/// Does nothing if the existing public key already has default scope.
void clearPublicKeyScope();
- void setPrivateKey();
+ void setPrivateKey(const bool shareable);
void expireNow();
- void releaseRequest();
+ void releaseRequest(const bool shareable = false);
void negativeCache();
void cacheNegatively(); /** \todo argh, why both? */
void invokeHandlers();
@@ -230,7 +234,13 @@
/// update last reference timestamp and related Store metadata
void touch();
- virtual void release();
+ virtual void release(const bool shareable = false);
+
+ /// May the caller commit to treating this [previously locked]
+ /// entry as a cache hit?
+ bool mayStartHitting() const {
+ return !EBIT_TEST(flags, KEY_PRIVATE) || shareableWhenPrivate;
+ }
#if USE_ADAPTATION
/// call back producer when more buffer space is available
@@ -252,6 +262,13 @@
unsigned short lock_count; /* Assume < 65536! */
+ /// Nobody can find/lock KEY_PRIVATE entries, but some transactions
+ /// (e.g., collapsed requests) find/lock a public entry before it becomes
+ /// private. May such transactions start using the now-private entry
+ /// they previously locked? This member should not affect transactions
+ /// that already started reading from the entry.
+ bool shareableWhenPrivate;
+
#if USE_ADAPTATION
/// producer callback registered with deferProducer
AsyncCall::Pointer deferredProducer;
@@ -259,6 +276,8 @@
bool validLength() const;
bool hasOneOfEtags(const String &reqETags, const bool allowWeakMatch) const;
+
+ friend std::ostream &operator <<(std::ostream &os, const StoreEntry &e);
};
std::ostream &operator <<(std::ostream &os, const StoreEntry &e);
diff -u -r -N squid-3.5.26/src/tests/stub_client_side.cc squid-3.5.27/src/tests/stub_client_side.cc
--- squid-3.5.26/src/tests/stub_client_side.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/tests/stub_client_side.cc 2017-08-20 06:48:49.000000000 +1200
@@ -60,7 +60,8 @@
void ConnStateData::noteBodyConsumerAborted(BodyPipe::Pointer) STUB
bool ConnStateData::handleReadData() STUB_RETVAL(false)
bool ConnStateData::handleRequestBodyData() STUB_RETVAL(false)
-void ConnStateData::pinConnection(const Comm::ConnectionPointer &pinServerConn, HttpRequest *request, CachePeer *peer, bool auth, bool monitor) STUB
+void ConnStateData::pinBusyConnection(const Comm::ConnectionPointer &, const HttpRequest::Pointer &) STUB
+void ConnStateData::notePinnedConnectionBecameIdle(PinnedIdleContext) STUB
void ConnStateData::unpinConnection(const bool andClose) STUB
const Comm::ConnectionPointer ConnStateData::validatePinnedConnection(HttpRequest *request, const CachePeer *peer) STUB_RETVAL(NULL)
void ConnStateData::clientPinnedConnectionClosed(const CommCloseCbParams &io) STUB
@@ -70,7 +71,7 @@
void ConnStateData::swanSong() STUB
void ConnStateData::quitAfterError(HttpRequest *request) STUB
#if USE_OPENSSL
-void ConnStateData::httpsPeeked(Comm::ConnectionPointer serverConnection) STUB
+void ConnStateData::httpsPeeked(PinnedIdleContext) STUB
void ConnStateData::getSslContextStart() STUB
void ConnStateData::getSslContextDone(SSL_CTX * sslContext, bool isNew) STUB
void ConnStateData::sslCrtdHandleReplyWrapper(void *data, const Helper::Reply &reply) STUB
diff -u -r -N squid-3.5.26/src/tests/stub_libmgr.cc squid-3.5.27/src/tests/stub_libmgr.cc
--- squid-3.5.26/src/tests/stub_libmgr.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/tests/stub_libmgr.cc 2017-08-20 06:48:49.000000000 +1200
@@ -100,7 +100,6 @@
void Mgr::Forwarder::handleError() STUB
void Mgr::Forwarder::handleTimeout() STUB
void Mgr::Forwarder::handleException(const std::exception& e) STUB
-void Mgr::Forwarder::handleRemoteAck() STUB
#include "mgr/FunAction.h"
Mgr::Action::Pointer Mgr::FunAction::Create(const CommandPointer &cmd, OBJH *aHandler) STUB_RETVAL(dummyAction)
diff -u -r -N squid-3.5.26/src/tests/stub_store.cc squid-3.5.27/src/tests/stub_store.cc
--- squid-3.5.26/src/tests/stub_store.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/tests/stub_store.cc 2017-08-20 06:48:49.000000000 +1200
@@ -43,11 +43,11 @@
void StoreEntry::abort() STUB
void StoreEntry::unlink() STUB
void StoreEntry::makePublic(const KeyScope keyScope) STUB
-void StoreEntry::makePrivate() STUB
+void StoreEntry::makePrivate(const bool shareable) STUB
void StoreEntry::setPublicKey(const KeyScope keyScope) STUB
-void StoreEntry::setPrivateKey() STUB
+void StoreEntry::setPrivateKey(const bool shareable) STUB
void StoreEntry::expireNow() STUB
-void StoreEntry::releaseRequest() STUB
+void StoreEntry::releaseRequest(const bool shareable) STUB
void StoreEntry::negativeCache() STUB
void StoreEntry::cacheNegatively() STUB
void StoreEntry::purgeMem() STUB
@@ -99,7 +99,7 @@
int64_t StoreEntry::contentLen() const STUB_RETVAL(0)
void StoreEntry::lock(const char *) STUB
void StoreEntry::touch() STUB
-void StoreEntry::release() STUB
+void StoreEntry::release(const bool shareable) STUB
NullStoreEntry *NullStoreEntry::getInstance() STUB_RETVAL(NULL)
const char *NullStoreEntry::getMD5Text() const STUB_RETVAL(NULL)
diff -u -r -N squid-3.5.26/src/tests/testStoreController.cc squid-3.5.27/src/tests/testStoreController.cc
--- squid-3.5.26/src/tests/testStoreController.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/tests/testStoreController.cc 2017-08-20 06:48:49.000000000 +1200
@@ -116,7 +116,7 @@
e->lastModified(squid_curtime);
e->refcount = 1;
EBIT_CLR(e->flags, RELEASE_REQUEST);
- EBIT_CLR(e->flags, KEY_PRIVATE);
+ e->clearPrivate();
e->ping_status = PING_NONE;
EBIT_CLR(e->flags, ENTRY_VALIDATED);
e->hashInsert((const cache_key *)name.termedBuf()); /* do it after we clear KEY_PRIVATE */
diff -u -r -N squid-3.5.26/src/tests/testStoreHashIndex.cc squid-3.5.27/src/tests/testStoreHashIndex.cc
--- squid-3.5.26/src/tests/testStoreHashIndex.cc 2017-06-02 01:49:00.000000000 +1200
+++ squid-3.5.27/src/tests/testStoreHashIndex.cc 2017-08-20 06:48:49.000000000 +1200
@@ -97,7 +97,7 @@
e->lastModified(squid_curtime);
e->refcount = 1;
EBIT_CLR(e->flags, RELEASE_REQUEST);
- EBIT_CLR(e->flags, KEY_PRIVATE);
+ e->clearPrivate();
e->ping_status = PING_NONE;
EBIT_CLR(e->flags, ENTRY_VALIDATED);
e->hashInsert((const cache_key *)name.termedBuf()); /* do it after we clear KEY_PRIVATE */
diff -u -r -N squid-3.5.26/test-suite/Makefile.in squid-3.5.27/test-suite/Makefile.in
--- squid-3.5.26/test-suite/Makefile.in 2017-06-02 01:54:51.000000000 +1200
+++ squid-3.5.27/test-suite/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/tools/Makefile.in squid-3.5.27/tools/Makefile.in
--- squid-3.5.26/tools/Makefile.in 2017-06-02 01:54:53.000000000 +1200
+++ squid-3.5.27/tools/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/tools/purge/Makefile.in squid-3.5.27/tools/purge/Makefile.in
--- squid-3.5.26/tools/purge/Makefile.in 2017-06-02 01:54:54.000000000 +1200
+++ squid-3.5.27/tools/purge/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/tools/squidclient/Makefile.in squid-3.5.27/tools/squidclient/Makefile.in
--- squid-3.5.26/tools/squidclient/Makefile.in 2017-06-02 01:54:55.000000000 +1200
+++ squid-3.5.27/tools/squidclient/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/tools/systemd/Makefile.in squid-3.5.27/tools/systemd/Makefile.in
--- squid-3.5.26/tools/systemd/Makefile.in 2017-06-02 01:54:57.000000000 +1200
+++ squid-3.5.27/tools/systemd/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff -u -r -N squid-3.5.26/tools/sysvinit/Makefile.in squid-3.5.27/tools/sysvinit/Makefile.in
--- squid-3.5.26/tools/sysvinit/Makefile.in 2017-06-02 01:54:57.000000000 +1200
+++ squid-3.5.27/tools/sysvinit/Makefile.in 2017-08-20 07:57:02.000000000 +1200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,