]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
27 years agocompiler
wessels [Thu, 28 May 1998 10:44:01 +0000 (10:44 +0000)] 
compiler

27 years agologic fix
wessels [Thu, 28 May 1998 10:42:28 +0000 (10:42 +0000)] 
logic fix

27 years agoMEM_4K_BUF leak
wessels [Thu, 28 May 1998 10:15:20 +0000 (10:15 +0000)] 
MEM_4K_BUF leak

27 years agomissing newline on debug
wessels [Thu, 28 May 1998 08:50:48 +0000 (08:50 +0000)] 
missing newline on debug

27 years ago- removed ascii headers from reply and request structures
rousskov [Thu, 28 May 1998 04:51:37 +0000 (04:51 +0000)] 
- removed ascii headers from reply and request structures
- added more http headers
- fixed content of entity-headers array
- do not update headers with 304 that are not allowed by HTTP/1.1
- moved routines common for request and replies to HttpMsg.c
- rewrote clientBuildReply* and other client_side functions
  using new header interface
- code cleanup
- do not cut off "; parameter" from "digitized" Content-Type
  http fields
- Added X-Request-URI for persistent connection debugging

27 years agomissing DOC_END
wessels [Thu, 28 May 1998 04:25:58 +0000 (04:25 +0000)] 
missing DOC_END

27 years agocomments
wessels [Thu, 28 May 1998 02:36:26 +0000 (02:36 +0000)] 
comments

27 years agoChanges to comm_*_incoming()
wessels [Thu, 28 May 1998 02:31:31 +0000 (02:31 +0000)] 
Changes to comm_*_incoming()

Now, there is a single comm_incoming() function.  This does NOT use
select/poll.  It just calls the read handlers directly for HTTP
and ICP sockets, and relies on them to properly handle EWOULDBLOCK
and friends.

The rate at which comm_incoming gets called is configurable with
'incoming_min_rate' and 'incoming_max_rate'.   Note, these are
kind of "backwards" (being rates) and they indicate how many
other FD's to process before calling comm_incoming().  When the load
is none or low, we call comm_incoming at the 'min_rate' which defaults
to once every 16 FDs.  During high loads, 'max_rate' takes effect
and the default is every 2nd FD.

Also added a histogram to count how many connections/messages are
processed per call to comm_incoming.  This also percipitated some
StatHist.c changes.

27 years agoforce direct for REQ_LOOPDETECT flag
wessels [Thu, 28 May 1998 00:36:33 +0000 (00:36 +0000)] 
force direct for REQ_LOOPDETECT flag

27 years agowhile loop in icpHandleUdp
wessels [Thu, 28 May 1998 00:36:11 +0000 (00:36 +0000)] 
while loop in icpHandleUdp

27 years agowhile() loop in httpAccept
wessels [Thu, 28 May 1998 00:35:22 +0000 (00:35 +0000)] 
while() loop in httpAccept

27 years agochange 'you've run out of file numbers' condition.
wessels [Thu, 28 May 1998 00:34:57 +0000 (00:34 +0000)] 
change 'you've run out of file numbers' condition.

27 years agoupdate reference_age comments
wessels [Wed, 27 May 1998 22:40:32 +0000 (22:40 +0000)] 
update reference_age comments

27 years ago'check_lru_age' flag of storeCheckExpired() was always called with '1'
wessels [Wed, 27 May 1998 22:15:24 +0000 (22:15 +0000)] 
'check_lru_age' flag of storeCheckExpired() was always called with '1'

27 years ago- added comments for internalStart
rousskov [Wed, 27 May 1998 11:22:50 +0000 (11:22 +0000)] 
- added comments for internalStart

27 years agoupdate
wessels [Wed, 27 May 1998 09:47:38 +0000 (09:47 +0000)] 
update

