summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/SecureTransportEngine.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-05-24 14:37:46 +0200
committerBenoit Foucher <benoit@zeroc.com>2017-05-24 14:37:46 +0200
commit6c6306e10fa62b0566e7920786b97d305ac897f4 (patch)
tree54c42c00d9226f34fea79276ccc25dbf7088b453 /cpp/src/IceSSL/SecureTransportEngine.cpp
parentAndroid test controller class loader fix (diff)
downloadice-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.cpp19
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