]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix cbdata-related parts of UserNameCache.
authorFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 3 Sep 2015 11:18:47 +0000 (13:18 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 3 Sep 2015 11:18:47 +0000 (13:18 +0200)
Self-register new User objects into the cache.

src/auth/UserNameCache.cc
src/auth/basic/User.cc
src/auth/digest/User.cc
src/auth/negotiate/User.cc
src/auth/ntlm/User.cc

index 1eee7e1dc42534b000bcf915b4856294467d293f..e21a29c8732a5bc32ec44ea43503fb23f9e7a6a7 100644 (file)
@@ -15,6 +15,8 @@
 
 namespace Auth {
 
+CBDATA_CLASS_INIT(UserNameCache);
+
 UserNameCache::UserNameCache(const char *name) :
     cachename(name), cacheCleanupEventName("User cache cleanup: ")
 {
index c8189132b9bbed9a48555cda017d42861ff95690..ff0cfb5b258273e6e3cedcae1de478fc0b661b30 100644 (file)
@@ -19,7 +19,9 @@ Auth::Basic::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     passwd(NULL),
     queue(NULL),
     currentRequest(NULL)
-{}
+{
+    Cache()->insert(Pointer(this));
+}
 
 Auth::Basic::User::~User()
 {
@@ -83,8 +85,7 @@ Auth::Basic::User::updateCached(Auth::Basic::User *from)
 CbcPointer<Auth::UserNameCache>
 Auth::Basic::User::Cache()
 {
-    static Auth::UserNameCache cache("basic");
-    static CbcPointer<Auth::UserNameCache> p(&cache);
+    static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("basic"));
     return p;
 }
 
index 805aacddb2a7537d18c7cd16188dd2006033dea8..f4d1b4408d1e70a97aa8162a1cc2a8bba4351496 100644 (file)
@@ -20,6 +20,7 @@ Auth::Digest::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     HA1created(0)
 {
     memset(HA1, 0, sizeof(HA1));
+    Cache()->insert(Pointer(this));
 }
 
 Auth::Digest::User::~User()
@@ -76,7 +77,6 @@ Auth::Digest::User::currentNonce()
 CbcPointer<Auth::UserNameCache>
 Auth::Digest::User::Cache()
 {
-    static Auth::UserNameCache cache("digest");
-    static CbcPointer<Auth::UserNameCache> p(&cache);
+    static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("digest"));
     return p;
 }
index ba50d1c4228a6f7e9fb191dcd0dfe4dd0d8466bb..a72d9095cb64e427abf617ddae3b0b7dd7c5f4e8 100644 (file)
@@ -15,6 +15,7 @@
 Auth::Negotiate::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     Auth::User(aConfig, aRequestRealm)
 {
+    Cache()->insert(Pointer(this));
 }
 
 Auth::Negotiate::User::~User()
@@ -31,7 +32,6 @@ Auth::Negotiate::User::ttl() const
 CbcPointer<Auth::UserNameCache>
 Auth::Negotiate::User::Cache()
 {
-    static Auth::UserNameCache cache("negotiate");
-    static CbcPointer<Auth::UserNameCache> p(&cache);
+    static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("negotiate"));
     return p;
 }
index 47f1758790bb8a64d4a594294afe659e704a31a4..4a3f09429d278dc3fd27546f57a064bda49e9116 100644 (file)
@@ -15,6 +15,7 @@
 Auth::Ntlm::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     Auth::User(aConfig, aRequestRealm)
 {
+    Cache()->insert(Pointer(this));
 }
 
 Auth::Ntlm::User::~User()
@@ -31,7 +32,6 @@ Auth::Ntlm::User::ttl() const
 CbcPointer<Auth::UserNameCache>
 Auth::Ntlm::User::Cache()
 {
-    static Auth::UserNameCache cache("ntlm");
-    static CbcPointer<Auth::UserNameCache> p(&cache);
+    static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("basic"));
     return p;
 }