]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Removed cache registration on Auth::*::User ctor, implemented instead Auth::*::addToN...
authorFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 3 Sep 2015 12:04:49 +0000 (14:04 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 3 Sep 2015 12:04:49 +0000 (14:04 +0200)
src/auth/User.cc
src/auth/User.h
src/auth/basic/User.cc
src/auth/basic/User.h
src/auth/digest/User.cc
src/auth/digest/User.h
src/auth/negotiate/User.cc
src/auth/negotiate/User.h
src/auth/ntlm/User.cc
src/auth/ntlm/User.h

index a826807a2413b2acdfc02373cf107ef8ee0f6209..1c6cef3c00ea4aa54068f1a4129942cf01812fc9 100644 (file)
@@ -14,6 +14,7 @@
 #include "auth/Config.h"
 #include "auth/Gadgets.h"
 #include "auth/User.h"
+#include "auth/UserNameCache.h"
 #include "auth/UserRequest.h"
 #include "event.h"
 #include "globals.h"
@@ -315,16 +316,6 @@ Auth::User::BuildUserKey(const char *username, const char *realm)
     return key;
 }
 
-/**
- * Add the Auth::User structure to the username cache.
- */
-void
-Auth::User::addToNameCache()
-{
-    /* AuthUserHashPointer will self-register with the username cache */
-    new AuthUserHashPointer(this);
-}
-
 /**
  * Dump the username cache statictics for viewing...
  */
index 806c4db53b04ad97b833ce94123e672cbba12a70..e849b20db7c7b1f649b7c9e2a46a5f1875b34c61 100644 (file)
@@ -83,7 +83,8 @@ public:
     void removeIp(Ip::Address);
     void addIp(Ip::Address);
 
-    void addToNameCache();
+    /// add the Auth::User to the protocol-specific username cache.
+    virtual void addToNameCache() = 0;
     static void UsernameCacheStats(StoreEntry * output);
 
     static CbcPointer<Auth::UserNameCache> Cache(); //must be implemented in subclasses
index ff0cfb5b258273e6e3cedcae1de478fc0b661b30..f6b8d669e6c6436d145ff67de82f0647265a9df7 100644 (file)
@@ -9,6 +9,7 @@
 #include "squid.h"
 #include "auth/basic/Config.h"
 #include "auth/basic/User.h"
+#include "auth/Gadgets.h" // for AuthUserHashPointer
 #include "auth/UserNameCache.h"
 #include "Debug.h"
 #include "SquidConfig.h"
@@ -20,7 +21,6 @@ Auth::Basic::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     queue(NULL),
     currentRequest(NULL)
 {
-    Cache()->insert(Pointer(this));
 }
 
 Auth::Basic::User::~User()
@@ -89,3 +89,10 @@ Auth::Basic::User::Cache()
     return p;
 }
 
+void
+Auth::Basic::User::addToNameCache()
+{
+    /* AuthUserHashPointer will self-register with the username cache */
+    new AuthUserHashPointer(this); //legacy
+    Cache()->insert(this);
+}
index 949ff11386875f9383d057446bb2a020ec59300e..ec366df48595b44afb05b002e47b8a677ffa0d8d 100644 (file)
@@ -38,6 +38,7 @@ public:
 
     // userKey ->Auth::User::Pointer cache
     static CbcPointer<Auth::UserNameCache> Cache();
+    virtual void addToNameCache() override;
 
     char *passwd;
 
index f4d1b4408d1e70a97aa8162a1cc2a8bba4351496..5dd558fc6e66fe661b304677527481ccdb7c639e 100644 (file)
@@ -9,6 +9,7 @@
 #include "squid.h"
 #include "auth/digest/Config.h"
 #include "auth/digest/User.h"
+#include "auth/Gadgets.h" // for AuthUserHashPointer
 #include "auth/UserNameCache.h"
 #include "Debug.h"
 #include "dlink.h"
@@ -20,7 +21,6 @@ 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()
@@ -80,3 +80,11 @@ Auth::Digest::User::Cache()
     static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("digest"));
     return p;
 }
+
+void
+Auth::Digest::User::addToNameCache()
+{
+    /* AuthUserHashPointer will self-register with the username cache */
+    new AuthUserHashPointer(this); //legacy
+    Cache()->insert(this);
+}
index e1257f75c003554fd937c1b1dabb561efa883ddc..12edda4f6090e733c490e251a99faea409421fa3 100644 (file)
@@ -29,6 +29,7 @@ public:
     virtual int32_t ttl() const;
 
     static CbcPointer<Auth::UserNameCache> Cache();
+    virtual void addToNameCache() override;
 
     HASH HA1;
     int HA1created;
index a72d9095cb64e427abf617ddae3b0b7dd7c5f4e8..47bdfb6889fb2b8dd0b3b65361b16b1319952d31 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "squid.h"
 #include "auth/Config.h"
+#include "auth/Gadgets.h" // for AuthUserHashPointer
 #include "auth/negotiate/User.h"
 #include "auth/UserNameCache.h"
 #include "Debug.h"
@@ -15,7 +16,6 @@
 Auth::Negotiate::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     Auth::User(aConfig, aRequestRealm)
 {
-    Cache()->insert(Pointer(this));
 }
 
 Auth::Negotiate::User::~User()
@@ -35,3 +35,11 @@ Auth::Negotiate::User::Cache()
     static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("negotiate"));
     return p;
 }
+
+void
+Auth::Negotiate::User::addToNameCache()
+{
+    /* AuthUserHashPointer will self-register with the username cache */
+    new AuthUserHashPointer(this); //legacy
+    Cache()->insert(this);
+}
index f63e8577167bf04071d2a5689c6e0a022555d676..7566af1cdee090f119b74e23ec4af3916c53bb01 100644 (file)
@@ -30,6 +30,8 @@ public:
     virtual int32_t ttl() const;
 
     static CbcPointer<Auth::UserNameCache> Cache();
+    virtual void addToNameCache() override;
+
 
     dlink_list proxy_auth_list;
 };
index 4a3f09429d278dc3fd27546f57a064bda49e9116..57b23e4d44cc0ab67b1bef161afa85afc17eb37a 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "squid.h"
 #include "auth/Config.h"
+#include "auth/Gadgets.h" // for AuthUserHashPointer
 #include "auth/ntlm/User.h"
 #include "auth/UserNameCache.h"
 #include "Debug.h"
@@ -15,7 +16,6 @@
 Auth::Ntlm::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
     Auth::User(aConfig, aRequestRealm)
 {
-    Cache()->insert(Pointer(this));
 }
 
 Auth::Ntlm::User::~User()
@@ -35,3 +35,11 @@ Auth::Ntlm::User::Cache()
     static CbcPointer<Auth::UserNameCache> p(new Auth::UserNameCache("basic"));
     return p;
 }
+
+void
+Auth::Ntlm::User::addToNameCache()
+{
+    /* AuthUserHashPointer will self-register with the username cache */
+    new AuthUserHashPointer(this); //legacy
+    Cache()->insert(this);
+}
index 8ed6fbdd93466335306e1dfc81a36ceb5737518b..3e63df0ab2b0bd5aba06a7dc267af97ad73a75c5 100644 (file)
@@ -31,6 +31,7 @@ public:
     virtual int32_t ttl() const;
 
     static CbcPointer<Auth::UserNameCache> Cache();
+    virtual void addToNameCache() override;
 
     dlink_list proxy_auth_list;
 };