]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 4190: assertion 'hash_remove_link' from Auth::User::cacheCleanup
authorFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 1 Oct 2015 01:20:20 +0000 (18:20 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 1 Oct 2015 01:20:20 +0000 (18:20 -0700)
The hash_link based cache depends on raw-ptr key comparisons to store
hash entries. This does not work at all well with SBuf as the key,
since the backing MemBlob behind SBuf can change its memory location.

* replace the implementation of User credentials caching with an STL
  based container class that can handle SBuf.

* revert the global Auth::User cache design to per-scheme caches
  which get combined only when reporting statistics.

* add a RunnersRegistry helper class to control Squid startup,
  reconfigure, and shutdown events activity in regards to the caches.

* suppress useless cache garbage collection events when auth has no
  credentials to cleanup.

* make the cache key dynamic at the caller codes discretion.

1  2 
src/auth/digest/Config.cc
src/auth/digest/User.cc

Simple merge
Simple merge