diff options
Diffstat (limited to 'cpp/src/IceSSL/Instance.cpp')
-rw-r--r-- | cpp/src/IceSSL/Instance.cpp | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/cpp/src/IceSSL/Instance.cpp b/cpp/src/IceSSL/Instance.cpp index 50ae4a9f516..b0109240528 100644 --- a/cpp/src/IceSSL/Instance.cpp +++ b/cpp/src/IceSSL/Instance.cpp @@ -146,7 +146,7 @@ IceSSL::Instance::initialize() // Select protocols. // { - string protocols = properties->getProperty(propPrefix + "Protocols"); + StringSeq protocols = properties->getPropertyAsList(propPrefix + "Protocols"); if(!protocols.empty()) { parseProtocols(protocols); @@ -841,30 +841,12 @@ IceSSL::Instance::traceConnection(SSL* ssl, bool incoming) } void -IceSSL::Instance::parseProtocols(const string& val) +IceSSL::Instance::parseProtocols(const StringSeq& protocols) { - const string delim = ", "; bool sslv3 = false, tlsv1 = false; - string::size_type pos = 0; - while(pos != string::npos) + for(Ice::StringSeq::const_iterator p = protocols.begin(); p != protocols.end(); ++p) { - pos = val.find_first_not_of(delim, pos); - if(pos == string::npos) - { - break; - } - - string prot; - string::size_type end = val.find_first_of(delim, pos); - if(end == string::npos) - { - prot = val.substr(pos); - } - else - { - prot = val.substr(pos, end - pos); - } - pos = end; + string prot = *p; if(prot == "ssl3" || prot == "sslv3") { |