hno [Mon, 7 Jan 2008 22:47:08 +0000 (22:47 +0000)]
Bug #2175: Update valgrind support for valgrind-3.3.0
Valgrind memcheck rearranged the names of it's support macros in
version 3.2.0 to better represent the actual function, and now the
old names has been removed starting with version 3.3.0 causing
build a failure if --with-valgrind-debug is used.
this patch updates Squid to use the new valgrind macro names, and
adds a little glue to be compatible with older valgrind versions
hno [Sun, 30 Dec 2007 11:06:30 +0000 (11:06 +0000)]
Random authenticaiton failures when using Digest authentication
The stale= propery of the Digest responses sent by Squid indicated far
too often that the nonce was not stale. Contrary to what the RFC recommends
we should only say that the nonce is not stale when it is a valid nonce but
the response did not compute (invalid user or password). In all other
situations we should say that the nonce is stale even if we haven't
validated the response.
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.