robertc [Wed, 5 Feb 2003 04:57:15 +0000 (04:57 +0000)]
Summary: Guido's 4th set of windows patches.
Keywords:
Hi,
This is the 4th of some splitted native Windows patches grouped by
functionality.
Native Windows port enhancements:
- Added native Windows support to cachemgr.cc
- Added native Windows support to dnsserver.cc
- On Windows, fork() is not available, so we need to use a workaround in
store_dir.cc for create store directories sequentially
hno [Sat, 1 Feb 2003 20:38:44 +0000 (20:38 +0000)]
Bug #507: Crash after ftpDataWriteCallback
A cbdata fence error when aborting FTP requests caused Squid to segfault
if a FTP PUT request was aborted while Squid was actively sending data
to the FTP server.
It is possible this fence error could also be triggered by other abort
conditions in FTP such as timeouts etc, producing slightly different symptoms.
hno [Sat, 1 Feb 2003 20:36:47 +0000 (20:36 +0000)]
date: 2003/01/31 05:12:53; author: wessels; state: Exp; lines: +2 -0
store_check_cachable_hist.no.non_get is only incremented if
CACHE_ALL_METHODS is defined (which never is). Rather than always
print 0 for non_get in store_check_cachable_stats, let's also
wrap that output in #if CACHE_ALL_METHODS.
hno [Wed, 29 Jan 2003 10:45:20 +0000 (10:45 +0000)]
date: 2003/01/27 17:18:36; author: wessels; state: Exp; lines: +4 -0
increment statCounter.select_time in comm_select(), as we do for
comm_poll(). This requires an otherwise unnecssary call to
getCurrentTime().
robertc [Tue, 28 Jan 2003 08:29:32 +0000 (08:29 +0000)]
Summary: Make aclCheck_t a class (ACLChecklist), and hopefully fix bug 516.
Keywords:
Extract aclCheck_t from structs.h to ACLChecklist.h, and
rename to ACLChecklist.
Add ACLChecklist to the SQUID_sources to have it distributed.
Remove aclCheck_t as a global cbdata, instead use per class
cbdata.
Create constructor and destructors for ACLChecklist.
Remove all aclCheck_t memset's.
Make aclCheckCallback into ACLChecklist::checkCallback.
In clientCheckNoCache, cbdatareference the context before handing off to
aclNBCheck.
In clientCheckNoCacheDone, check that http is still valid before using it.
hno [Mon, 27 Jan 2003 15:36:22 +0000 (15:36 +0000)]
date: 2003/01/27 03:29:37; author: wessels; state: Exp; lines: +1 -0
was missing CD_SIBLING_HIT case when we should have been
incrementing statCounter.cd.times_used.
hno [Mon, 27 Jan 2003 15:08:51 +0000 (15:08 +0000)]
date: 2003/01/21 00:04:10; author: wessels; state: Exp; lines: +0 -1
peer_select_alg_t type is not really used anywhere. No code sets
clientHttpRequest->HierarchyLogEntry->alg and the switch statement
in clientUpdateCounters() does nothing. This patch removes
peer_select_alg_t and HierarchyLogEntry->alg, and changes the switch
statement to use HierarchyLogEntry->code instead.
hno [Mon, 27 Jan 2003 15:06:57 +0000 (15:06 +0000)]
date: 2003/01/21 00:47:51; author: wessels; state: Exp; lines: +2 -1
in clientUpdateHierCounters() CLOSEST_PARENT_MISS and FIRST_PARENT_MISS
are actually ICP-related codes.
date: 2003/01/27 03:29:37; author: wessels; state: Exp; lines: +1 -0
was missing CD_SIBLING_HIT case when we should have been
incrementing statCounter.cd.times_used.
robertc [Fri, 24 Jan 2003 03:59:10 +0000 (03:59 +0000)]
Summary: Bugfixes for store rebuilding and diskd linking
Keywords:
diskd wouldn't link if virtual methods were called from
RebuildState::*. Splitting out the diomsg struct needed by
diskd solves this.
Store rebuilding occasionally calls methods on foreign swapdirs,
we must use the swapdir for that store entry, not our own.
hno [Sat, 18 Jan 2003 22:00:39 +0000 (22:00 +0000)]
Cleanup of last nights changes for dots in hostnames. Now double dots are
rejected rather than cleaned up, and leading dots is also rejected to produce
a conforming experience on all types of DNS resolvers.
Trailing dots is normalized as before, but after append_domain to allow
override of append_domain for top level domains (http://dk./)
hno [Sat, 18 Jan 2003 09:10:37 +0000 (09:10 +0000)]
date: 2003/01/10 17:52:53; author: wessels; state: Exp; lines: +1 -0
added reporting of "Process Data Segment Size via sbrk()" when
sbrk() call exists. According to the sbrk() man page, calling
sbrk(0) returns the end of the data segment. By storing the data
segment offset when Squid starts, we can report the size of the
data segment at any time. This might be a better metric than
getrusage()'s MAX RSS, which, in my experience, is often less than
the process size reported by 'ps' (presumably because some of the
processes memory is swapped to disk). However, initial tests show that
the sbrk() trick reports a value slightly smaller than reported by
'ps'.
date: 2003/01/17 05:21:49; author: wessels; state: Exp; lines: +1 -1
failure_ratio is a ratio, not a percentage. Removed %% from printf.
hno [Thu, 9 Jan 2003 18:45:49 +0000 (18:45 +0000)]
Filter the pipe usage to not unneededly trigger a comm_poll/select
wakeup when there has been I/O already dealt with in this iteration.
(corrected version)
hno [Thu, 9 Jan 2003 18:44:05 +0000 (18:44 +0000)]
revision 1.49
date: 2003/01/08 20:55:46; author: wessels; state: Exp; lines: +12 -7
Some nitpicks and cleanup relating to cache manager helper stats and
user authentication:
- debugging statement in helperStatefulDefer() reported wrong function name
- formatted some comments for 80 columns
- added "program name" to helpeStats() output
- fixed formatting for helperStatefulStats() so columns line up again
- added authentication type (basic/digest/ntml) to cachemgr menu description
- ran gindent
hno [Thu, 9 Jan 2003 18:41:40 +0000 (18:41 +0000)]
date: 2003/01/08 20:55:46; author: wessels; state: Exp; lines: +12 -7
Some nitpicks and cleanup relating to cache manager helper stats and
user authentication:
- debugging statement in helperStatefulDefer() reported wrong function name
- formatted some comments for 80 columns
- added "program name" to helpeStats() output
- fixed formatting for helperStatefulStats() so columns line up again
- added authentication type (basic/digest/ntml) to cachemgr menu description
- ran gindent
hno [Thu, 9 Jan 2003 18:40:40 +0000 (18:40 +0000)]
date: 2003/01/07 20:46:12; author: wessels; state: Exp; lines: +2 -1
alan mccaig <alanmccaig@yahoo.co.uk> discovered a buffer overrun in
'squidclient'. The simple fix is to use strncpy() instead of strcpy()
and make sure the URL buffer is always terminated.
hno [Sat, 4 Jan 2003 08:28:13 +0000 (08:28 +0000)]
Change async-io to use a pipe to signal I/O completetion instead of
relying on rapid polling.
The actual completetion events are still polled. Only the notification
that there is completed events is done via the pipe to have select/poll
react in a timely fashion.