Seems that some KEY_PRIVATE entries were being swapped out. This
caused problems during reload because we now also reload the flags.
An entry would be loaded with e->key == e->url, but KEY_PRIVATE set.
Now we clear KEY_PRIVATE in storeAddDiskRestore(), ignore entries
with KEY_PRIVATE in storeDoRebuildFromDisk(), and don't swap out
KEY_PRIVATE entries from storeCheckSwapable().
- cf.data.pre had disabled all cachemgr passwords
- nuke ENTRY_HTML flag
- set defaults for more things in globals.h
- Added storeComplete() call for bad cachemgr passwords.
- icpProcessMISS needed to have protoDispatch() AFTER storeClientCopy()
because if cachemgr passwd was incorrect, storeComplete() would
get called before storeClientCopy().
- in storeCreateEntry(), set the key before other stuff, notably
call storeReleaseRequest().
- Little more debugging to store.c
- warning if no units present for times or byte sizes
- added defaults to all time_t's in cf.data.pre
- Fixed up connect callbacks to recognize COMM_DNS_ERR and !COMM_OK
- Set FTP_HTTP_HEADER_SENT for ftp
- Initialize neighbors_do_private_keys in globals.c
- Remove opt_no_ipcache
- removed redundant externs from squid.h
- changed more debug_trap's to assert's
- changed over-high-water-mark warning to only report once at
each threshold
wessels [Fri, 20 Jun 1997 06:00:10 +0000 (06:00 +0000)]
- memCopy needs to return a signed value to report errors, so we need
to have 'ssize_t'
- Fixed FTP end-of-transfer confusion
- Rearranged assertions in icpSendMoreData to account for STORE_ABORT
wessels [Wed, 18 Jun 1997 22:15:53 +0000 (22:15 +0000)]
Put storeDeleteBehind() call before storeCopy callback. Apparently
invoking the callback may release the StoreEntry, so either we need
to lock it or do the delete behind first.
wessels [Wed, 18 Jun 1997 09:06:22 +0000 (09:06 +0000)]
remove assertion from store rebuild code. A swap log entry might be
"newer" if we're in a slow rebuild. In that case the swap log entry
should be ignored, assuming the existing entry was added during the
rebuild.
wessels [Wed, 18 Jun 1997 06:19:50 +0000 (06:19 +0000)]
Junk the 'callback_meta' idea
Now use a hash table of callback datas. A callback pointer is added when
the data is created, then callback functions lock and unlock it while
waiting for the operation to complete.
wessels [Wed, 18 Jun 1997 00:04:46 +0000 (00:04 +0000)]
The 'int status' arg of validate callbacks seems unused, nuke it
In storeCleanup(), skip entries which are already validated, or which
are pending for release
Lock/Unlock objects during validation
set RELEASE_REQUEST flag if delaying release because of store rebuild
wessels [Wed, 4 Jun 1997 02:09:45 +0000 (02:09 +0000)]
got a coredump from storeAbort because ping_status == PING_WAITING.
I'm not sure why its bad to abort an object in that state, so that
check has been commented out. Also I don't think its necessary to
set ENTRY_DISPATCHED anymore; there should be other checks in place
for aborted entries. Also changed a bunch of debug_trap()'s to
assertions.
wessels [Wed, 4 Jun 1997 02:08:22 +0000 (02:08 +0000)]
There were a couple of situations where we create new request_t structures
that didn't have the headers buf from the original request. Fix was to
give httpBuildRequestHeader() one fewer argument because the headers
will be attached to the 'orig_request' arg anyway.
wessels [Mon, 2 Jun 1997 07:06:09 +0000 (07:06 +0000)]
- finish moving mem_obj->req_hdr to request->headers.
- Misc debug cleanup
- Changed store_rebuilding/store_validating duality. Now store_rebuilding
is set until validation finishes.
wessels [Sat, 24 May 1997 01:48:06 +0000 (01:48 +0000)]
- the global 'store_rebuilding' is now a boolean. The clean/dirty indication
is associated with the individual swap directories.
- This fixes entries from a clean rebuild getting marked as not VALIDATED.
- storeSwapInCheck() was broken. Moved it back into storeSwapInStart().