WIN32 Squid Release Notes


Windows Service run mode

When Squid is compiled as a Windows service, the -N command line switch is disabled, and default run mode of Squid is no daemon (=no service) mode, so is possible to run Squid from command line for debug purpose with all command line options available.

On Windows 2000/XP/2003 the service is configured to use the Windows Service Recovery option restarting automatically after 60 seconds.

Usage

The squid -? command gives the following output:

Usage: squid [-dhirsvzCDFRVYX] [-f config-file] [-[au] port] [-k signal] [-n nam
e] [-O CommandLine]
       -a port   Specify HTTP port number (default: 3128).
       -d level  Write debugging to stderr also.
       -f file   Use given config-file instead of
                 c:/squid/etc/squid.conf
       -h        Print help message.
       -i        Installs as a Windows Service (see -n option).
       -k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse
                 Parse configuration file, then send signal to
                 running copy (except -k parse) and exit.
       -n name   Specify Windows Service name to use for service operations
                 default is: SquidNT.
       -r        Removes a Windows Service (see -n option).
       -s        Enable logging to syslog.
       -u port   Specify ICP port number (default: 3130), disable with 0.
       -v        Print version.
       -z        Create swap directories
       -C        Do not catch fatal signals.
       -D        Disable initial DNS tests.
       -F        Don't serve any requests until store is rebuilt.
       -O options
                 Set Windows Service Command line options in Registry.
       -R        Do not set REUSEADDR on port.
       -S        Double-check swap during rebuild.
       -V        Virtual host httpd-accelerator.
       -X        Force full debugging.
       -Y        Only return UDP_HIT or UDP_MISS_NOFETCH during fast reload.

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 is stored on Registry.

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

So the install service syntax is:

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

To start as service is used a "hidden" --ntservice:service-name command line switch, where service-name is the name specified with -n options at service install time.

Service uninstallation is made with -r command line switch plus 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 Squid original command line, the new -O switch must be used ONCE, the sintax 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 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

Example:

squid -O "-D -a 8080" -n squidsvc

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 .NET. The implementation in Squid is aware of this, and try to use it only on the rigth 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.

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.

Awin32 fs module

awin32 is a native WIN32 Async I/O Squid fs module derived from aufs. Configuration in squid.conf is identical to aufs, but You nedd to specify 'awin32' instead 'aufs' as cache type.

Compatibility Notes

Known Limitations:


To report a BUG, e-mail on squidnt@acmeconsulting.it.
The latest version and documentation can be found on http://www.acmeconsulting.it/SquidNT.htm.