]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Prep for 4.0.4 and 3.5.13
authorAmos Jeffries <squid3@treenet.co.nz>
Wed, 6 Jan 2016 14:18:40 +0000 (03:18 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 6 Jan 2016 14:18:40 +0000 (03:18 +1300)
ChangeLog
SPONSORS.list
doc/release-notes/release-3.5.sgml
doc/release-notes/release-4.sgml
src/cf.data.pre
src/security/NegotiationHistory.cc
src/security/NegotiationHistory.h

index a013ffd124e3661321841035f70e7a1564d1ffdd..d8cc7bc9ecb5a08f3d74ea6745ee115a8059e227 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Changes to squid-4.0.4 (06 Jan 2016):
+
+       - Support use of Kerberos credentials cache instead of keytab
+       - Support logging of TLS Cryptography Parameters
+       - Support substring matching in Note ACL
+       - ... and some code cleanup and polishing
+       - ... and all fixes from squid 3.5.13
+
 Changes to squid-4.0.3 (28 Nov 2015):
 
        - Bug 4372: missing template files
@@ -8,7 +16,7 @@ Changes to squid-4.0.3 (28 Nov 2015):
        - ext_ldap_group_acl: Allow unlimited LDAP search filter
        - ext_unix_group_acl: Support -r parameter to strip @REALM from usernames
        - ... and much code cleanup and polishing
-       - ... and all fixes from squid 3.5.11
+       - ... and all fixes from squid 3.5.12
 
 Changes to squid-4.0.2 (01 Nov 2015):
 
@@ -47,7 +55,6 @@ Changes to squid-4.0.1 (14 Oct 2015):
        - Replace sslproxy_* directives with tls_outgoing_options
        - Replace GNU atomics and related hacks with C++11 std::atomic
        - Replace external_acl_type format %macros with logformat codes
-       - Support Ephemeral Elliptic Curve Diffie-Hellman (EECDH) key exchange
        - Support Secure ICAP services
        - Support rotate=N option on access_log
        - Support bypass for non-HTTP intercepted traffic (on_unsupported_protocol)
@@ -72,6 +79,18 @@ Changes to squid-4.0.1 (14 Oct 2015):
        - ... and many documentation changes
        - ... and much code cleanup and polishing
 
+Changes to squid-3.5.13 (06 Jan 2016):
+
+       - Bug 4397: DragonFly BSD, POSIX shared memory is implemented as filepath
+       - Bug 4387: Kerberos build errors on Solaris
+       - TLS: Support Ephemeral Elliptic Curve Diffie-Hellman (EECDH) key exchange
+       - TLS: Complete certificate chains using external intermediate certificates
+       - Avoid memory leaks when an X.509 certificate validator is used with SslBump
+       - Fix connection retry and fallback after failed server TLS connections
+       - Fix GnuTLS detection via pkg-config
+       - Fix startup crash with a misconfigured (too-small) shared memory cache
+       - ... and some documentation updates
+
 Changes to squid-3.5.12 (28 Nov 2015):
 
        - Bug 4374: refresh_pattern config parser (%)
index 75bd6dff91d7fb7611dcab46ee3c12f01cea0b4a..7d972aa0b669ad57cab95d863aebcee4f55a6a58 100644 (file)
@@ -2,6 +2,11 @@ The following organizations have supported the Squid Project by providing
 their resources or funding various Squid development activities:
 
 @Squid-4:
+Augur TBBS Pty Limited
+
+       Augur TBBS has funded development work towards HTTP/2 support in
+       Squid-4.
+
 LaunchPad - http://launchpad.net/
 
        Provide Bazaar mirroring services and host the Squid-3+ developer
index 4e47e7a69a535af0e61cefac25f301fd7406ed2a..44522a621936f9425425dac8e6d2d3f24ec8ca8e 100644 (file)
@@ -1,6 +1,6 @@
 <!doctype linuxdoc system>
 <article>
-<title>Squid 3.5.12 release notes</title>
+<title>Squid 3.5.13 release notes</title>
 <author>Squid Developers</author>
 
 <abstract>
@@ -13,7 +13,7 @@ for Applied Network Research and members of the Web Caching community.
 
 <sect>Notice
 <p>
-The Squid Team are pleased to announce the release of Squid-3.5.12.
+The Squid Team are pleased to announce the release of Squid-3.5.13.
 
 This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.5/"> or the
  <url url="http://www.squid-cache.org/Download/http-mirrors.html" name="mirrors">.
@@ -65,6 +65,7 @@ The 3.5 change history can be <url url="http://www.squid-cache.org/Versions/v3/3
        <item>Native FTP Relay
        <item>Receive PROXY protocol, Versions 1 & 2
        <item>Basic authentication MSNT helper changes
+       <item>Elliptic Curve Diffie-Hellman (ECDH) (since 3.5.13)
 </itemize>
 
 Most user-facing changes are reflected in squid.conf (see below).
@@ -235,8 +236,8 @@ Most user-facing changes are reflected in squid.conf (see below).
    the protocol being relayed on the connection.
 
 <p>Squid currently supports receiving HTTP traffic from a client proxy using this protocol.
-   An http_port which has been configured to receive this protocol may only be used to
-   receive traffic from client software sending in this protocol.
+   An <em>http_port</em> which has been configured to receive this protocol may only be used
+   to receive traffic from client software sending in this protocol.
    HTTP traffic without the PROXY header is not accepted on such a port.
 
 <p>The <em>accel</em> and <em>intercept</em> options are still used to identify the HTTP
@@ -288,6 +289,19 @@ Most user-facing changes are reflected in squid.conf (see below).
    is also deprecated. It will be removed in the Squid-3.6 series.
 
 
+<sect1>Elliptic Curve Diffie-Hellman (ECDH)
+<p>All listening port which supported Diffie-Hellman key exchange are now updated
+   to support Elliptic Curve configuration which allows for forward secrecy with
+   better performance than traditional ephemeral Diffie-Hellman.
+
+<p>The http(s)_port <em>dhparams=</em> option is replaced with <em>tls-dh=</em> that
+   takes an optional curve name as well as filename for curve parameters. The new
+   option configured without a curve name uses the traditional ephemeral DH.
+
+<p>A new <em>options=SINGLE_ECDH_USE</em> parameter is added to enable ephemeral
+   key exchanges for Elliptic Curve DH.
+
+
 
 <sect>Changes to squid.conf since Squid-3.4
 <p>
@@ -320,6 +334,10 @@ This section gives a thorough account of those changes in three categories:
        <p>Ported from Squid-2 with no configuration or visible behaviour changes.
            Collapsing of requests is performed across SMP workers.
 
+       <tag>sslproxy_foreign_intermediate_certs</tag>
+       <p>New directive to load intermediate TLS certificates for
+          filling incomplete server certificate chains. Added in 3.5.13.
+
        <tag>ftp_client_idle_timeout</tag>
        <p>New directive controlling how long to wait for an FTP request on a
           client connection to Squid <em>ftp_port</em>.
@@ -392,6 +410,8 @@ This section gives a thorough account of those changes in three categories:
        <p>New types <em>ssl::server_name</em> and <em>ssl::server_name_regex</em>
           to match server name from various sources (CONNECT authority name,
           TLS SNI domain, or X.509 certificate Subject Name).
+       <p>Extended <em>user_cert</em> and <em>ca_cert</em> types to accept
+          numeric OID for certificate attributes.
 
        <tag>auth_param</tag>
        <p>New parameter <em>key_extras</em> to send additional parameters to
@@ -451,10 +471,26 @@ This section gives a thorough account of those changes in three categories:
           Currently supported values are: HTTP, HTTP/1.1, HTTPS, HTTPS/1.1
        <p>New option <em>require-proxy-header</em> to mark ports receiving PROXY
           protocol version 1 or 2 traffic.
+       <p>New <em>options=NO_TICKET</em> parameter to disable TLS tickets
+          extension.
+       <p>New <em>options=SINGLE_ECDH_USE</em> parameter to enable ephemeral
+          ECDH key exchange. Added in 3.5.13.
+       <p>Deprecated <em>dhparams=</em> option. Use <em>tls-dh=</em> instead.
+          The new option allows to optionally specify an elliptic curve for
+          ephemeral ECDH by adding <em>curve-name:</em> in front of the
+          parameter file name. Added in 3.5.13.
 
        <tag>https_port</tag>
        <p><em>protocol=</em> option altered to accept protocol version details.
           Currently supported values are: HTTP, HTTP/1.1, HTTPS, HTTPS/1.1
+       <p>New <em>options=NO_TICKET</em> parameter to disable TLS tickets
+          extension.
+       <p>New <em>options=SINGLE_ECDH_USE</em> parameter to enable ephemeral
+          ECDH key exchange. Added in 3.5.13.
+       <p>Deprecated <em>dhparams=</em> option. Use <em>tls-dh=</em> instead.
+          The new option allows to optionally specify an elliptic curve for
+          ephemeral ECDH by adding <em>curve-name:</em> in front of the
+          parameter file name. Added in 3.5.13.
 
        <tag>logformat</tag>
        <p>New format code <em>%credentials</em> to log the client credentials token.
index a95f57b767a6e7b2b9e9214535291699fd398c5b..72393afa53fc4a2257c6bcafd6148a2fe22ded57 100644 (file)
@@ -46,7 +46,6 @@ The Squid-4 change history can be <url url="http://www.squid-cache.org/Versions/
        <item>SSL support removal
        <item>MSNT-multi-domain helper removal
        <item>Secure ICAP
-       <item>Elliptic Curve Diffie-Hellman (ECDH)
        <item>Improved SMP support
 </itemize>
 
@@ -111,19 +110,6 @@ Most user-facing changes are reflected in squid.conf (see below).
    proxy convention. The old 1344 default for plain ICAP ports has not changed.
 
 
-<sect1>Elliptic Curve Diffie-Hellman (ECDH)
-<p>All listening port which supported Diffie-Hellman key exchange are now updated
-   to support Elliptic Curve configuration which allows for forward secrecy with
-   better performance than traditional ephemeral Diffie-Hellman.
-
-<p>The http(s)_port <em>dhparams=</em> option is replaced with <em>tls-dh=</em> that
-   takes an optional curve name as well as filename for curve parameters. The new
-   option configured without a curve name uses the traditional ephemeral DH.
-
-<p>A new <em>options=SINGLE_ECDH_USE</em> parameter is added to enable ephemeral
-   key exchanges for Elliptic Curve DH.
-
-
 <sect1>Improved SMP support
 <p>Use of C++11 atomic operations instead of GNU atomics allows a wider range of
    operating systems and compilers to build Squid SMP and multi-process features.
@@ -151,7 +137,7 @@ This section gives a thorough account of those changes in three categories:
 <p>
 <descrip>
        <tag>tls_outgoing_options</tag>
-       <p>New tag to define TLS security context options for outgoing
+       <p>New directive to define TLS security context options for outgoing
           connections. For example to HTTPS servers.
 
        <tag>url_rewrite_timeout</tag>
@@ -164,6 +150,9 @@ This section gives a thorough account of those changes in three categories:
 <sect1>Changes to existing tags<label id="modifiedtags">
 <p>
 <descrip>
+       <tag>acl</tag>
+       <p>New <em>-m</em> flag for <em>note</em> ACL to match substrings.
+
        <tag>auth_param</tag>
        <p>New parameter <em>queue-size=</em> to set the maximum number
           of queued requests.
@@ -192,12 +181,6 @@ This section gives a thorough account of those changes in three categories:
        <p>All <em>option=</em> values for SSLv2 configuration or disabling
           have been removed.
        <p>Removed <em>version=</em> option. Use <em>tls-options=</em> instead.
-       <p>New <em>options=SINGLE_ECDH_USE</em> parameter to enable ephemeral
-          ECDH key exchange.
-       <p>Deprecated <em>dhparams=</em> option. Use <em>tls-dh=</em> instead.
-          The new option allows to optionally specify an elliptic curve for
-          ephemeral ECDH by adding <em>curve-name:</em> in front of the
-          parameter file name.
        <p>Manual squid.conf update may be required on upgrade.
        <p>Replaced <em>cafile=</em> with <em>tls-cafile=</em> which takes multiple entries.
        <p>New option <em>tls-no-default-ca</em> replaces <em>sslflags=NO_DEFAULT_CA</em>
@@ -209,12 +192,6 @@ This section gives a thorough account of those changes in three categories:
        <p>All <em>options=</em> values for SSLv2
           configuration or disabling have been removed.
        <p>Removed <em>version=</em> option. Use <em>tls-options=</em> instead.
-       <p>New <em>options=SINGLE_ECDH_USE</em> parameter to enable ephemeral
-          ECDH key exchange.
-       <p>Deprecated <em>dhparams=</em> option. Use <em>tls-dh=</em> instead.
-          The new option allows to optionally specify an elliptic curve for
-          ephemeral ECDH by adding <em>curve-name:</em> in front of the
-          parameter file name.
        <p>Manual squid.conf update may be required on upgrade.
        <p>Replaced <em>cafile=</em> with <em>tls-cafile=</em> which takes multiple entries.
 
@@ -236,7 +213,24 @@ This section gives a thorough account of those changes in three categories:
        <p>New <em>tls-domain=</em> option to verify the server certificate domain.
 
        <tag>logformat</tag>
-       <p>New code <em>%ssl::&lt;cert_errors</em> to display server certificate errors.
+       <p>New code <em>%ssl::&lt;cert_errors</em> to display server
+          certificate errors.
+       <p>New code <em>%ssl::&gt;negotiated_version</em> to display
+          negotiated TLS version of the client connection.
+       <p>New code <em>%ssl::&lt;negotiated_version</em> to display
+          negotiated TLS version of the last server or peer connection.
+       <p>New code <em>%ssl::&gt;received_hello_version</em> to display the
+          TLS version of the Hello message received from TLS client.
+       <p>New code <em>%ssl::&lt;received_hello_version</em> to display the
+          TLS version of the Hello message received from TLS server.
+       <p>New code <em>%ssl::&gt;received_supported_version</em> to display
+          the maximum TLS version supported by the TLS client.
+       <p>New code <em>%ssl::&lt;received_supported_version</em> to display
+          the maximum TLS version supported by the TLS server.
+       <p>New code <em>%ssl::&gt;negotiated_cipher</em> to display the
+          negotiated cipher of the client connection.
+       <p>New code <em>%ssl::&lt;negotiated_cipher</em> to display the
+          negotiated cipher of the last server or peer connection.
 
        <tag>pid_filename</tag>
        <p>Default value now based on squid -n command line parameter.
index 98f9f028c7926e6722a56b0bfa0c1687773fd408..78df090c5f3cfa867f22ae92bb970beff114e26b 100644 (file)
@@ -2596,8 +2596,6 @@ DOC_START
        intermediate certificates. These certificates are not treated
        as trusted root certificates, and any self-signed certificate in
        this file will be ignored.
-
-       This directive may be repeated to load multiple files.
 DOC_END
 
 NAME: sslproxy_cert_sign_hash
index 1e998be0cfb8c7a6aa7902903144a7d2d0f00aa5..3ee071bf4a060edc94c9792cdbace806db392dde 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
 #include "squid.h"
 #include "MemBuf.h"
 #include "security/NegotiationHistory.h"
index 38ef219dc03d902eaf20efa93b6facd828b281fd..9a7dfd78e1aaaf8080c217d14b66f49f18085282 100644 (file)
@@ -1,5 +1,13 @@
-#ifndef SQUID_SRC_SECURITY_NEGOTIATION_HISTORY_H
-#define SQUID_SRC_SECURITY_NEGOTIATION_HISTORY_H
+/*
+ * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
+#ifndef SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H
+#define SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H
 
 #if USE_OPENSSL
 #if HAVE_OPENSSL_SSL_H
@@ -8,6 +16,7 @@
 #endif
 
 namespace Security {
+
 class NegotiationHistory
 {
 public:
@@ -36,5 +45,5 @@ private:
 
 } // namespace Security
 
-#endif /* SQUID_SRC_SECURITY_NEGOTIATION_HISTORY_H */
+#endif /* SQUID_SRC_SECURITY_NEGOTIATIONHISTORY_H */