27 years agoGenerate error for 'squid-internal-*' MISSes
wessels [Wed, 27 May 1998 05:56:19 +0000 (05:56 +0000)] 
Generate error for 'squid-internal-*' MISSes

27 years ago- Do not send only-if-cached cc directive with requests for peer's digests.
rousskov [Wed, 27 May 1998 05:45:32 +0000 (05:45 +0000)] 
- Do not send only-if-cached cc directive with requests for peer's digests.
  It does not allow fetching digests through neighbores.
  We should send only-if-cached when Squid can handle 504 reply correctly.

27 years agostoreTimestampsSet(): don't clobber entry->lastmod. require that
wessels [Wed, 27 May 1998 05:04:13 +0000 (05:04 +0000)] 
storeTimestampsSet(): don't clobber entry->lastmod.  require that
reply->last_modified be > -1 first.

new_StoreEntry(): initialize timestamps to -1

27 years agocomments
wessels [Wed, 27 May 1998 01:12:21 +0000 (01:12 +0000)] 
comments

27 years agoupdate
wessels [Wed, 27 May 1998 01:09:28 +0000 (01:09 +0000)] 
update

27 years agore-fix event spin problems
wessels [Wed, 27 May 1998 01:08:54 +0000 (01:08 +0000)] 
re-fix event spin problems

27 years agoremoved HIERARCHICAL entry flag
wessels [Tue, 26 May 1998 23:37:48 +0000 (23:37 +0000)] 
removed HIERARCHICAL entry flag

27 years agoevent times with 0.0 can "spin" the event queue until it runs
wessels [Tue, 26 May 1998 23:37:23 +0000 (23:37 +0000)] 
event times with 0.0 can "spin" the event queue until it runs
to completion.  require a small, non-zero event time so that
other descriptors get a chance too

27 years agoDeny forwarding loops in accel mode
wessels [Tue, 26 May 1998 22:34:19 +0000 (22:34 +0000)] 
Deny forwarding loops in accel mode

27 years agodont need cast
wessels [Tue, 26 May 1998 22:20:20 +0000 (22:20 +0000)] 
dont need cast

27 years agodon't need HIERARCHICAL StoreEntry->flag any more.
wessels [Tue, 26 May 1998 21:48:26 +0000 (21:48 +0000)] 
don't need HIERARCHICAL StoreEntry->flag any more.

27 years agolog timeouts
wessels [Tue, 26 May 1998 21:30:11 +0000 (21:30 +0000)] 
log timeouts

27 years agodebugging
wessels [Tue, 26 May 1998 21:29:56 +0000 (21:29 +0000)] 
debugging

27 years agoHenrik PUT/POST fix
wessels [Tue, 26 May 1998 21:25:30 +0000 (21:25 +0000)] 
Henrik PUT/POST fix

27 years agoadding
wessels [Tue, 26 May 1998 21:01:17 +0000 (21:01 +0000)] 
adding

27 years agoupdate
wessels [Sun, 24 May 1998 11:09:56 +0000 (11:09 +0000)] 
update

27 years agomissed one use of hash_first()
wessels [Sun, 24 May 1998 10:15:02 +0000 (10:15 +0000)] 
missed one use of hash_first()

27 years agocompiler warning
wessels [Sun, 24 May 1998 09:47:19 +0000 (09:47 +0000)] 
compiler warning

27 years agoChanges to hash_first, hash_next. The **Current idea has bugs, so now
wessels [Sun, 24 May 1998 09:41:06 +0000 (09:41 +0000)] 
Changes to hash_first, hash_next.  The **Current idea has bugs, so now
we keep state with a ->next pointer.  This simplifies the hash.c code
somewhat, but requires an interface change so that hash_first() only
initializes ->next and does not return a value.   Now we always use

while (foo = hash_next(bar))

27 years ago1.2.beta21
wessels [Sat, 23 May 1998 06:09:57 +0000 (06:09 +0000)] 
1.2.beta21

