diff options
author | Sara Golemon <sara.golemon@mongodb.com> | 2018-04-16 18:10:46 -0400 |
---|---|---|
committer | Sara Golemon <sara.golemon@mongodb.com> | 2018-04-17 14:22:34 -0400 |
commit | 88385c06825a73a3875bcdecf2af650c012b48f1 (patch) | |
tree | 4ae5e9b7bc806ff6f84600da4c332a5db2271bf9 /src/mongo/util/net/ssl_options.cpp | |
parent | ec3b8c7e680e929486ed58b04e43da48bac947ef (diff) | |
download | mongo-88385c06825a73a3875bcdecf2af650c012b48f1.tar.gz |
SERVER-34477 Do not mix iterators from different maps
Diffstat (limited to 'src/mongo/util/net/ssl_options.cpp')
-rw-r--r-- | src/mongo/util/net/ssl_options.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/mongo/util/net/ssl_options.cpp b/src/mongo/util/net/ssl_options.cpp index d760318dba0..4d3cdf2e3b0 100644 --- a/src/mongo/util/net/ssl_options.cpp +++ b/src/mongo/util/net/ssl_options.cpp @@ -104,18 +104,20 @@ 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(); |