OpenBSD 4.3 shares the old FreeBSD behavior of limiting the 'non-standard'
(according to them) in6_addr.s6_* fields to only Kernel-visible.
It is in fact non-RFC usage, becoming standard via common use.
Author: Mark Nottingham <mnot@pobox.com>
Bug #2376: Round-Robin becomes unbalanced when a peer dies and comes back
When a peer goes down and then comes back, its round-robin counters aren't
reset, causing it to get a disproportionate amount of traffic until it "catches
up" with the rest of the peers in the round-robin pool.
If it was down for load-related issues, this has the effect of making it more
likely that it will go down again, because it's temporarily handling the load
of the entire pool.
Normally, this isn't a concern, because the number of requests that it can get
out-of-step is relatively small (bounded to how many requests it can be given
before it is considered down -- is this 10 in all cases, or are there corner
cases?), but in an accelerator case where the origin has a process-based
request-handling model, or back-end processes are CPU-intensive, it is.
This patch resets the counters each time a peer changes state.
Author: Francesco Chemolli <kinkie@squid-cache.org>
Merge Cache Manager Update branch
Overall view of the changes:
- cachemanager is now a singleton
- list of actions is now a Vector (still not ideal, but at least it
preserves layering)
- added object-based action management interface to cachemgr.
old-style c interface is still available (via method overload)
- cachemgr initialization functions have been moved to each modules'
Init call or (where applicable) constructor. This has the effect of
reducing each module's interface, and to get rid of some module
frameworks' extra initialization work
- fixed tests to work with the new framewor (including the creation of
a small stub in tests/)
- added some documentation
What I left off is:
- change the actionslist from a Vector to a sorted linked-list (need
the generic linked-list class first)
Windows port: Fix mswin_check_ad_group build error on MinGW and Cygwin
The w32api currently available on MinGW and Cygwin is not complete, and
lacks the needed AD functions for mswin_check_ad_group.
This add to config.test the check for the availability of the needed functions.
icap_access curently treats AUTH_REQUIRED ACL results as a
false-negative 'fail' result. This is not the desired behavior,
but is not bad enough to be treated as an actual bug at this point.
Henrik Nordstrom [Fri, 11 Jul 2008 19:32:10 +0000 (21:32 +0200)]
Remove the --disable-carp option, keeping the CARP code always compiled in
this configure option was a relic from the time when CARP was very intrusive,
requiring --enable-carp to be compiled and then chainging parent relations.
The current CARP implementaiton is very non-intrusive and by default enabled
(but not active unless used in squid.conf). There isn't really any good reason
to why one should use --disable-carp today.
TestBed: Add master test scripts and some control files
This adds the ./test-builds.sh script which runs over an optional OS
specific control build and a set of layered configurations.
Usage: bash ./test-builds.sh [os-name]
Currently supported OS: debian, ubuntu
A sub-level build script is also added as the main engine of this system.
It takes a pair of control files and attempts a clean build of squid.
Logging as much of the build output as possible for manual oversight.
The component control files are a set of files providing configure options
and environment settings for the build. Their design and use is detailed in:
http://wiki.squid-cache.org/Features/CodeTestBed
Author: Kinkie <gkinkie@gmail.com>
Cleanups: rename List.h to CbDataList.h
include/List.h is in my very humble opinion misleadingly named, as it's
tied to CBDATA semantics and isn't really suited to be used as a generic
container class.
This patch renames the include file to CbDataList.h, and all datatypes
defined there are altered in the same manner.
new utf8 auth_param option to enable UTF-8 translation of the requests
sent to auth helpers. HTTP uses iso-8859-1 in authentication credentials,
but many authentication backends expects UTF-8 as charset.
Note: This does NOT solve the bigger HTTP problem of authentication using
characters outside iso-8859-1, only simlplifies things a bit by allowing
helpers to operate in UTF-8 even when HTTP operates in iso-8859-1.
An alternative would be to add the translation to each helper.
This converts the hard-coded footer section of all error pages to XHTML
or HTML 4.01 Strict compliance. Ready for any improvements done on pages
templates themselves to matche the compliance level.