<!doctype linuxdoc system>
<article>
-<title>Squid 3.2.0.20 release notes</title>
+<title>Squid 3.2.14 release notes</title>
<author>Squid Developers</author>
<abstract>
<sect>Notice
<p>
-The Squid Team are pleased to announce the release of Squid-3.2.0.20 for testing.
+The Squid Team are pleased to announce the release of Squid-3.2.14.
-This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.2/"> or the <url url="http://www.squid-cache.org/Mirrors/http-mirrors.html" name="mirrors">.
+This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.2/"> or the
+ <url url="http://www.squid-cache.org/Download/http-mirrors.html" name="mirrors">.
-While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.
+<p>A large number of the show-stopper bugs have been fixed along with general improvements to the IPv6 support.
+While this release is not fully bug-free we believe it is ready for use in production on many systems.
-We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/BugReporting"> for how to submit a
+<p>We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/BugReporting"> for how to submit a
report with a stack trace.
<sect1>Known issues
<p>
-Although this release is deemed good enough for use in many setups, please note the existence of <url url="http://bugs.squid-cache.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&target_milestone=3.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=bugs.bug_severity&field0-0-0=noop&type0-0-0=noop&value0-0-0=" name="open bugs against Squid-3.2">.
+Although this release is deemed good enough for use in many setups, please note the existence of
+<url url="http://bugs.squid-cache.org/buglist.cgi?query_format=advanced&product=Squid&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&version=3.2" name="open bugs against Squid-3.2">.
<p>Some issues to note as currently known in this release which are not able to be fixed in the 3.2 series are:
<itemize>
<item>TCP logging of access.log does not recover from broken connections well.
+ <item>SSL-Bump not re-wrapping decrypted traffic in CONNECT for peers.
+ <item>Cache Manager reports in txt/plain format even when requested directly via browser.
</itemize>
<p>Currently known issues which only depends on available developer time and may still be resolved in a future 3.2 release are:
DNS lookups to locate alternative DIRECT destinations will not be done.
<p>Known Issue: When non-strict validation fails Squid will relay the request, but can only do
- so safely to the orginal destination IP the client was contacting. The client original
+ so safely to the original destination IP the client was contacting. The client original
destination IP is lost when relaying to peers in a hierarchy. This means the upstream peers
are still at risk of causing same-origin bypass CVE-2009-0801 vulnerability.
Developer time is required to implement safe transit of these requests.
path and parameters as its own command parameters. The <em>concurrency</em> setting already
existing in Squid is used to configure how many child helpers it may run.
-<p>For example, a traditional configration is
+<p>For example, a traditional configuration is
<verb>
url_rewrite_program /your/redirector.sh
url_rewrite_children 5
<p>The on-demand helpers feature allows greater flexibility and resolves this problem by allowing
maximum, initial and idle thresholds to be configured. Squid will start the initial set during
start and reconfigure phases. However over the operational use new helpers up to the maxium will
- be started as load demands. The idle threshold determins how many more helpers to start if the
+ be started as load demands. The idle threshold determines how many more helpers to start if the
currently running set is not enough to handle current request loads.
-<p>For example, a traditional configration is
+<p>For example, a traditional configuration is
<verb>
auth_param ntlm /usr/libexec/squid/ntlm_auth
auth_param ntlm children 200
<sect2>External ACL helpers
<p><itemize>
<item>mswin_check_ad_group - ext_ad_group_acl - Check logged in users Group membership using Active Directory.
- <item>ip_user_check - ext_file_userip_acl - Restrict users to cetain IP addresses, using a text file backend.
+ <item>ip_user_check - ext_file_userip_acl - Restrict users to certain IP addresses, using a text file backend.
<item>squid_kerb_ldap - ext_kerberos_ldap_group_acl - Check logged in Kerberos or NTLM users Group membership using LDAP.
<item>squid_ldap_group - ext_ldap_group_acl - Check logged in users Group membership using LDAP.
<item>mswin_check_lm_group - ext_lm_group_acl - Check logged in users Group membership using LanManager.
<p>The man(8) and man(1) pages bundled with Squid are now provided online for all
versions and beginning with 3.2 they are available in languages other than English (where translated).
-<p>Details in <url url="http://wiki.squid-cache.org/Features/QualityOfService" name="The Squid wiki">
+<p>Details in <url url="http://wiki.squid-cache.org/Translations" name="The Squid wiki">
<p>3.1 began the Internationalization of Squid with the public facing error pages.
This move begins the Localization of the internal administrator facing manuals.
<sect1>Solaris 10 pthreads Support (Experimental)
<p>Automatic detection and use of the pthreads library available from Solaris 10
-<p>The result of this addition means that faster more efficient AUFS cache storage mechanisims
- are now available in Solaris 10.
+<p>The result of this addition means that faster more efficient AUFS cache storage mechanism
+ is now available in Solaris 10.
<p>Support is experimental at this stage due to lack of feedback on the results of enabling it.
We recommend giving AUFS a try for faster disk storage and encourage feedback.
feature support in Squid. This release opens Surrogate support to all reverse proxies.
<p>Reverse proxy requests sent on to the web server include the HTTP header <em>Surrogate-Capabilities:</em>
- specifying the capabilities of the reverse proxy along with an ID which can be used to target reponses with
+ specifying the capabilities of the reverse proxy along with an ID which can be used to target responses with
a <em>Surrogate-Control:</em> HTTP header used instead of the <em>Cache-Control:</em> header.
<p>The default surrogate ID is generated automatically from the Squid site-unique hostname as found by the
automatic detection or manual configuration of <em>visible_hostname</em> although can be configured
separately with the <em>httpd_accel_surrogate_id</em> option.
-<p><em>Security Considerations:</em> Websites sould be careful of accepting any surrogate ID.
+<p><em>Security Considerations:</em> Websites should be careful of accepting any surrogate ID.
Older releases of Squid leak the Surrogate-Control headers to external servers.
This 3.2 series of Squid will now prevent this leakage of its own ID destined responses, however it is possible
and for some uses desirable to receive external reverse-proxies <em>Surrogate-Capabilities:</em> headers.
direct filesystem logging (stdio, daemon) to network logging (syslog, UDP and TCP). The daemon logging
interface allows for a custom helper to be written to process logs in real-time.
-<p>Upgrading: the <em>access_log</em> was previously logged via what is now called the <em>stdio</em> module.
+<p>Upgrading: the <em>access_log</em> and <em>cache_store_log</em> were previously logged via what is
+ now called the <em>stdio</em> module.
This is still supported and used by default if no module is named. For best performance particularly in SMP
environments we recommend the <em>daemon</em> be used. The provided <em>log_file_daemon</em> helper
performs the traditional logging to local filesystem.
logging a single cache.log at relatively high debug levels on a high-traffic system. Or one which is
required to store a long period of access.log and needs to conserve disk space.
-<p>The referer_log and useragent_log directives have been converted to built-in log formats.
- These logs are now created using an access_log line with the format "referrer" or "useragent".
+<p>The <em>referer_log</em> and <em>useragent_log</em> directives have been converted to built-in log formats.
+ These logs are now created using an <em>access_log</em> line with the format "referrer" or "useragent".
They also now log all client requests, if there was no Referer or User-Agent header a dash (-) is logged.
<p>Known Issue: The TCP logging module does not recover from broken connections well.
<p>The cache manager is available under the path prefix /squid-internal-mgr/. For example
the URL http://example/com/squid-internal-mgr/menu will bring up the manager menu. This
means there are some configuration changes required to lock down manager access.
- The <em>manager</em> ACL needs changing to:
+ The <em>manager</em> ACL needs changing. A built-in definition is now used, equivalent
+ to the following regex pattern:
<verb>
- acl manager url_regex -i ^cache_object:// ^https?://[^/]+/squid-internal-mgr/
+ ^(cache_object://|https?://[^/]+/squid-internal-mgr/)
</verb>
<p>The manager prefix /squid-internal-mgr/ with no action attempts to load an optional
cache manager applications as their front page embedding all scripts, accessors or
redirects required for their initial GUI display.
+<p>MGR_INDEX file
+<itemize>
+ <item>should contain a complete HTML page, with optional client-side scripting.
+ <item>must not contain server-side scripting.
+ <item>will have macro substitution performed on it using the same macros as used by the error page templates.
+</itemize>
+
<p>Version 3.2 of the CGI cache manager tool now presents XHR scripted probes to detect
proxies presenting these manager index pagess and provides direct HTTP/HTTPS web links
to those managers.
headers or eCAP options to Squid ICAP requests or eCAP transactions.
<tag>adaptation_send_client_ip</tag>
- <p>Same as depricated icap_send_client_ip
+ <p>Same as deprecated icap_send_client_ip
but applies to both ICAP and eCAP.</p>
<tag>adaptation_send_username</tag>
- <p>Same as depricated icap_send_client_username
+ <p>Same as deprecated icap_send_client_username
but applies to both ICAP and eCAP.</p>
<tag>adaptation_uses_indirect_client</tag>
- <p>Same as depricated icap_uses_indirect_client
+ <p>Same as deprecated icap_uses_indirect_client
but applies to both ICAP and eCAP.</p>
<tag>client_delay_pools</tag>
- <p>New setting for client bandwith limits to specifies the number
+ <p>New setting for client bandwidth limits to specifies the number
of client delay pools used.
<tag>client_delay_initial_bucket_level</tag>
- <p>New setting for client bandwith limits to determine the initial
+ <p>New setting for client bandwidth limits to determine the initial
bucket size as a percentage of max_bucket_size from
client_delay_parameters.
<tag>client_delay_parameters</tag>
- <p>New setting for client bandwith limits to configures client-side
+ <p>New setting for client bandwidth limits to configures client-side
bandwidth limits.
<tag>client_delay_access</tag>
- <p>New setting for client bandwith limits to determines the
+ <p>New setting for client bandwidth limits to determines the
client-side delay pool for the request.
<tag>client_dst_passthru</tag>
New installs, or installs with no logs configured explicitly will use this module by default.
<p>New <em>tcp</em> module to send each log line as text data to a TCP receiver.
<p>New <em>udp</em> module to send each log line as text data to a UDP receiver.
- <p>New format <em>referrer</em> to log with the format prevously used by referer_log directive.
- <p>New format <em>useragent</em> to log with the format prevously used by useragent_log directive.
+ <p>New format <em>referrer</em> to log with the format previously used by referer_log directive.
+ <p>New format <em>useragent</em> to log with the format previously used by useragent_log directive.
- <tag>acl : random, localip, localport</tag>
+ <tag>acl : random, urllogin</tag>
<p>New type <em>random</em>. Pseudo-randomly match requests based on a configured probability.
- <p>Renamed <em>myip</em> to <em>localip</em>. It matches the IP which the client connected to.
- <p>Renamed <em>myport</em> to <em>localport</em>. It matches the port which the client connected to.
- <p>The <em>localip</em>/<em>localport</em> differ from earlier releases where they matched a mix of
- of an invalid IP and port 0, the client destination IP/port or the Squid listening IP/port.
- This definition is now consistent across all modes of traffic received by Squid.
- <p>The <em>manager</em> ACL requires adjustment to cover new cache manager access:
+ <p>Ported <em>urllogin</em> option from Squid 2.7, to match a regex pattern on the URL login field (if any).
+ <p>The <em>manager</em> ACL requires adjustment to cover new cache manager access. So it has now been
+ built-in as a predefined ACL name matching URLs equivalent to the following regular expression:
<verb>
- acl manager url_regex -i ^cache_object:// ^https?://[^/]+/squid-internal-mgr/
+ ^(cache_object://|https?://[^/]+/squid-internal-mgr/)
</verb>
+ squid.conf containing the old manager definition can expect to see ACL type collisions.
<tag>auth_param</tag>
<p>New options for Basic, Digest, NTLM, Negotiate <em>children</em> settings.
- <em>startup=N</em> determins minimum number of helper processes used.
+ <em>startup=N</em> determines minimum number of helper processes used.
<em>idle=N</em> determines how many helper to retain as buffer against sudden traffic loads.
<em>concurrency=N</em> previously called <em>auth_param ... concurrency</em> as a separate option.
<p>Removed Basic, Digest, NTLM, Negotiate <em>auth_param ... concurrency</em> setting option.
<p><em>htcp-*</em> options collapsed into <em>htcp=</em> taking an optional comma-separated list of flags.
The old form is deprecated but still accepted.
+ <tag>cache_store_log</tag>
+ <p>Now uses logging modules. Example: stdio:/file/path
+ see <em>access_log</em> for a list of supported modules and their parameters.
+
<tag>clientside_mark</tag>
<p>New configuration parameter <em>clientside_mark</em>
<p>Allows packets leaving Squid on the client side to be marked with a Netfilter mark value in the same way as the existing clientside_tos feature.
<p><em>%SRCEUI64</em> EUI-64 of clients with SLAAC address.
<p><em>%EXT_LOG</em> log= message returned by previous external ACL calls. An updated version may be returned.
<p><em>%EXT_TAG</em> tag= value returned by previous external ACL calls. Tag may not be altered once set.
- <p><em>children-max=N</em> determins maximum number of helper processes used.
- <p><em>children-startup=N</em> determins minimum number of helper processes used.
+ <p><em>children-max=N</em> determines maximum number of helper processes used.
+ <p><em>children-startup=N</em> determines minimum number of helper processes used.
<p><em>children-idle=N</em> determines how many helper to retain as buffer against sudden traffic loads.
<p>Deprecated <em>children=N</em> in favor of <em>children-max=N</em>.
<tag>refresh_pattern</tag>
<p>New option <em>max-stale=</em> to provide a maximum staleness factor. Squid won't
serve objects more stale than this even if it failed to validate the object.
+ <p>Removed option <em>ignore-no-cache</em>. Its commonly desired behaviour is obsoleted
+ by correct HTTP/1.1 Cache-Control:no-cache handling.
<tag>reply_header_access</tag>
<p>Added support for custom response header names.</p>
<sect1>Removed tags<label id="removedtags">
<p>
<descrip>
+ <tag>chunked_request_body_max_size</tag>
+ <p>Obsolete. Squid is now HTTP/1.1 with support for streaming chunked encoded requests.
+
<tag>dns_v4_fallback</tag>
<p>Obsolete. Replaced by DNS parallel lookups.
<p>Replaced by --enable-eui
<tag>--enable-auth-basic-helpers</tag>
- <p>replaced by <em>--enable-auth-basic</em>.
+ <p>Replaced by <em>--enable-auth-basic</em>.
<tag>--enable-auth-digest-helpers</tag>
- <p>replaced by <em>--enable-auth-digest</em>.
+ <p>Replaced by <em>--enable-auth-digest</em>.
<tag>--enable-auth-negotiate-helpers</tag>
- <p>replaced by <em>--enable-auth-negotiate</em>.
+ <p>Replaced by <em>--enable-auth-negotiate</em>.
<tag>--enable-auth-ntlm-helpers</tag>
- <p>replaced by <em>--enable-auth-ntlm</em>.
+ <p>Replaced by <em>--enable-auth-ntlm</em>.
<tag>--enable-referer-log</tag>
<p>Obsolete.
An external_acl_type helper may be used to bypass authentication if that is suitable.
<tag>cache_peer</tag>
- <p><em>http11</em> Obsolete.
+ <p>Option <em>http11</em> obsolete.
<tag>external_acl_type</tag>
<p>Format tag <em>%{Header}</em> replaced by <em>%>{Header}</em>
<p>Replaced by <em>request_header_access</em> and <em>reply_header_access</em>
<tag>http_port</tag>
- <p><em>no-connection-auth</em> replaced by <em>connection-auth=[on|off]</em>. Default is ON.
- <p><em>transparent</em> option replaced by <em>intercept</em>
- <p><em>http11</em> obsolete.
+ <p>Option <em>no-connection-auth</em> replaced by <em>connection-auth=[on|off]</em>. Default is ON.
+ <p>Option <em>transparent</em> option replaced by <em>intercept</em>
+ <p>Option <em>http11</em> obsolete.
<tag>http_access2</tag>
<p>Replaced by <em>adapted_http_access</em>
<tag>server_http11</tag>
<p>Obsolete.
+ <tag>update_headers</tag>
+ <p>Obsolete. The experimental actions enabled in 2.7 by this option have been integrated as default
+ actions for the <em>rock</em> storage type and memory caches.
+ The configuration option is no longer necessary and has been dropped.
+ NOTE: It is not yet supported by <em>ufs</em>, <em>aufs</em>, or <em>diskd</em> storage.
+
<tag>upgrade_http0.9</tag>
<p>Obsolete.
<sect1>Removed squid.conf options since Squid-2.6
<p>
<descrip>
+ <tag>acl</tag>
+ <p><em>urlgroup</em> type removed. Use <em>myportname</em> type instead.
+
<tag>cache_dir</tag>
<p><em>read-only</em> option replaced by <em>no-store</em>.
+ <tag>http_port</tag>
+ <p><em>urlgroup=</em> removed. Use <em>name=</em> feature instead.
+
+ <tag>zero_buffers</tag>
+ <p>Replaced by native support.
+
</descrip>
<sect1>Removed ./configure options since Squid-2.7
<tag>--disable-kqueue</tag>
<p>Obsolete. Disabled by default.
+ <tag>--without-system-md5</tag>
+ <p>Obsolete. Disabled by default.
+
</descrip>
<sect1>Missing squid.conf options available in Squid-2.7
<p>
<descrip>
- <tag>acl</tag>
- <p><em>urllogin</em> option not yet ported from 2.6
- <p><em>urlgroup</em> option not yet ported from 2.6
-
<tag>broken_vary_encoding</tag>
<p>Not yet ported from 2.6
<tag>external_refresh_check</tag>
<p>Not yet ported from 2.7
- <tag>http_port</tag>
- <p><em>urlgroup=</em> not yet ported from 2.6
-
<tag>ignore_ims_on_miss</tag>
<p>Not yet ported from 2.7
<tag>storeurl_rewrite_program</tag>
<p>Not yet ported from 2.7
- <tag>update_headers</tag>
- <p>Not yet ported from 2.7
-
- <tag>zero_buffers</tag>
- <p>Not yet ported from 2.7
-
</descrip>
-<sect1>Missing ./configure options available in Squid-2.7
+<sect>Copyright
<p>
-<descrip>
- <tag>--without-system-md5</tag>
-
-</descrip>
+Copyright (C) 1996-2018 The Squid Software Foundation and contributors
+<p>
+Squid software is distributed under GPLv2+ license and includes
+contributions from numerous individuals and organizations.
+Please see the COPYING and CONTRIBUTORS files for details.
</article>