diff options
author | Spencer Jackson <spencer.jackson@mongodb.com> | 2016-12-07 16:11:57 -0500 |
---|---|---|
committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2017-07-11 16:20:07 -0400 |
commit | 16e83332ed20e4054324a1a7714506e74eed5180 (patch) | |
tree | b0c03f332f37dc2ca5530a0bc6aa592cc3fbcb40 /src/mongo/client/native_sasl_client_session.cpp | |
parent | 78800570b838dd7e2bb53939d9d1a752d71e5ae3 (diff) | |
download | mongo-16e83332ed20e4054324a1a7714506e74eed5180.tar.gz |
SERVER-26952: Cache SCRAM-SHA-1 ClientKey
(cherry picked from commit 47da0b53f9cd27aeec1d2822780784866269a47d)
Diffstat (limited to 'src/mongo/client/native_sasl_client_session.cpp')
-rw-r--r-- | src/mongo/client/native_sasl_client_session.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/client/native_sasl_client_session.cpp b/src/mongo/client/native_sasl_client_session.cpp index 7976c09e413..8f8d4fe91af 100644 --- a/src/mongo/client/native_sasl_client_session.cpp +++ b/src/mongo/client/native_sasl_client_session.cpp @@ -33,6 +33,7 @@ #include "mongo/client/sasl_client_conversation.h" #include "mongo/client/sasl_plain_client_conversation.h" #include "mongo/client/sasl_scramsha1_client_conversation.h" +#include "mongo/client/scram_sha1_client_cache.h" #include "mongo/util/mongoutils/str.h" namespace mongo { @@ -47,6 +48,9 @@ MONGO_INITIALIZER(NativeSaslClientContext)(InitializerContext* context) { return Status::OK(); } +// Global cache for SCRAM-SHA-1 credentials +SCRAMSHA1ClientCache* scramsha1ClientCache = new SCRAMSHA1ClientCache; + } // namespace NativeSaslClientSession::NativeSaslClientSession() @@ -63,7 +67,7 @@ Status NativeSaslClientSession::initialize() { if (mechanism == "PLAIN") { _saslConversation.reset(new SaslPLAINClientConversation(this)); } else if (mechanism == "SCRAM-SHA-1") { - _saslConversation.reset(new SaslSCRAMSHA1ClientConversation(this)); + _saslConversation.reset(new SaslSCRAMSHA1ClientConversation(this, scramsha1ClientCache)); } else { return Status(ErrorCodes::BadValue, mongoutils::str::stream() << "SASL mechanism " << mechanism |