summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp
diff options
context:
space:
mode:
authorSpencer Jackson <spencer.jackson@mongodb.com>2017-06-28 21:37:04 -0400
committerSpencer Jackson <spencer.jackson@mongodb.com>2017-08-03 10:51:31 -0400
commit07d4d94b06c6899699410312e20ef33d954ddbd1 (patch)
treeeeb693452aa27166877723fa5611e2043cdb5337 /src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp
parent2b3668af0fc86f1b7b210fc7ca3571b8436a0fba (diff)
downloadmongo-07d4d94b06c6899699410312e20ef33d954ddbd1.tar.gz
SERVER-29915: Respect "y" in gs2-cbind-flag in SCRAM
Diffstat (limited to 'src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp')
-rw-r--r--src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp b/src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp
index 80b605b02ec..5ade83dc708 100644
--- a/src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp
+++ b/src/mongo/db/auth/sasl_scramsha1_server_conversation.cpp
@@ -123,7 +123,11 @@ StatusWith<bool> SaslSCRAMSHA1ServerConversation::_firstStep(std::vector<string>
<< "Incorrect number of arguments for first SCRAM-SHA-1 client message, got "
<< input.size()
<< " expected 4");
- } else if (input[0] != "n") {
+ } else if (str::startsWith(input[0], "p=")) {
+ return StatusWith<bool>(ErrorCodes::BadValue,
+ mongoutils::str::stream()
+ << "Server does not support channel binding");
+ } else if (input[0] != "n" && input[0] != "y") {
return StatusWith<bool>(ErrorCodes::BadValue,
mongoutils::str::stream()
<< "Incorrect SCRAM-SHA-1 client message prefix: "