wessels [Fri, 22 Jan 1999 06:15:35 +0000 (06:15 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
This patch removes the last traces of cache_mem high/low water marks.
Keep hot object store at cache_mem instead of cache_mem_high.
wessels [Fri, 22 Jan 1999 04:13:00 +0000 (04:13 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
* Changed async_io.c and aiops.c to use MemPool pools for their
"request" structures.
* Fix for a odd situation where I/O operations could get stuck in the
queue if there was no new I/O activity. Symptoms seen was: 1. The
shutdown code could trigger some assertions which seemed impossible. 2.
Some times a number of files could be kept open until the next swapout.
* Changed the log message shown when running low on I/O threads, and
also changed logging of this message to only occur if out of threads for
more than one second.
* Moved some aiops.c log messages to lower priorities.
* Removed that special low-priority queue for unlinks. I had some
strange effects from it, and the number of queued unlinks fluctuaded a
bit to much when under heavy load. If store maintaince is a problem then
this should it be corrected at a higher level, and not by delaying the
unlinks.
* Minor preparations for making NUMTHREADS a squid.conf tunable.
* moved memClean later in the shutdown procedure, to allow async-io to
use MemPool..
wessels [Fri, 22 Jan 1999 04:10:32 +0000 (04:10 +0000)]
changed open_disk_fd to store_open_disk_fd.
1) we want to track only STORE files, not necessarily log files. Log files
don't contribute much to disk load.
2) this accounting belongs in the "store filesystem" layer, not
the "fd layer". Mostly motivated by Henrik's addition of
Opening_FD counter in the async code.
wessels [Thu, 21 Jan 1999 02:27:08 +0000 (02:27 +0000)]
Fixed up *Timeout() functions. We might get fooTimeout() called
when the entry has been ENTRY_ABORTED because the abort callback
comes in an event, not immediately. Also, fooTimeout() now uses
fwdFail instead of building its own error page.
wessels [Wed, 20 Jan 1999 05:00:57 +0000 (05:00 +0000)]
From: Tony Finch <fanf@demon.net>
The patch below adds accelerator mode functionality to tcp-banger2. In
this mode it makes requests like
PURGE /path/to/file HTTP/1.0
Host: www.example.com
instead of
PURGE http://www.example.com/path/to/file HTTP/1.0
We use it for keeping our accelerators up-to-date with respect to
customer changes on their sites.
wessels [Wed, 20 Jan 1999 04:55:54 +0000 (04:55 +0000)]
From: Robert Side <rside@aiinc.bc.ca>
Date: Mon, 18 Jan 1999 17:48:00 GMT
To get squid version 2.1.Patch1 to compile and run on SCO Unix Version
3.2v4.2 you need to use this configure line (from a csh like shell)
env LIBS=-lintl ./configure --disable-poll
The env LIBS=-lintl is required so squid can find strftime. Should
configure check for the existence of strftime in the standard
libaries and if it can't find it, check libintl.a on SCO systems?
wessels [Wed, 20 Jan 1999 03:26:32 +0000 (03:26 +0000)]
We had false loop detections because "ee.lbl.gov" matched "ren.ee.lbl.gov".
Added variable (ThisCache2) that has a space prepended to the hostname
so we now search for " ee.lbl.gov".
wessels [Tue, 19 Jan 1999 13:31:42 +0000 (13:31 +0000)]
fwdStateFree will call storeComplete() if the entry is in
STORE_PENDING state. This can happen in the server-side just
chooses to close the server socket without setting up any
sort of failure information (fwdFail).
wessels [Tue, 19 Jan 1999 05:23:32 +0000 (05:23 +0000)]
sigh. Okay, this might work better.
To "decouple" storeAbort calling into the server side (fwdAbort) and
wreaking havoc, lets have the storeAbort callback done as an event,
thus outside of comm_select loop.
Hopefully this means we don't need the gross "flags.delayed_comm_close"
and current_hdl_fd crap.
Also, since we moved the abort callback to an event, we might end up
doing a server read after the entry has been aborted, but before
the event is called. Thus, the server modules need to check
for ENTRY_ABORTED before reading.
this commit also adds some (temp?) debugging to track open
disk FDs
wessels [Fri, 15 Jan 1999 06:15:43 +0000 (06:15 +0000)]
We used to close persistent connections if the number of free
descriptors was less than four times the reservedFD limit. On
small-FD systems, we will never keep a pconn open because reservedFD
is set to numberFD/4.
wessels [Thu, 14 Jan 1999 05:13:38 +0000 (05:13 +0000)]
From: Dancer <dancer@zeor.simegen.com>
It turns out that if you are using an external authenticator, the
username is only logged on _subsequent_ (that is, cached) authentication
hits. If the user's authentication credentials expire from the cache,
their next (initially authenticated) request doesn't log any user info.
I'm pretty sure that this behaviour is unintentional.
Here's a patch:
wessels [Wed, 13 Jan 1999 06:37:41 +0000 (06:37 +0000)]
- removed storeAbort callback-server side argument
- removed _fde->mode, I guess it was a bad idea anyway
- removed recently added ENTRY_ABORTED checks in server modules
- replaced fwdAbort()
- fixed a mem_obj->request == NULL bug when fwdStart() returns
503 service unavailable.
wessels [Tue, 12 Jan 1999 23:22:16 +0000 (23:22 +0000)]
be more flexible in storeComplete(). instead of asserting that store_status
is STORE_PENDING, if its not, assert that the entry was aborted and
there are zero clients.
wessels [Tue, 12 Jan 1999 06:29:41 +0000 (06:29 +0000)]
deleted ERR_CLIENT_ABORT
added ERR_SHUTTING_DOWN
set theOutIcpConnect = -1 when we close that FD
have fwdStart() return ERR_SHUTTING_DOWN if we are shutting down
the cache
wessels [Tue, 12 Jan 1999 05:54:15 +0000 (05:54 +0000)]
This patch fully transforms proxy_auth into a ACL type, allowing both
allow and deny in any order suitable.
Authentication is requested from the user if:
* proxy_auth is used and no valid authentication header is present.
* wrong password is used
* denied by a proxy_auth ACL
A positive sideeffect is that is is also possible to use deny_info on
proxy_auth ACLs to change the message returned. It also fixes the
problem where proxy_auth user wasn't logged if the proxy_auth user info
wasn't cached.
This patch fully replaces my previous attemt.
There is a small collision with one of my other changes in proto.h, but
I assume that you know how to resolve this.