27 years agogindent
wessels [Sat, 23 May 1998 05:43:48 +0000 (05:43 +0000)] 
gindent

27 years agoreport # on-disk objects
wessels [Sat, 23 May 1998 05:42:58 +0000 (05:42 +0000)] 
report # on-disk objects

27 years agogenerate a coredump for running out of swap file numbers
wessels [Sat, 23 May 1998 05:42:12 +0000 (05:42 +0000)] 
generate a coredump for running out of swap file numbers

27 years agoupdate
wessels [Sat, 23 May 1998 05:41:18 +0000 (05:41 +0000)] 
update

27 years agofix filemap warning
wessels [Sat, 23 May 1998 05:28:37 +0000 (05:28 +0000)] 
fix filemap warning

27 years agoPrint Mean object size in 'info' page
wessels [Sat, 23 May 1998 05:14:20 +0000 (05:14 +0000)] 
Print Mean object size in 'info' page

27 years agocompiler
wessels [Sat, 23 May 1998 05:13:44 +0000 (05:13 +0000)] 
compiler

27 years agodont push persistent connections if were low on FDs
wessels [Sat, 23 May 1998 05:07:39 +0000 (05:07 +0000)] 
dont push persistent connections if were low on FDs

27 years agoAdded:
rousskov [Sat, 23 May 1998 04:52:40 +0000 (04:52 +0000)] 
Added:
- Fixed an assertion coredump in statHistCopy from
  reconfiguring with different #peers in squid.conf
- Disable persistent connections for client connections
  from broken Netscape User-Agent, version 3.* (Stewart Forster)

27 years agocomments
wessels [Sat, 23 May 1998 04:38:42 +0000 (04:38 +0000)] 
comments

27 years ago- do not disable client-side pconns for Netscape User-Agent if it is a proxy
rousskov [Sat, 23 May 1998 04:29:59 +0000 (04:29 +0000)] 
- do not disable client-side pconns for Netscape User-Agent if it is a proxy
  connection (not a client connection)

27 years agoFrom: Henrik Nordstrom <hno@hem.passagen.se>
wessels [Sat, 23 May 1998 03:11:47 +0000 (03:11 +0000)] 
From:    Henrik Nordstrom <hno@hem.passagen.se>
==============================================================================
Here is a in large parts reworked patch for async I/O. This replaces all
of my previous async-io patch (which was messy and broken).

    * The read offset was not preserved, corrupting deferred hits on
      pipelined connections.
    * Main <-> I/O thread communication is done using a single request
      pointer, optionally protected by a mutex.
    * CPU spin situation solved in two possible ways: Either by
      properly protecting the condition variable using a mutex, or by
      increasing the timeout-time on each timeout instead of relying on
      squid_curtime.
    * Use a 50 msec select timeout for ASYNC_IO to keep things flowing
      nicely.
    * Check for completed threads when the request queue grows.
      Completed requests are put on a FIFO queue until processed from the
      main loop.  This is done to more quickly reuse of finished
      threads.
    * Fixed a silly bug in my last version of this patch. No idea how
      the last patch could pass my tests...
    * Avoid pointer aliasing. Some compilers/optimisations have trouble
      with this (the old code was probably safe, but..).
    * Some minor code cleanups.
    * This patch is not messed up ;-)
    * Removed compiler warnings
    * No more SIGCONT signal hack or cross-level hints. This was a bad
      move both on performance and code design.
    * Mutex signalling is optional (-DAIO_PROPER_MUTEX). Using a
      volatile pointer should be safe on most/all platforms.

This patch is quite heavily tested, and seems to perform well.

I still haven't found the cause to another async-io problem. When
async-io is enabled Squid only caches about 1/2 of the requests in my
tests. Without async-io everything gets cached as expected. I have
verified that this problem in present in a unpatched b20-1 and is not
caused by this patch or any of the other 1.2b20-1 changes I have made.

