Squid_ The Definitive Guide - Duane Wessels [19]
% ./configure --enable-err-languages="Dutch German French" ...
--enable-default-err-language=lang
This option sets the default value for the error_directory directive. For example, if you want to use Dutch error messages, you can use this ./configure option:
% ./configure --enable-default-err-language=Dutch
You can also set the error_directory directive in squid.conf, as described in Appendix A. English is the default error language if you omit this option.
--with-coss-membuf-size=N
The Cyclic Object Storage System (coss) is an experimental storage scheme for Squid. This option sets the memory buffer size for coss cache directories. Note that in order to use coss, you must specify it as a storage type in the —enable-storeio option.
The argument is given in bytes. The default is 1,048,576 bytes or 1 MB. You can specify a 2-MB buffer like this:
% ./configure --with-coss-membuf-size=2097152
--enable-poll
Unix provides two similar functions that scan open file descriptors for I/O events: select( ) and poll( ). The ./configure script usually does a very good job of figuring out when to use poll( ) over select( ). Use this option if you want to override the ./configure script and force it to use poll( ).
--disable-poll
Similarly, Unix gurus may want to force ./configure to not use poll( ).
--disable-http-violations
By default, Squid can be configured to violate the HTTP protocol specifications. You can use this option to remove the code completely that would violate HTTP.
--enable-ipf-transparent
In Chapter 9, I'll describe how to configure Squid for interception caching. Some operating systems use the IP Filter package to assist with the interception. In these cases you should use this ./configure option. If you enable this option and get compiler errors on the src/client_side.c file, chances are that the IP Filter package isn't actually (or correctly) installed on your system.
--enable-pf-transparent
You may need this option to use HTTP interception on systems that use the PF packet filter. PF is the standard packet filter for OpenBSD and may have been ported to other systems as well. If you enable this option and get compiler errors on the src/client_side.c file, chances are that PF isn't actually installed on your system.
--enable-linux-netfilter
Netfilter is the name of the Linux packet filter for the 2.4 kernel series. Enable this option if you want to use HTTP interception with Linux 2.4 or later.
--disable-ident-lookups
ident is a simple protocol that allows a server to find the username associated with a client's particular TCP connection. If you use this option, the compiler excludes completely the code that performs such lookups. Even if you leave the code enabled at compile time, Squid doesn't make ident lookups unless you configure them in squid.conf.
--disable-internal-dns
The Squid source code includes two different DNS resolution implementations, called internal and external. Internal lookups are the default, but some people prefer the external technique. This option disables the internal functionality and reverts to the older method.
Internal lookups use Squid's own implementation of the DNS protocol. That is, Squid generates raw DNS queries and sends them to a resolver. It retransmits queries that time out, and you can specify any number of resolvers. One of the benefits to this implementation is that Squid gets accurate TTLs for DNS replies.
External lookups use the C library's gethostbyname( ) and gethostbyaddr( ) functions. Since these routines block the process until the answer comes back, they must be called from external, helper processes. Squid uses a pool of external processes to make queries in parallel. The primary drawback to external DNS resolution is that you need more helper processes as Squid's load increases. Another annoyance is that the C library functions don't convey TTLs with the answers, in which case Squid uses a constant value supplied by the positive_dns_ttl directive.
--enable-truncate
The truncate( ) system call