Version 9 of my squid-2.1.PATCH2 delay_pools update

From: David Luyer <luyer@dont-contact.us>
Date: Mon, 14 Dec 1998 20:14:55 +0800

This version fixes some bugs related to reconfigurations, variable
initializations, etc. This update hasn't been tested, version 8 has
been tested more (and is in use at some places) but is known to fail
on reconfigures (workaround, restart to reconfigure). This one only
has significant changes in the reconfigure code, so at worst you'll have
to restart to reconfigure with it too.

[1] Makes no-delay neighbors for DELAY_POOLS work by using a fd_set with the
     connections to no-delay peers marked in it.
[2] Adds the ability to only do ident lookups on connections coming from hosts
     which match a simple ACL.
[3] Small bugfix: Delete "auth_modules/dummy" in a "make distclean"
[4] Removes delay_id in the request_t structure, instead passing it as an
     option to sslStart and pumpInit or working it out from the client
     connection state.
[5] Sets the delay_id to 0 for urn's (I don't think DELAY_POOLS work for the
     urn code).
[6] Changes a storeClientListAdd to an assert() that the client is already
     there in clientProcessExpired() - this looks like a valid assumption to
     me and makes things nice and simple for the delay code there.
[7] Removes superfluous memset()'s in client_side.c before comm_accept() since
     in the case of failure, the cleared values are not used and in the case
     of success, the passed values are totally overwritten.
[8] Adds acl type "myip" to define different behaviour depending on the IP
     address used to access the cache.
[9] Makes IP addresses ending in 0 and 255, and network number 255, work with
     individual and network delay pools (they were previously not permitted,
     and documented as such)
[10] Fixes a small configure.in bug (shouldn't check for alloca.h separate to
     AC_FUNC_ALLOCA since the 2nd one will incorrectly use the cache value
     from the first)
[11] Massive overhaul of delay pools code - dynamically allocated delay pools,
     as many as required.
[12] delayPoolsUpdate stops running if DELAY_POOLS is configured but no delay
     pools are configured.
[13] In the "config" cache_object, display passwords which are "none" or
     "disable" (the special values).
[14] Initial delay pool levels are now configurable as a percentage of the
     maximum for the pool in question (used to be all set to 1 second worth
     of traffic). Pools are restored to this level on reconfiguratoin.
[15] On reconfiguration, set all delay_ids on objects in transit to zero.
     This is because many delay pool related variables have been cleared and
     the old delay pools may not exist and even if they do, will not have the
     same 'seen hosts list'. Not done if no delay pools defined before
     reconfigure.
[16] Fixed some bugs in earlier versions of this patch which caused hosts
     numbered 255 to appear even though squid had never seen them (missing
     initialization of some variables).

The patch is available for the short term at:
  http://typhaon.ucs.uwa.edu.au/squid-diff-9.gz

It is relative to squid-2.1.PATCH2, so if you've applied an earlier patch,
remove it first. Also, please note that there is another patch against
squid-2.1.PATCH2 on the squid.nlanr.net website, which is not included in this
patch but should also be applied.

Please send comments about the patch (and any problems with it) to me.

This version may take a long time to do a reconfigure on large caches when
delay pools are in use. This is, as far as I can see, unavoidable.

David.
Received on Mon Dec 14 1998 - 05:54:28 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:43:39 MST