From: Amos Jeffries Date: Sat, 1 Jun 2013 13:28:13 +0000 (-0600) Subject: Release Notes: initial details for Store-ID and Annotations X-Git-Tag: SQUID_3_4_0_1~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff15017a870c2af40d8563d371055d8241e0de02;p=thirdparty%2Fsquid.git Release Notes: initial details for Store-ID and Annotations --- diff --git a/doc/release-notes/release-3.4.sgml b/doc/release-notes/release-3.4.sgml index 2c48e82490..bc464dbdbf 100644 --- a/doc/release-notes/release-3.4.sgml +++ b/doc/release-notes/release-3.4.sgml @@ -40,7 +40,9 @@ The 3.4 change history can be . + +

This feature is a redesigned equivalent to the Squid-2.7 feature known as StoreURL-rewrite. + +

Notice that this is not a direct portage of the Squid-2.7 feature so behaviour + differences do exist. Although the new feature works in similar enough ways that the old + helper scripts used for Squid-2.7 are expected to work in this and later versions of Squid. + +

Squid traditionally uses the requested URL as an index key ID to locate objects in cache. + It is not the only key possible and the Store-ID feature exposes an API for external + helpers to provide Squid with an alternative key name for any URL. + +

When any client request is received which requires a cache lookup the URL is passed to + a helper specified with the store_id_rewrite_program directive to check for + an alternative Store ID. This allows the helper to identify URLs which refer to duplicate + resources and de-duplicate the cache content. store_id_access is provided to + allow ACL-based tuning of which traffic gets sent to the helper and reduce overheads. + +

Once subtle and noteworthy difference between Squid-2 and Squid-3 which is highlighted by + this feature is that refresh_pattern applies its regex argument against the Store + ID key and not the transaction URL. So using the Store-ID feature to alter the value + affects which refresh_pattern directive will be matched. + + TPROXY Support for OpenBSD 5.1+ and FreeBSD 9+

Details at . @@ -114,6 +141,34 @@ Most user-facing changes are reflected in squid.conf (see below). which do not yet support the getsockname() API. These systems require --with-nat-devpf to enable /dev/pf support when using PF firewall. +Transaction Annotations +

Previously the only annotation methods available were ICAP/eCAP HTTP header insertions + or external ACL tag= result code. Each of which had only limited possibilities + for use and little or no correlation. + +

It is now possible to add annotations to a client transaction from several sources: + + Directly from squid.conf using the note directive with + ACL-based selection of which annotation is linked to any + particular transaction. + + By configured helper processes returning a key=value pair. + The key name becomes the annotation name. + + +

Annotations on the transaction can be passed to ICAP services or eCAP modules using the + adaptation_meta directive to send them as headers. + They can also be logged using the %note log format code in custom logs. With + the new helper response syntax changes this means all helper response key=value details + such as URL-rewrite or store-id changes, external ACL tag etc. are now able to be logged. + +

Annotations which are already assigned to a transaction can be checked using an ACL test + of the new note ACL type. This can match a particular note by name and value, + of for any notes with a given name. + +

NOTE: not all helper interfaces are yet enabled to convert key=value into annotations + and the external ACL interface does not yet send annotations to the helper. + Changes to squid.conf since Squid-3.3

@@ -150,9 +205,24 @@ This section gives a thorough account of those changes in three categories: Changes to existing tags

+ access_log +

Configuration syntax extended to support name=value options. + New Syntax: access_log module:place [option ...] [acl ...] +

New option logformat= to specify the logging format name. +

New option buffer-size= to specify how large the log buffer + for this log is to be when buffered_logs is enabled. +

New option on-error= to specify what handling is to be done + if the logging module encounters a non-recoverable error writing logs. + With the value die (the default) Squid halts operation. + With the value drop Squid drops log lines and continue running. + acl

New test type server_cert_fingerprint to match against server SSL certificate fingerprint. +

New test type note to match against transaction annotations + by name and value, or just by name. +

New test type any-of to match if any one of a set of named ACLs. +

New test type all-of to match against all of a set of named ACLs. auth_param

New result code BH to signal helper internal errors