This section describes the main news since the 2.6 release
This release has a number of changes and additions to squid.conf
new acl matching the incoming port name
controls the new IP based authentication cache.
controls the Zero Penalty Hit support
optimization to skip updating on-disk headers
new log file daemon support
sas hardcoded to the first cache_dir
controls the new store URL rewrite functionality
controls the new builtin URL rewrite functionality
Experimental HTTP/1.1 support knobs
new helper to allow custom cache validations in accelerator setups
new way of using delay pools based on response size
optimization mainly targeted for accelerator setups
can now be set runtime. Was previously hardcoded at build time and further limited by ulimit
optimization to avoid waking Squid up until a request has been received
new tuning knob for high traffic conditions
tuning knob to disable a new optimization
Suggested defaults modified
the "read-only" option has been renamed to "no-store" to better reflect the functionality
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
New %URI format tag
Suggested defaults cleaned up, defines a new "localnet" acl with RFC1918 addresses
new "myportname" acl type matching the http_port name
Suggested defaults cleaned up, now requires configuration to use ICP
Suggested defaults cleaned up, now requires configuration to use HTCP
Suggested defaults cleaned up, using a new "localnet" acl.
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
See http_port.
New format codes: oa (Our outgoing IP address), rp (Request URL-Path), sn (Unique sequence number)
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.
Future protocol change adding key=value pairs after the requests
Has several new modes, allowing one to finetune how/if the requesting client IP should be forwarded in X-Forwarded-For
the above tuning knobs no longer have any effect and has been removed.
There is a few known issues and limitations in this release of Squid
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.
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-namewhere 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
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.
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.
acl blocklist url_regex -i "c:/squid/etc/blocked1.txt"
redirect_program c:/perl/bin/perl.exe c:/squid/libexec/redir.pl redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd
On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache. Some specific configuration could be needed:
On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:
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>