</P>
<P>See
<A HREF="http://www.squid-cache.org/Doc/FAQ/FAQ-6.html#ss6.7">http://www.squid-cache.org/Doc/FAQ/FAQ-6.html#ss6.7</A> for a definition of all log types.</P>
-
<H2><A NAME="s5">5. Windows support</A></H2>
<P>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.</P>
-<P>On Windows 2000 and later the service is configured to use the Windows Service Recovery option
-restarting automatically after 60 seconds.</P>
-
-<H2><A NAME="ss5.1">5.1 Usage</A>
-</H2>
+or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.<BR>
+On Windows 2000 and later the service is configured to use the Windows Service Recovery option
+restarting automatically after 60 seconds.
+<DL>
-<P>Some new command line options was added for the Windows service support:</P>
+<DT><B>Usage</B><DD>
+<P>Some new command line options were added for the Windows service support:<BR></P>
<P>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.</P>
<P>A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed.
<EM>"Squid"</EM> is the default when the switch is not used.</P>
<P>So, to install the service, the syntax is: </P>
-
<P>
<PRE>
squid -i [-f file] [-n name]
squid -O "-D -u 3130" -n squidsvc
</PRE>
</P>
-
-<H2><A NAME="ss5.2">5.2 PSAPI.DLL (Process Status Helper) Considerations</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>PSAPI.DLL (Process Status Helper) Considerations</B><DD>
<P>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
<A HREF="http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE">http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE</A></P>
<P>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.</P>
-
-<H2><A NAME="ss5.3">5.3 Registry DNS lookup</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Registry DNS lookup</B><DD>
<P>On Windows platforms, if no value is specified in the <EM>dns_nameservers</EM> 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.</P>
-
-<H2><A NAME="ss5.4">5.4 Compatibility Notes</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Compatibility Notes</B><DD>
<P>
<UL>
<LI>It's recommended to use '/' char in Squid paths instead of '\'</LI>
<LI>Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid</LI>
-<LI>Include wildcard patterns in squid.conf are NOT supported on Windows</LI>
<LI>When using ACL like 'acl aclname acltype "file"' the file must be in DOS text
format (CR+LF) and the full Windows path must be specified, for example:
<LI>Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported</LI>
</UL>
</P>
-
-<H2><A NAME="ss5.5">5.5 Known Limitations</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Known Limitations</B><DD>
<P>
<UL>
-<LI>DISKD: still needs to be ported</LI>
-<LI>WCCP: cannot work because user space GRE support on Windows is missing</LI>
-<LI>Transparent Proxy: missing Windows non commercial interception driver</LI>
+<LI>Squid features not operational:<BR>
+<UL>
+<LI>DISKD: still needs to be ported<BR></LI>
+<LI>WCCP: cannot work because user space GRE support on Windows is missing<BR></LI>
+<LI>Transparent Proxy: missing Windows non commercial interception driver<BR></LI>
+</UL>
+</LI>
<LI>Some code sections can make blocking calls.</LI>
<LI>Some external helpers may not work.</LI>
<LI>File Descriptors number hard-limited to 2048 when building with MinGW.</LI>
</UL>
</P>
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Building Squid on Windows</B><DD>
+<P>A reasonably recent release of
+<A HREF="http://www.cygwin.com/">Cygwin</A> or
+<A HREF="http://www.mingw.org/">MinGW</A> is needed.<BR>
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.<BR>
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:<BR><BR>
+OpenSSL:
+<A HREF="http://www.slproweb.com/products/Win32OpenSSL.html">Shining Light Productions Win32 OpenSSL</A><BR>
+libcrypt:
+<A HREF="http://sourceforge.net/projects/mingwrep/">MinGW packages repository</A><BR>
+db-1.85:
+<A HREF="http://tinycobol.org/download.html">TinyCOBOL download area</A><BR>
+uudecode:
+<A HREF="http://unxutils.sourceforge.net/">Native Win32 ports of some GNU utilities</A><BR><BR>
+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.<BR>
+<UL>
+<LI>New configure options:<BR>
+<UL>
+<LI>--enable-win32-service<BR></LI>
+</UL>
+</LI>
+<LI>Updated configure options:<BR>
+<UL>
+<LI>--enable-arp-acl<BR></LI>
+<LI>--enable-default-hostsfile<BR></LI>
+</UL>
+</LI>
+<LI>Unsupported configure options:<BR>
+<UL>
+<LI>--enable-coss-aio-ops: On Windows Posix AIO is not available<BR></LI>
+<LI>--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine<BR></LI>
+</UL>
+</LI>
+<LI>Recommended configure minimal options for Windows:<BR>
+<UL>
+<LI>--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none</LI>
+</UL>
+</LI>
+</UL>
+<BR>
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW):
+<UL>
+<LI>Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib<BR></LI>
+<LI>Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl<BR></LI>
+<LI>Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a<BR></LI>
+</UL>
+</P>
-<H2><A NAME="ss5.6">5.6 Using cache manager on Windows</A>
-</H2>
-
-<P>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
-Some specific configuration could be needed:</P>
-
-<H3>IIS 6 (Windows 2003)</H3>
-
-<P>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:</P>
+</DL>
+</P>
<P>
+<DL>
+<DT><B>Using cache manager on Windows:</B><DD>
+<P>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.<BR>
+Some specific configuration could be needed:<BR>
+<UL>
+<LI>IIS 6 (Windows 2003):<BR>
+<UL>
+<LI>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:<BR>
<UL>
<LI>Create a cgi-bin Directory</LI>
<LI>Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS
Extension called <EM>"Squid Cachemgr"</EM>, add the cachemgr.cgi file and set the
extension status to <EM>Allowed</EM></LI>
</UL>
-</P>
-
-<H3>Apache:</H3>
-
-<P>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:
+</LI>
+</UL>
+</LI>
+<LI>Apache:<BR>
+<UL>
+<LI>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:<BR>
<PRE>
ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
<Location /squid/cgi-bin/cachemgr.cgi>
Allow from workstation.example.com
</Location>
</PRE>
+</LI>
+</UL>
+</LI>
+</UL>
+</P>
+</DL>
</P>
-<H2><A NAME="ss5.7">5.7 Changes to squid.conf</A>
+<H2><A NAME="ss5.1">5.1 Changes to squid.conf</A>
</H2>
<P>There have been many changes to Squid's configuration file since Squid-2.6.</P>
</P>
-<H2><A NAME="ss5.8">5.8 Changes to ./configure Options</A>
+<H2><A NAME="ss5.2">5.2 Changes to ./configure Options</A>
</H2>
<P>There have been some changes to Squid's build configuration since Squid-2.6.</P>
<p>The requested object was cached but STALE. The IMS query returned the new content.
</descrip>
<p>See <url url="http://www.squid-cache.org/Doc/FAQ/FAQ-6.html#ss6.7"> for a definition of all log types.
-
<sect>Windows support
-
-<p>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.
-
+<P>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.<newline>
On Windows 2000 and later the service is configured to use the Windows Service Recovery option
restarting automatically after 60 seconds.
+<descrip>
-<sect1>Usage
+<tag>Usage</tag>
-<p>Some new command line options was added for the Windows service support:
+Some new command line options were added for the Windows service support:<newline>
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
So, to install the service, the syntax is:
-<p><verb>squid -i [-f file] [-n name]</verb>
+<verb>squid -i [-f file] [-n name]</verb>
Service uninstallation is made with -r command line switch with the appropriate -n switch.
In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130":
<verb>squid -O "-D -u 3130" -n squidsvc</verb>
+</descrip>
-<sect1>PSAPI.DLL (Process Status Helper) Considerations
+<descrip>
+<tag>PSAPI.DLL (Process Status Helper) Considerations</tag>
-<p>The process status helper functions make it easier for you to obtain information about
+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
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.
+</descrip>
-<sect1>Registry DNS lookup
-
-<p>On Windows platforms, if no value is specified in the <em/dns_nameservers/ option on
+<descrip>
+<tag>Registry DNS lookup</tag>
+On Windows platforms, if no value is specified in the <em/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.
+</descrip>
-<sect1>Compatibility Notes
-<p><itemize>
+<descrip>
+<tag>Compatibility Notes</tag>
+<itemize>
<item>It's recommended to use '/' char in Squid paths instead of '\'
<item>Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid
-<item>Include wildcard patterns in squid.conf are NOT supported on Windows
<item>When using ACL like 'acl aclname acltype "file"' the file must be in DOS text
format (CR+LF) and the full Windows path must be specified, for example:
<item>"Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used
<item>Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported
</itemize>
+</descrip>
-<sect1>Known Limitations
-
-<p><itemize>
-<item>DISKD: still needs to be ported
-<item>WCCP: cannot work because user space GRE support on Windows is missing
-<item>Transparent Proxy: missing Windows non commercial interception driver
+<descrip>
+<tag>Known Limitations</tag>
+<itemize>
+<item>Squid features not operational:<newline>
+<itemize>
+<item>DISKD: still needs to be ported<newline>
+<item>WCCP: cannot work because user space GRE support on Windows is missing<newline>
+<item>Transparent Proxy: missing Windows non commercial interception driver<newline>
+</itemize>
<item>Some code sections can make blocking calls.
<item>Some external helpers may not work.
<item>File Descriptors number hard-limited to 2048 when building with MinGW.
</itemize>
+</descrip>
-<sect1>Using cache manager on Windows
+<descrip>
+<tag>Building Squid on Windows</tag>
+A reasonably recent release of <url url="http://www.cygwin.com/" name="Cygwin"> or <url url="http://www.mingw.org/" name="MinGW"> is needed.<newline>
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.<newline>
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:<newline><newline>
+OpenSSL: <url url="http://www.slproweb.com/products/Win32OpenSSL.html" name="Shining Light Productions Win32 OpenSSL"><newline>
+libcrypt: <url url="http://sourceforge.net/projects/mingwrep/" name="MinGW packages repository"><newline>
+db-1.85: <url url="http://tinycobol.org/download.html" name="TinyCOBOL download area"><newline>
+uudecode: <url url="http://unxutils.sourceforge.net/" name="Native Win32 ports of some GNU utilities"><newline><newline>
+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.<newline>
+<itemize>
+<item>New configure options:<newline>
+<itemize>
+<item>--enable-win32-service<newline>
+</itemize>
+<item>Updated configure options:<newline>
+<itemize>
+<item>--enable-arp-acl<newline>
+<item>--enable-default-hostsfile<newline>
+</itemize>
+<item>Unsupported configure options:<newline>
+<itemize>
+<item>--enable-coss-aio-ops: On Windows Posix AIO is not available<newline>
+<item>--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine<newline>
+</itemize>
+<item>Recommended configure minimal options for Windows:<newline>
+<itemize>
+<item>--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none
+</itemize>
+</itemize>
+<newline>
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW):
+<itemize>
+<item>Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib<newline>
+<item>Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl<newline>
+<item>Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a<newline>
+</itemize>
-<p>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
-Some specific configuration could be needed:
+</descrip>
-<sect2>IIS 6 (Windows 2003)
-<p>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:
-<p><itemize>
+<descrip>
+<tag>Using cache manager on Windows:</tag>
+On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.<newline>
+Some specific configuration could be needed:<newline>
+<itemize>
+<item>IIS 6 (Windows 2003):<newline>
+<itemize>
+<item>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:<newline>
+<itemize>
<item>Create a cgi-bin Directory
<item>Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS
permissions, ASP scripts are not needed. This automatically defines a
Extension called <em/"Squid Cachemgr"/, add the cachemgr.cgi file and set the
extension status to <em/Allowed/
</itemize>
-
-<sect2>Apache:
-<p>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:
+</itemize>
+<item>Apache:<newline>
+<itemize>
+<item>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:<newline>
<verb>
ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
<Location /squid/cgi-bin/cachemgr.cgi>
Allow from workstation.example.com
</Location>
</verb>
+</itemize>
+</itemize>
+</descrip>
<H2><A NAME="s5">5. Windows support</A></H2>
<P>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.</P>
-<P>On Windows 2000 and later the service is configured to use the Windows Service Recovery option
-restarting automatically after 60 seconds.</P>
-
-<H2><A NAME="ss5.1">5.1 Usage</A>
-</H2>
+or can be compiled in Windows native mode using the MinGW + MSYS development environment. Windows NT 4 SP4 and later are supported.<BR>
+On Windows 2000 and later the service is configured to use the Windows Service Recovery option
+restarting automatically after 60 seconds.
+<DL>
-<P>Some new command line options was added for the Windows service support:</P>
+<DT><B>Usage</B><DD>
+<P>Some new command line options were added for the Windows service support:<BR></P>
<P>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.</P>
<P>A new -n switch specify the Windows Service Name, so multiple Squid instance are allowed.
<EM>"Squid"</EM> is the default when the switch is not used.</P>
<P>So, to install the service, the syntax is: </P>
-
<P>
<PRE>
squid -i [-f file] [-n name]
squid -O "-D -u 3130" -n squidsvc
</PRE>
</P>
-
-<H2><A NAME="ss5.2">5.2 PSAPI.DLL (Process Status Helper) Considerations</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>PSAPI.DLL (Process Status Helper) Considerations</B><DD>
<P>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
<A HREF="http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE">http://download.microsoft.com/download/platformsdk/Redist/4.0.1371.1/NT4/EN-US/psinst.EXE</A></P>
<P>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.</P>
-
-<H2><A NAME="ss5.3">5.3 Registry DNS lookup</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Registry DNS lookup</B><DD>
<P>On Windows platforms, if no value is specified in the <EM>dns_nameservers</EM> 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.</P>
-
-<H2><A NAME="ss5.4">5.4 Compatibility Notes</A>
-</H2>
-
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Compatibility Notes</B><DD>
<P>
<UL>
<LI>It's recommended to use '/' char in Squid paths instead of '\'</LI>
<LI>Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid</LI>
-<LI>Include wildcard patterns in squid.conf are NOT supported on Windows</LI>
<LI>When using ACL like 'acl aclname acltype "file"' the file must be in DOS text
format (CR+LF) and the full Windows path must be specified, for example:
<LI>Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported</LI>
</UL>
</P>
-
-<H2><A NAME="ss5.5">5.5 Known Limitations</A>
-</H2>
-
+</DL>
+</P>
<P>
+<DL>
+<DT><B>Known Limitations</B><DD>
+<P>
+<UL>
+<LI>Squid features not operational:<BR>
<UL>
-<LI>DISKD: still needs to be ported</LI>
-<LI>WCCP: cannot work because user space GRE support on Windows is missing</LI>
-<LI>Transparent Proxy: missing Windows non commercial interception driver</LI>
+<LI>DISKD: still needs to be ported<BR></LI>
+<LI>WCCP: cannot work because user space GRE support on Windows is missing<BR></LI>
+<LI>Transparent Proxy: missing Windows non commercial interception driver<BR></LI>
+</UL>
+</LI>
<LI>Some code sections can make blocking calls.</LI>
<LI>Some external helpers may not work.</LI>
<LI>File Descriptors number hard-limited to 2048 when building with MinGW.</LI>
</UL>
</P>
+</DL>
+</P>
+<P>
+<DL>
+<DT><B>Building Squid on Windows</B><DD>
+<P>A reasonably recent release of
+<A HREF="http://www.cygwin.com/">Cygwin</A> or
+<A HREF="http://www.mingw.org/">MinGW</A> is needed.<BR>
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.<BR>
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:<BR><BR>
+OpenSSL:
+<A HREF="http://www.slproweb.com/products/Win32OpenSSL.html">Shining Light Productions Win32 OpenSSL</A><BR>
+libcrypt:
+<A HREF="http://sourceforge.net/projects/mingwrep/">MinGW packages repository</A><BR>
+db-1.85:
+<A HREF="http://tinycobol.org/download.html">TinyCOBOL download area</A><BR>
+uudecode:
+<A HREF="http://unxutils.sourceforge.net/">Native Win32 ports of some GNU utilities</A><BR><BR>
+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.<BR>
+<UL>
+<LI>New configure options:<BR>
+<UL>
+<LI>--enable-win32-service<BR></LI>
+</UL>
+</LI>
+<LI>Updated configure options:<BR>
+<UL>
+<LI>--enable-arp-acl<BR></LI>
+<LI>--enable-default-hostsfile<BR></LI>
+</UL>
+</LI>
+<LI>Unsupported configure options:<BR>
+<UL>
+<LI>--enable-coss-aio-ops: On Windows Posix AIO is not available<BR></LI>
+<LI>--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine<BR></LI>
+</UL>
+</LI>
+<LI>Recommended configure minimal options for Windows:<BR>
+<UL>
+<LI>--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none</LI>
+</UL>
+</LI>
+</UL>
+<BR>
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW):
+<UL>
+<LI>Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib<BR></LI>
+<LI>Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl<BR></LI>
+<LI>Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a<BR></LI>
+</UL>
+</P>
-<H2><A NAME="ss5.6">5.6 Using cache manager on Windows</A>
-</H2>
-
-<P>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
-Some specific configuration could be needed:</P>
-
-<H3>IIS 6 (Windows 2003)</H3>
-
-<P>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:</P>
+</DL>
+</P>
<P>
+<DL>
+<DT><B>Using cache manager on Windows:</B><DD>
+<P>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.<BR>
+Some specific configuration could be needed:<BR>
+<UL>
+<LI>IIS 6 (Windows 2003):<BR>
+<UL>
+<LI>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:<BR>
<UL>
<LI>Create a cgi-bin Directory</LI>
<LI>Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS
Extension called <EM>"Squid Cachemgr"</EM>, add the cachemgr.cgi file and set the
extension status to <EM>Allowed</EM></LI>
</UL>
-</P>
-
-<H3>Apache:</H3>
-
-<P>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:
+</LI>
+</UL>
+</LI>
+<LI>Apache:<BR>
+<UL>
+<LI>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:<BR>
<PRE>
ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
<Location /squid/cgi-bin/cachemgr.cgi>
Allow from workstation.example.com
</Location>
</PRE>
+</LI>
+</UL>
+</LI>
+</UL>
+</P>
+</DL>
</P>
-
-<H2><A NAME="ss5.7">5.7 Changes to squid.conf</A>
+<H2><A NAME="ss5.1">5.1 Changes to squid.conf</A>
</H2>
<P>There have been changes to Squid's configuration file since Squid-3.0.</P>
</P>
-<H2><A NAME="ss5.8">5.8 Changes to ./configure Options</A>
+<H2><A NAME="ss5.2">5.2 Changes to ./configure Options</A>
</H2>
<P>There have been some changes to Squid's build configuration since Squid-3.0.</P>
Details at <url url="http://wiki.squid-cache.org/Translations" named="The Squid wiki">
<sect>Windows support
-
-<p>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.
-
+<P>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.<newline>
On Windows 2000 and later the service is configured to use the Windows Service Recovery option
restarting automatically after 60 seconds.
+<descrip>
-<sect1>Usage
+<tag>Usage</tag>
-<p>Some new command line options was added for the Windows service support:
+Some new command line options were added for the Windows service support:<newline>
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
So, to install the service, the syntax is:
-<p><verb>squid -i [-f file] [-n name]</verb>
+<verb>squid -i [-f file] [-n name]</verb>
Service uninstallation is made with -r command line switch with the appropriate -n switch.
In the following example the command line of the "squidsvc" Squid service is set to "-D -u 3130":
<verb>squid -O "-D -u 3130" -n squidsvc</verb>
+</descrip>
-<sect1>PSAPI.DLL (Process Status Helper) Considerations
+<descrip>
+<tag>PSAPI.DLL (Process Status Helper) Considerations</tag>
-<p>The process status helper functions make it easier for you to obtain information about
+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
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.
+</descrip>
-<sect1>Registry DNS lookup
-
-<p>On Windows platforms, if no value is specified in the <em/dns_nameservers/ option on
+<descrip>
+<tag>Registry DNS lookup</tag>
+On Windows platforms, if no value is specified in the <em/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.
+</descrip>
-<sect1>Compatibility Notes
-<p><itemize>
+<descrip>
+<tag>Compatibility Notes</tag>
+<itemize>
<item>It's recommended to use '/' char in Squid paths instead of '\'
<item>Paths with spaces (like 'C:\Programs Files\Squid) are NOT supported by Squid
-<item>Include wildcard patterns in squid.conf are NOT supported on Windows
<item>When using ACL like 'acl aclname acltype "file"' the file must be in DOS text
format (CR+LF) and the full Windows path must be specified, for example:
<item>"Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used
<item>Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported
</itemize>
+</descrip>
-<sect1>Known Limitations
-
-<p><itemize>
-<item>DISKD: still needs to be ported
-<item>WCCP: cannot work because user space GRE support on Windows is missing
-<item>Transparent Proxy: missing Windows non commercial interception driver
+<descrip>
+<tag>Known Limitations</tag>
+<itemize>
+<item>Squid features not operational:<newline>
+<itemize>
+<item>DISKD: still needs to be ported<newline>
+<item>WCCP: cannot work because user space GRE support on Windows is missing<newline>
+<item>Transparent Proxy: missing Windows non commercial interception driver<newline>
+</itemize>
<item>Some code sections can make blocking calls.
<item>Some external helpers may not work.
<item>File Descriptors number hard-limited to 2048 when building with MinGW.
</itemize>
+</descrip>
-<sect1>Using cache manager on Windows
+<descrip>
+<tag>Building Squid on Windows</tag>
+A reasonably recent release of <url url="http://www.cygwin.com/" name="Cygwin"> or <url url="http://www.mingw.org/" name="MinGW"> is needed.<newline>
+The usage of the Cygwin environment is very similar to other Unix/Linux environments, and -devel version of libraries must be installed.<newline>
+For the MinGW environment, the packages MSYS, MinGW and msysDTK must be installed. Some additional libraries and tools must be downloaded separately:<newline><newline>
+OpenSSL: <url url="http://www.slproweb.com/products/Win32OpenSSL.html" name="Shining Light Productions Win32 OpenSSL"><newline>
+libcrypt: <url url="http://sourceforge.net/projects/mingwrep/" name="MinGW packages repository"><newline>
+db-1.85: <url url="http://tinycobol.org/download.html" name="TinyCOBOL download area"><newline>
+uudecode: <url url="http://unxutils.sourceforge.net/" name="Native Win32 ports of some GNU utilities"><newline><newline>
+When running configure, --disable-wccp and --disable-wccpv2 options should always specified to avoid compile errors.<newline>
+<itemize>
+<item>New configure options:<newline>
+<itemize>
+<item>--enable-win32-service<newline>
+</itemize>
+<item>Updated configure options:<newline>
+<itemize>
+<item>--enable-arp-acl<newline>
+<item>--enable-default-hostsfile<newline>
+</itemize>
+<item>Unsupported configure options:<newline>
+<itemize>
+<item>--enable-coss-aio-ops: On Windows Posix AIO is not available<newline>
+<item>--with-large-files: No suitable build environment is available on both Cygwin and MinGW, but --enable-large-cache-files works fine<newline>
+</itemize>
+<item>Recommended configure minimal options for Windows:<newline>
+<itemize>
+<item>--prefix=c:/squid --disable-wccp --disable-wccpv2 --enable-win32-service --enable-default-hostsfile=none
+</itemize>
+</itemize>
+<newline>
+Before build Squid with SSL support, some operations are needed (in the following example OpenSSL is installed in C:\OpenSSL and MinGW in C:\MinGW):
+<itemize>
+<item>Copy C:\OpenSSL\lib\MinGW content to C:\MinGW\lib<newline>
+<item>Copy C:\OpenSSL\include\openssl content to C:\MinGW\include\openssl<newline>
+<item>Rename C:\MinGW\lib\ssleay32.a to C:\MinGW\lib\libssleay32.a<newline>
+</itemize>
-<p>On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.
-Some specific configuration could be needed:
+</descrip>
-<sect2>IIS 6 (Windows 2003)
-<p>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:
-<p><itemize>
+<descrip>
+<tag>Using cache manager on Windows:</tag>
+On Windows, cache manager (cachemgr.cgi) can be used with Microsoft IIS or Apache.<newline>
+Some specific configuration could be needed:<newline>
+<itemize>
+<item>IIS 6 (Windows 2003):<newline>
+<itemize>
+<item>On IIS 6.0 all CGI extensions are denied by default for security reason, so the following configuration is needed:<newline>
+<itemize>
<item>Create a cgi-bin Directory
<item>Define the cgi-bin IIS Virtual Directory with read and CGI execute IIS
permissions, ASP scripts are not needed. This automatically defines a
Extension called <em/"Squid Cachemgr"/, add the cachemgr.cgi file and set the
extension status to <em/Allowed/
</itemize>
-
-<sect2>Apache:
-<p>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:
+</itemize>
+<item>Apache:<newline>
+<itemize>
+<item>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:<newline>
<verb>
ScriptAlias /squid/cgi-bin/ "c:/squid/libexec/"
<Location /squid/cgi-bin/cachemgr.cgi>
Allow from workstation.example.com
</Location>
</verb>
-
+</itemize>
+</itemize>
+</descrip>
<sect1>Changes to squid.conf