Squid 2.7.STABLE2 release notes

Squid Developers

$Id: release.html,v 1.1.2.4 2008/05/31 21:23:33 hno Exp $
This document contains the release notes for version 2.7 of Squid. Squid is a WWW Cache application developed by the Web Caching community.

1. Key changes from squid 2.6

2. Changes to squid.conf

3. Known issues & limitations

4. Windows support

5. Key changes in squid-2.7.STABLE2


1. Key changes from squid 2.6

This section describes the main news since the 2.6 release

2. Changes to squid.conf

This release has a number of changes and additions to squid.conf

2.1 Added directives

acl myportname

new acl matching the incoming port name

authenticate_ip_shortcircuit_ttl
authenticate_ip_shortcircuit_access

controls the new IP based authentication cache.

zph_mode
zph_local
zph_sibling
zph_parent
zph_option

controls the Zero Penalty Hit support

update_headers

optimization to skip updating on-disk headers

logfile_daemon

new log file daemon support

netdb_filename

sas hardcoded to the first cache_dir

storeurl_rewrite_program
storeurl_rewrite_children
storeurl_rewrite_concurrency
storeurl_access

controls the new store URL rewrite functionality

rewrite_access
rewrite

controls the new builtin URL rewrite functionality

max_stale
server_http11
ignore_expect_100

Experimental HTTP/1.1 support knobs

external_refresh_check

new helper to allow custom cache validations in accelerator setups

delay_body_max_size

new way of using delay pools based on response size

ignore_ims_on_miss

optimization mainly targeted for accelerator setups

max_filedescriptors

can now be set runtime. Was previously hardcoded at build time and further limited by ulimit

accept_filter

optimization to avoid waking Squid up until a request has been received

incoming_rate

new tuning knob for high traffic conditions

zero_buffers

tuning knob to disable a new optimization

2.2 Changed directives

cache

Suggested defaults modified

cache_dir

the "read-only" option has been renamed to "no-store" to better reflect the functionality

cache_peer

new multicast-siblings option, enabling multicast ICP sibling relations

new idle=n option to keep a minimum pool of idle connections

new http11 option to enable experimental HTTP/1.1 support

external_acl_type

New %URI format tag

acl

Suggested defaults cleaned up, defines a new "localnet" acl with RFC1918 addresses

new "myportname" acl type matching the http_port name

icp_access

Suggested defaults cleaned up, now requires configuration to use ICP

htcp_access

Suggested defaults cleaned up, now requires configuration to use HTCP

http_access

Suggested defaults cleaned up, using a new "localnet" acl.

http_port

Accelerator mode options cleaned up (accel, defaultsite, vport, vhost and combinations thereof)

new "allow-direct" option

new "act-as-origin" option

new "http11" option (experimental)

new "name=" option

nee "keepalive=" option

https_port

See http_port.

logformat

New format codes: oa (Our outgoing IP address), rp (Request URL-Path), sn (Unique sequence number)

refresh_pattern

Several new options: stale-while-revalidate, ignore-stale-while-revalidate, max-stale, negative-ttl

Suggested defaults adjusted to match the changes in the cache directive.

url_rewrite_program

Future protocol change adding key=value pairs after the requests

forwarded_for

Has several new modes, allowing one to finetune how/if the requesting client IP should be forwarded in X-Forwarded-For

2.3 Removed directives

incoming_icp_average
incoming_http_average
incoming_dns_average
min_icp_poll_cnt
min_dns_poll_cnt
min_http_poll_cnt

the above tuning knobs no longer have any effect and has been removed.

3. Known issues & limitations

There is a few known issues and limitations in this release of Squid

3.1 Known issues

3.2 Known limitations

4. Windows support

This Squid version can run on Windows as a system service using the Cygwin emulation environment, or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.

On Windows 2000 and later the service is configured to use the Windows Service Recovery option restarting automatically after 60 seconds.

4.1 Usage

Some new command line options was added for the Windows service support:

The service installation is made with -i command line switch, it's possible to use -f switch at the same time for specify a different config-file settings for the Squid Service that will be stored on the Windows Registry.

A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed. "Squid" is the default when the switch is not used.

So, to install the service, the syntax is:

squid -i [-f file] [-n name]

Service uninstallation is made with -r command line switch with the appropriate -n switch.

The -k switch family must be used with the appropriate -f and -n switches, so the syntax is:

squid -k command [-f file] -n service-name
where service-name is the name specified with -n options at service install time.

To use the Squid original command line, the new -O switch must be used ONCE, the syntax is:

squid -O cmdline [-n service-name]
If multiple service command line options must be specified, use quote. The -n switch is needed only when a non default service name is in use.

Don't use the "Start parameters" in the Windows 2000/XP/2003 Service applet: they are specific to Windows services functionality and Squid is not designed for understand they.

In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130":

squid -O "-D -u 3130" -n squidsvc

4.2 PSAPI.DLL (Process Status Helper) Considerations

The process status helper functions make it easier for you to obtain information about processes and device drivers running on Microsoft� Windows NT�/Windows� 2000. These functions are available in PSAPI.DLL, which is distributed in the Microsoft� Platform Software Development Kit (SDK). The same information is generally available through the performance data in the registry, but it is more difficult to get to it. PSAPI.DLL is freely redistributable.

PSAPI.DLL is available only on Windows NT, 2000, XP and 2003. The implementation in Squid is aware of this, and try to use it only on the right platform.

On Windows NT PSAPI.DLL can be found as component of many applications, if you need it, you can find it on Windows NT Resource KIT. If you have problem, it can be downloaded from here: http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE

On Windows 2000 and later it is available installing the Windows Support Tools, located on the Support\Tools folder of the installation Windows CD-ROM.

4.3 Registry DNS lookup

On Windows platforms, if no value is specified in the dns_nameservers option on squid.conf or in the /etc/resolv.conf file, the list of DNS name servers are taken from the Windows registry, both static and dynamic DHCP configurations are supported.

4.4 Compatibility Notes

4.5 Known Limitations:

4.6 Using cache manager on Windows:

On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. Some specific configuration could be needed:

IIS 6 (Windows 2003)

On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:

Apache:

On Windows, cachemgr.cgi needs to create a temporary file, so Apache must be instructed to pass the TMP and TEMP Windows environment variables to CGI applications:

ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
<Location /squid/cgi-bin/cachemgr.cgi>
    PassEnv TMP TEMP
    Order allow,deny
    Allow from workstation.example.com
</Location>

5. Key changes in squid-2.7.STABLE2