hno [Thu, 27 Dec 2007 22:48:53 +0000 (22:48 +0000)]
Remove the default cache_dir location and the null store type
Many people gets confused by the builtin cache_dir location, thinking
that if there is no cache_dir in squid.conf then there is no on-disk cache.
This removes the builtin default.
By removing the builtin default we can also remove the "null" cache_dir
type whos purpose is only to override the builtin default.
hno [Thu, 27 Dec 2007 21:55:47 +0000 (21:55 +0000)]
netdb_filename directive to specify location of netdb state file
was hardcoded to use the first cache_dir. This moves the default location
to the logs directory and may be overridden at compile time by setting
DEFAULT_NETDB_FILE
hno [Thu, 27 Dec 2007 08:58:19 +0000 (08:58 +0000)]
Bug #2114: cache memory accounting not working well
Use the page allocator statistics to report cache_mem usage
This patch removes the weak attempt in keeping an byte-exact cache_mem usage
counter, instead using the actual allocated size (but excluding overhead).
This is the same accounting method as used in Squid-2 btw..
hno [Sat, 22 Dec 2007 06:50:24 +0000 (06:50 +0000)]
The reply_header_max_size check should not depend on having the whole header read in memory
the point of this check is to avoid a DoS on squid, not really access control,
so it needs to be while verified while reading the request header, not after reading it..
amosjeffries [Thu, 20 Dec 2007 18:19:48 +0000 (18:19 +0000)]
Code cleanup. OO the ASN ACL radix tree data format.
- Drops two macros
- Adds type-safe compile checking on the data format
- Abstracts the size-management away
- Abstracts the data conversion away
- Abstracts memcpy away from the radix management
amosjeffries [Tue, 18 Dec 2007 19:15:34 +0000 (19:15 +0000)]
Update documentation after IPv6
- Adds changelog entries for 3-HEAD
- Updates TODO list for done item
- Updated CREDITS with copyright of Treehouse Networks Ltd code additions
- suggested config update in Quickstart
amosjeffries [Sat, 15 Dec 2007 06:11:41 +0000 (06:11 +0000)]
Import IPv6 support from squid3-ipv6 branch to 3-HEAD.
This patch fully enables squid to handle IPv6 on internally supported
protocols which have IPv6 capability.
see 3.1 Release Notes for full details on the IPv6 changes.
also see squid.conf generated from this point for configuration changes.
TODO: Release-Notes fro 3.1 have yet to be created. The mentioned details
documentation will come in a later patch.
hno [Sat, 15 Dec 2007 02:47:54 +0000 (02:47 +0000)]
Accept some unknown store meta entries without throwing away the rest.
The store meta parser stopped when encountering the first "unknown" entry.
This is bad for extensibility. Should continue parsing what we do know
how to handle.
amosjeffries [Fri, 14 Dec 2007 12:03:25 +0000 (12:03 +0000)]
Import alternate RFC 3495 library functions from squid3-ipv6 branch.
Some OS do not provide RFC 3495 libraries (socket extensions for IPv6).
While these OS are expected to be built with --disable-ipv6 they still need
squid to provide the library methods for IP-neutral code use of IPv4.
TODO: This patch does not contain the autotools configure options to cause
these functions to be built. That will come in the later IPv6-enabling patch
rousskov [Tue, 4 Dec 2007 22:20:22 +0000 (22:20 +0000)]
Set default formatting flags for the debugging stream to "fixed" with a
2-digit precision. This avoids log entries such as
Took 3e-06 seconds (3.5e+03 objects/sec).
This change affects pretty much all debugging output, although most messages
will not change in appearance. Compilation errors are possible. The patch was
posted to squid-dev in August 2007. I do not recall any objections but
apparently I forgot to commit it.
wessels [Tue, 27 Nov 2007 05:20:04 +0000 (05:20 +0000)]
Bug 2096: allow pending cache hits when delay pools not compiled in
For some time now, Squid has marked pending cache hits (a cache hit
when e->store_status != STORE_OK) as LOG_TCP_MISS. This was done
so that pending hits do not bypass delay pools. It had the negative
side effect of generating confusing access.log entries because cache
hits get logged as miss.
With this patch, the behavior is reverted when delay pools are not
compiled in. Pending hits will be logged as some kind of TCP_HIT.
Users of delay pools will just have to live with this logging quirk,
although the "forwarded to" field of access.log can always be used
to see if the request was forwarded (a miss) or not (a hit).
wessels [Thu, 15 Nov 2007 23:47:31 +0000 (23:47 +0000)]
More fixes for recent MD5 mixups
- Changing 'xMD5' function name to 'SquidMD5'
- Changing 'MD5_CTX' typedef to 'SquidMD5_CTX'
- Changing 'MD5_DIGEST_CHARS' define to 'SQUID_MD5_DIGEST_LENGTH'
- Changing 'MD5_DIGEST_LENGTH' define to 'SQUID_MD5_DIGEST_LENGTH'
- Removing messy #ifdef logic in include/md5.h that tries to use
the system libraries if available. We'll always use the Squid MD5
routines.
amosjeffries [Thu, 15 Nov 2007 16:18:04 +0000 (16:18 +0000)]
Fix-fix for MD5.
Pre-compiler only tested on Linux and FreeBSD.
This update amends the previous to allow OS which provide a partial MD5
implementation but do not supply correct buffer size (MD5_DIGEST_* macro)
to build using the squid bundled code.
To evade symbol-clashes the squid code is also updated to use xMD5Init,
xMD5Update, xMD5Final and the code sorts out which version is to be used
at compile time from configure options and available sources.
For MacOS X and other broken OS the sys/types.h must also be included on
behalf of the sys/*.h which need it.
rousskov [Wed, 14 Nov 2007 06:09:23 +0000 (06:09 +0000)]
operator != declared outside of the HttpRequestMethod class results in
operator overloading warnings on some platforms. The operator does not appear
to be required.
amosjeffries [Tue, 13 Nov 2007 06:10:37 +0000 (06:10 +0000)]
Author: Pawel Worach <pawel.worach@gmail.com>
Enable squid to lookup /etc/services for named peer ports.
Here is patch so you can use port names from /etc/services in
squid.conf for cache_peers like so:
cache_peer upstream.example.net parent http-cache icpv2
assumng you have something like this in /etc/services
http-cache 8080/tcp
icpv2 3130/udp
This became needed here where we have the same squid.conf's deployed
across a cluster of reverse proxies and we control originserver
addresses via a hosts file and originserver ports via /etc/services
locally on each node.
amosjeffries [Sun, 11 Nov 2007 09:26:58 +0000 (09:26 +0000)]
Solaris 10 appears to provide MD5 natively
* alter the MD5 logics to perform compile-time tests of
whether the squid internal MD5 is needed.
* OpenSSL implementation primary as before with same configure options
* first backup is to use the OS-provided.
* final backup is to use squid internal code.