27 years agoadding
wessels [Sat, 23 May 1998 03:05:47 +0000 (03:05 +0000)] 
adding

27 years ago- httpMsgIsPersistent() is now checks for both "Mozilla" and "Netscape"
rousskov [Fri, 22 May 1998 11:19:09 +0000 (11:19 +0000)] 
- httpMsgIsPersistent() is now checks for both "Mozilla" and "Netscape"
  agents.

27 years ago- check for user-agent = Mozilla/3.* (i.e., netscape-3.*) and disable pconns
rousskov [Fri, 22 May 1998 11:02:38 +0000 (11:02 +0000)] 
- check for user-agent = Mozilla/3.* (i.e., netscape-3.*) and disable pconns
  for that message.

27 years ago - added "under construction" label for "binary request headers" entry.
rousskov [Fri, 22 May 1998 09:01:40 +0000 (09:01 +0000)] 
 - added "under construction" label for "binary request headers" entry.
   there are still a few places and patches that need attention.

27 years ago- increased CacheDigestVer.
rousskov [Fri, 22 May 1998 08:52:21 +0000 (08:52 +0000)] 
- increased CacheDigestVer.

27 years agoupdate
wessels [Fri, 22 May 1998 08:29:06 +0000 (08:29 +0000)] 
update

27 years agoHandle "squid-internal-static" URLs for any host
wessels [Fri, 22 May 1998 05:14:05 +0000 (05:14 +0000)] 
Handle "squid-internal-static" URLs for any host

27 years agomising msec->sec conversion
wessels [Fri, 22 May 1998 04:39:00 +0000 (04:39 +0000)] 
mising msec->sec conversion

27 years agounits on RTTs
wessels [Fri, 22 May 1998 04:32:17 +0000 (04:32 +0000)] 
units on RTTs

27 years ago - Changed storeGetMemSpace(). Only purge down to the HIGH
wessels [Fri, 22 May 1998 04:23:59 +0000 (04:23 +0000)] 
    - Changed storeGetMemSpace().  Only purge down to the HIGH
          water mark; move locked entries to the head of the inmem
          list.

27 years agoupdate
wessels [Fri, 22 May 1998 04:01:35 +0000 (04:01 +0000)] 
update

27 years agoSSL proxy requests need full HTTP request headers. httpBuildRequest
wessels [Fri, 22 May 1998 04:01:07 +0000 (04:01 +0000)] 
SSL proxy requests need full HTTP request headers.  httpBuildRequest
junk must now be public instead of static to http.c

27 years agoremoved EBIT gunk
wessels [Thu, 21 May 1998 13:05:38 +0000 (13:05 +0000)] 
removed EBIT gunk

27 years agoforce peer lookup at start time
wessels [Thu, 21 May 1998 12:41:55 +0000 (12:41 +0000)] 
force peer lookup at start time

27 years agoremove wierd QUICK_ABORT_100PCT 128 stuff
wessels [Thu, 21 May 1998 10:01:01 +0000 (10:01 +0000)] 
remove wierd QUICK_ABORT_100PCT 128 stuff

27 years agoChanged refresh_t->pct from an int to a double
wessels [Thu, 21 May 1998 09:59:34 +0000 (09:59 +0000)] 
Changed refresh_t->pct from an int to a double

27 years agoremove const from netdbClosestParent()
wessels [Thu, 21 May 1998 09:48:19 +0000 (09:48 +0000)] 
remove const from netdbClosestParent()

27 years agoskip peerRefreshDNS if there is no recent traffic
wessels [Thu, 21 May 1998 09:22:43 +0000 (09:22 +0000)] 
skip peerRefreshDNS if there is no recent traffic

27 years ago- added strListIsSubstr()
rousskov [Thu, 21 May 1998 06:59:07 +0000 (06:59 +0000)] 
- added strListIsSubstr()

