#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"
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...
*/
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
#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"
queue(NULL),
currentRequest(NULL)
{
- Cache()->insert(Pointer(this));
}
Auth::Basic::User::~User()
return p;
}
+void
+Auth::Basic::User::addToNameCache()
+{
+ /* AuthUserHashPointer will self-register with the username cache */
+ new AuthUserHashPointer(this); //legacy
+ Cache()->insert(this);
+}
// userKey ->Auth::User::Pointer cache
static CbcPointer<Auth::UserNameCache> Cache();
+ virtual void addToNameCache() override;
char *passwd;
#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"
HA1created(0)
{
memset(HA1, 0, sizeof(HA1));
- Cache()->insert(Pointer(this));
}
Auth::Digest::User::~User()
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);
+}
virtual int32_t ttl() const;
static CbcPointer<Auth::UserNameCache> Cache();
+ virtual void addToNameCache() override;
HASH HA1;
int HA1created;
#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"
Auth::Negotiate::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
Auth::User(aConfig, aRequestRealm)
{
- Cache()->insert(Pointer(this));
}
Auth::Negotiate::User::~User()
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);
+}
virtual int32_t ttl() const;
static CbcPointer<Auth::UserNameCache> Cache();
+ virtual void addToNameCache() override;
+
dlink_list proxy_auth_list;
};
#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"
Auth::Ntlm::User::User(Auth::Config *aConfig, const char *aRequestRealm) :
Auth::User(aConfig, aRequestRealm)
{
- Cache()->insert(Pointer(this));
}
Auth::Ntlm::User::~User()
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);
+}
virtual int32_t ttl() const;
static CbcPointer<Auth::UserNameCache> Cache();
+ virtual void addToNameCache() override;
dlink_list proxy_auth_list;
};