mirror of https://gitee.com/bigwinds/arangodb
fixed memleak
This commit is contained in:
parent
3261c4ca89
commit
81c629a685
|
@ -147,9 +147,7 @@ AuthInfo::AuthInfo()
|
||||||
: _outdated(true),
|
: _outdated(true),
|
||||||
_authJwtCache(16384),
|
_authJwtCache(16384),
|
||||||
_jwtSecret(""),
|
_jwtSecret(""),
|
||||||
_queryRegistry(nullptr),
|
_queryRegistry(nullptr) {}
|
||||||
_authenticationHandler(nullptr) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void AuthInfo::setJwtSecret(std::string const& jwtSecret) {
|
void AuthInfo::setJwtSecret(std::string const& jwtSecret) {
|
||||||
WRITE_LOCKER(writeLocker, _authJwtLock);
|
WRITE_LOCKER(writeLocker, _authJwtLock);
|
||||||
|
@ -245,7 +243,7 @@ void AuthInfo::reload() {
|
||||||
|
|
||||||
// TODO: is this correct?
|
// TODO: is this correct?
|
||||||
if (_authenticationHandler == nullptr) {
|
if (_authenticationHandler == nullptr) {
|
||||||
_authenticationHandler = application_features::ApplicationServer::getFeature<AuthenticationFeature>("Authentication")->getHandler();
|
_authenticationHandler.reset(application_features::ApplicationServer::getFeature<AuthenticationFeature>("Authentication")->getHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -383,6 +381,7 @@ AuthResult AuthInfo::checkPassword(std::string const& username,
|
||||||
|
|
||||||
|
|
||||||
if (it == _authInfo.end() || (it->second.source() == AuthSource::LDAP)) { // && it->second.created() < TRI_microtime() - 60)) {
|
if (it == _authInfo.end() || (it->second.source() == AuthSource::LDAP)) { // && it->second.created() < TRI_microtime() - 60)) {
|
||||||
|
TRI_ASSERT(_authenticationHandler != nullptr);
|
||||||
AuthenticationResult authResult = _authenticationHandler->authenticate(username, password);
|
AuthenticationResult authResult = _authenticationHandler->authenticate(username, password);
|
||||||
|
|
||||||
if (!authResult.ok()) {
|
if (!authResult.ok()) {
|
||||||
|
|
|
@ -205,7 +205,7 @@ class AuthInfo {
|
||||||
arangodb::basics::LruCache<std::string, arangodb::AuthJwtResult> _authJwtCache;
|
arangodb::basics::LruCache<std::string, arangodb::AuthJwtResult> _authJwtCache;
|
||||||
std::string _jwtSecret;
|
std::string _jwtSecret;
|
||||||
aql::QueryRegistry* _queryRegistry;
|
aql::QueryRegistry* _queryRegistry;
|
||||||
AuthenticationHandler* _authenticationHandler;
|
std::unique_ptr<AuthenticationHandler> _authenticationHandler;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue