diff options
author | Sara Golemon <sara.golemon@mongodb.com> | 2018-04-16 18:10:46 -0400 |
---|---|---|
committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2018-05-04 17:45:47 -0400 |
commit | 52e5b5fbaa3a2a5b1a217f5e647b5061817475f9 (patch) | |
tree | 1cefe3d417b1e8965cb4f125aff533d6201f3dc8 | |
parent | bc99911f0bbe0d0c18d46bd0ad44c0b136a162ff (diff) | |
download | mongo-r3.4.15-rc0.tar.gz |
SERVER-34477 Do not mix iterators from different mapsr3.4.15-rc0r3.4.15
(cherry picked from commit 88385c06825a73a3875bcdecf2af650c012b48f1)
(cherry picked from commit 7c6a15fecd95ff32cf17f8d9abad81b730c5773c)
-rw-r--r-- | src/mongo/util/net/ssl_options.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mongo/util/net/ssl_options.cpp b/src/mongo/util/net/ssl_options.cpp index ebf0bd79794..b9785d1b83f 100644 --- a/src/mongo/util/net/ssl_options.cpp +++ b/src/mongo/util/net/ssl_options.cpp @@ -267,24 +267,25 @@ Status storeDisabledProtocols(const std::string& disabledProtocols, // Map the tokens to their enum values, and push them onto the list of disabled protocols. for (const std::string& token : tokens) { auto mappedToken = validConfigs.find(token); - - if ((mappedToken == validConfigs.end()) && - (mode == DisabledProtocolsMode::kAcceptNegativePrefix)) { - // We allow "noTLS1_0" style on the server for backward compatibility. - mappedToken = validNoConfigs.find(token); - } - if (mappedToken != validConfigs.end()) { sslGlobalParams.sslDisabledProtocols.push_back(mappedToken->second); - } else { - return Status(ErrorCodes::BadValue, "Unrecognized disabledProtocols '" + token + "'"); + continue; } + + if (mode == DisabledProtocolsMode::kAcceptNegativePrefix) { + auto mappedNoToken = validNoConfigs.find(token); + if (mappedNoToken != validNoConfigs.end()) { + sslGlobalParams.sslDisabledProtocols.push_back(mappedNoToken->second); + continue; + } + } + + return Status(ErrorCodes::BadValue, "Unrecognized disabledProtocols '" + token + "'"); } return Status::OK(); } - Status storeSSLServerOptions(const moe::Environment& params) { if (params.count("net.ssl.mode")) { std::string sslModeParam = params["net.ssl.mode"].as<string>(); |