27 years ago- fixed loop detection code; we must use strstr instead of strcmp when
rousskov [Thu, 21 May 1998 06:57:35 +0000 (06:57 +0000)] 
- fixed loop detection code; we must use strstr instead of strcmp when
  searching for ThisCache in a Via headers.

27 years agoPrevent forwarding loops from netdbClosestParent()
wessels [Thu, 21 May 1998 06:46:16 +0000 (06:46 +0000)] 
Prevent forwarding loops from netdbClosestParent()

27 years agoadded X-Squid-Error: reply header
wessels [Thu, 21 May 1998 06:01:28 +0000 (06:01 +0000)] 
added X-Squid-Error: reply header

27 years agoDon't cache replies with Vary headers
wessels [Thu, 21 May 1998 05:35:01 +0000 (05:35 +0000)] 
Don't cache replies with Vary headers

27 years agoreplaced fde->flags EBIT stuff with int:1 list
wessels [Thu, 21 May 1998 04:39:44 +0000 (04:39 +0000)] 
replaced fde->flags EBIT stuff with int:1 list

27 years agoChanged struct _fde->flags to int:1 list.
wessels [Thu, 21 May 1998 04:07:08 +0000 (04:07 +0000)] 
Changed struct _fde->flags to int:1 list.

27 years agoFrom: Stewart Forster <slf@connect.com.au>
wessels [Thu, 21 May 1998 03:47:44 +0000 (03:47 +0000)] 
From:    Stewart Forster <slf@connect.com.au>
        This is the final patch that I decided upon that avoids extra system
calls (ie. faster).

        It adds two extra flags, FD_NOLINGER, and FD_NONBLOCKING to allow
for easy testing of these conditions when deciding what to do in comm_close().
It also allows for easy changing of the doaioclose test in the future when
it's decided what actually takes precedence.

27 years agoremove debug
wessels [Thu, 21 May 1998 03:07:30 +0000 (03:07 +0000)] 
remove debug

27 years agoset HTTP request version
wessels [Thu, 21 May 1998 03:06:23 +0000 (03:06 +0000)] 
set HTTP request version

27 years agoFixed matchDomainName array bounds bug -- potentially checking before
wessels [Thu, 21 May 1998 02:46:50 +0000 (02:46 +0000)] 
Fixed matchDomainName array bounds bug -- potentially checking before
the beginning of a string.

27 years agoconfigurable closing of potentially half-closed sockets
wessels [Tue, 19 May 1998 03:14:30 +0000 (03:14 +0000)] 
configurable closing of potentially half-closed sockets

27 years agoxmalloc debug hash bucket macro
wessels [Sat, 16 May 1998 02:50:25 +0000 (02:50 +0000)] 
xmalloc debug hash bucket macro

27 years agohenrik wants more complaints about creating directories
wessels [Sat, 16 May 1998 02:31:41 +0000 (02:31 +0000)] 
henrik wants more complaints about creating directories

27 years agoHenrik:
wessels [Sat, 16 May 1998 02:02:10 +0000 (02:02 +0000)] 
Henrik:
lseek/don't close file for PUT requests

27 years agoHenrik:
wessels [Sat, 16 May 1998 01:55:59 +0000 (01:55 +0000)] 
Henrik:
fix storeClientCopy copy-from-memory condition.   Require that copy_offset
be between LO and HI, not just that LO < HI.

27 years agoHenrik:
wessels [Sat, 16 May 1998 01:15:03 +0000 (01:15 +0000)] 
Henrik:
be verbose when refusing new HTTP connections

27 years agoStew Forster:
wessels [Sat, 16 May 1998 00:57:42 +0000 (00:57 +0000)] 
Stew Forster:
Use close() instead of aioClose() if the socket as NONBLOCK set

27 years agodebugging for objects with open swapout files
wessels [Fri, 15 May 1998 23:16:21 +0000 (23:16 +0000)] 
debugging for objects with open swapout files

