Chromium Code Reviews| Index: net/socket/ssl_client_socket_openssl.cc |
| diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc |
| index 4e86c055932ed7517600625db0179d13ee720029..99ffab320597b5f3d64d5627a8a7e37f15a1dee8 100644 |
| --- a/net/socket/ssl_client_socket_openssl.cc |
| +++ b/net/socket/ssl_client_socket_openssl.cc |
| @@ -1782,11 +1782,11 @@ int SSLClientSocketOpenSSL::SelectNextProtoCallback(unsigned char** out, |
| // For each protocol in server preference order, see if we support it. |
| for (unsigned int i = 0; i < inlen; i += in[i] + 1) { |
| - for (std::vector<std::string>::const_iterator |
| - j = ssl_config_.next_protos.begin(); |
| + for (NextProtoVector::const_iterator j = ssl_config_.next_protos.begin(); |
| j != ssl_config_.next_protos.end(); ++j) { |
|
Ryan Hamilton
2014/12/10 20:09:00
for (NextProto next_proto : ssl_config_.next_proto
Bence
2014/12/10 22:01:23
Done.
|
| - if (in[i] == j->size() && |
| - memcmp(&in[i + 1], j->data(), in[i]) == 0) { |
| + const std::string proto = NextProtoToString(*j); |
| + if (in[i] == proto.size() && |
| + memcmp(&in[i + 1], proto.data(), in[i]) == 0) { |
| // We found a match. |
| *out = const_cast<unsigned char*>(in) + i + 1; |
| *outlen = in[i]; |
| @@ -1800,9 +1800,9 @@ int SSLClientSocketOpenSSL::SelectNextProtoCallback(unsigned char** out, |
| // If we didn't find a protocol, we select the first one from our list. |
| if (npn_status_ == kNextProtoNoOverlap) { |
| - *out = reinterpret_cast<uint8*>(const_cast<char*>( |
| - ssl_config_.next_protos[0].data())); |
| - *outlen = ssl_config_.next_protos[0].size(); |
| + const std::string proto = NextProtoToString(ssl_config_.next_protos[0]); |
| + *out = reinterpret_cast<uint8*>(const_cast<char*>(proto.data())); |
| + *outlen = proto.size(); |
| } |
| npn_proto_.assign(reinterpret_cast<const char*>(*out), *outlen); |