diff options
author | Benoit Foucher <benoit@zeroc.com> | 2017-05-24 14:37:46 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2017-05-24 14:37:46 +0200 |
commit | 6c6306e10fa62b0566e7920786b97d305ac897f4 (patch) | |
tree | 54c42c00d9226f34fea79276ccc25dbf7088b453 /cpp/src/IceSSL/SecureTransportEngine.cpp | |
parent | Android test controller class loader fix (diff) | |
download | ice-6c6306e10fa62b0566e7920786b97d305ac897f4.tar.bz2 ice-6c6306e10fa62b0566e7920786b97d305ac897f4.tar.xz ice-6c6306e10fa62b0566e7920786b97d305ac897f4.zip |
Fixed ICE-7906 - Check for invalid ciphers in IceSSL.Ciphers
Diffstat (limited to 'cpp/src/IceSSL/SecureTransportEngine.cpp')
-rw-r--r-- | cpp/src/IceSSL/SecureTransportEngine.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/cpp/src/IceSSL/SecureTransportEngine.cpp b/cpp/src/IceSSL/SecureTransportEngine.cpp index 307b82ea62e..4b8d65ef53b 100644 --- a/cpp/src/IceSSL/SecureTransportEngine.cpp +++ b/cpp/src/IceSSL/SecureTransportEngine.cpp @@ -1229,26 +1229,15 @@ IceSSL::SecureTransport::SSLEngine::parseCiphers(const string& ciphers) { for(vector<SSLCipherSuite>::iterator j = enabled.begin(); j != enabled.end();) { - SSLCipherSuite cipher = *j; - string name = CiphersHelper::cipherName(cipher); - - if(ce.cipher.empty()) + string name = CiphersHelper::cipherName(*j); + if((ce.cipher.empty() && ce.re->match(name)) || ce.cipher == name) { - if(ce.re->match(name)) - { - j = enabled.erase(j); - continue; - } + j = enabled.erase(j); } else { - if(ce.cipher == name) - { - j = enabled.erase(j); - continue; - } + ++j; } - j++; } } else |