27 years ago- Don't need eventDelete() calls because event handlers now use cbdata
wessels [Fri, 15 May 1998 22:58:33 +0000 (22:58 +0000)] 
- Don't need eventDelete() calls because event handlers now use cbdata
- Don't call netdbExchangeStart for MULTICAST peers
- Try to get average RTT's for multicast peers
- Need to cbdataAdd(psstate) for multicast counting

27 years agoMillisecond timing patch for events, comm_select/comm_poll, etc.
wessels [Fri, 15 May 1998 21:16:19 +0000 (21:16 +0000)] 
Millisecond timing patch for events, comm_select/comm_poll, etc.
peerPingTimeout() now uses double the average peer RTT

27 years agoFUM errors. we're accessing 'sc' after it gets freed by a callback.
wessels [Fri, 15 May 1998 20:35:48 +0000 (20:35 +0000)] 
FUM errors.  we're accessing 'sc' after it gets freed by a callback.
Wrapping storeClientCopy2() with cbdataLock/Unlock should prevent
it from being freed until the end of this function.
Gross solution.

27 years agoAdded weights to event structure. We need to run ALL
wessels [Fri, 15 May 1998 02:47:59 +0000 (02:47 +0000)] 
Added weights to event structure.  We need to run ALL
"lightweight" events like peerPingTimeout and storeClientCopyEvent
instead of just one event per call from the select loop

27 years agoTransitioning Cache Digests from "experimental" to fundamental.
wessels [Thu, 14 May 1998 22:33:47 +0000 (22:33 +0000)] 
Transitioning Cache Digests from "experimental" to fundamental.
Removed a lot of stats collection, espeically large histograms.
Made peerDigestInit() called from an event, instead of being
called directly -- this avoids some recursion.
The selection algorithm is still kind of hard coded as follows:
cache digests
netdb (if CD's miss)
ICP (if netdb has no RTT data)

27 years agotype bug
wessels [Thu, 14 May 1998 05:09:47 +0000 (05:09 +0000)] 
type bug

27 years agoMust memcpy() tmp_keys to ensure alignment!
wessels [Thu, 14 May 1998 04:59:44 +0000 (04:59 +0000)] 
Must memcpy() tmp_keys to ensure alignment!

27 years agoupdate
wessels [Thu, 14 May 1998 03:50:15 +0000 (03:50 +0000)] 
update

27 years agoRewrite hash_remove_link() to use pointer-to-pointer
wessels [Thu, 14 May 1998 03:48:26 +0000 (03:48 +0000)] 
Rewrite hash_remove_link() to use pointer-to-pointer

27 years agostoreSwapInFileOpened now releases failed objects
wessels [Thu, 14 May 1998 03:30:14 +0000 (03:30 +0000)] 
storeSwapInFileOpened now releases failed objects

27 years agocleaned up storeSwapInFileOpened, especially for failure cases.
wessels [Thu, 14 May 1998 03:29:37 +0000 (03:29 +0000)] 
cleaned up storeSwapInFileOpened, especially for failure cases.
Call storeReleaseRequest() directly from here to be sure the
bad object gets thrown out.

27 years agocleanup -- add ^extern
wessels [Thu, 14 May 1998 03:28:08 +0000 (03:28 +0000)] 
cleanup -- add ^extern

27 years agoChanged ipcache_gethostbyname() to return NULL if i->addrs.count == 0;
wessels [Thu, 14 May 1998 03:25:54 +0000 (03:25 +0000)] 
Changed ipcache_gethostbyname() to return NULL if i->addrs.count == 0;

27 years agochange hash_remove_link() to return void and fatal() upon error.
wessels [Thu, 14 May 1998 03:24:46 +0000 (03:24 +0000)] 
change hash_remove_link() to return void and fatal() upon error.

27 years agoFMR fix
wessels [Thu, 14 May 1998 03:20:42 +0000 (03:20 +0000)] 
FMR fix