CBDATA_CLASS_INIT(CredentialsCache);
-CredentialsCache::CredentialsCache(const char *name) :
+CredentialsCache::CredentialsCache(const char *name, const char * const prettyEvName) :
gcScheduled_(false),
- cacheCleanupEventName("User cache cleanup: ")
+ cacheCleanupEventName(prettyEvName)
{
debugs(29, 5, "initializing " << name << " username cache");
- cacheCleanupEventName.append(name);
RegisterRunner(new Auth::CredentialCacheRr(name, this));
}
{
if (!gcScheduled_ && store_.size()) {
gcScheduled_ = true;
- eventAdd(cacheCleanupEventName.c_str(), &CredentialsCache::Cleanup,
+ eventAdd(cacheCleanupEventName, &CredentialsCache::Cleanup,
this, ::Config.authenticateGCInterval, 1);
}
}
typedef std::unordered_map<SBuf, Auth::User::Pointer> StoreType;
public:
- explicit CredentialsCache(const char *name);
+ explicit CredentialsCache(const char *name, const char * const eventName);
~CredentialsCache() = default;
CredentialsCache(const CredentialsCache&) = delete;
StoreType store_;
- // c_str() raw pointer is used in event. std::string must not reallocate
- // after ctor and until shutdown
- // must be unique
- std::string cacheCleanupEventName;
+ // c-string raw pointer used as event name
+ const char * const cacheCleanupEventName;
};
} /* namespace Auth */
CbcPointer<Auth::CredentialsCache>
Auth::Basic::User::Cache()
{
- static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("basic"));
+ static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("basic", "GC Basic user credentials"));
return p;
}
CbcPointer<Auth::CredentialsCache>
Auth::Digest::User::Cache()
{
- static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("digest"));
+ static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("digest","GC Digest user credentials"));
return p;
}
CbcPointer<Auth::CredentialsCache>
Auth::Negotiate::User::Cache()
{
- static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("negotiate"));
+ static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("negotiate", "GC Negotiate user credentials"));
return p;
}
CbcPointer<Auth::CredentialsCache>
Auth::Ntlm::User::Cache()
{
- static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("ntlm"));
+ static CbcPointer<Auth::CredentialsCache> p(new Auth::CredentialsCache("ntlm", "GC NTLM user credentials"));
return p;
}