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 090f2bdffa0344356416a2b04d58685837ae3c75..029864ee4453845e65a24ade0b50438a19a6d26c 100644 |
--- a/net/socket/ssl_client_socket_openssl.cc |
+++ b/net/socket/ssl_client_socket_openssl.cc |
@@ -92,64 +92,6 @@ const uint8_t kTbProtocolVersionMinor = 3; |
const uint8_t kTbMinProtocolVersionMajor = 0; |
const uint8_t kTbMinProtocolVersionMinor = 2; |
-void FreeX509Stack(STACK_OF(X509)* ptr) { |
- sk_X509_pop_free(ptr, X509_free); |
-} |
- |
-using ScopedX509Stack = crypto::ScopedOpenSSL<STACK_OF(X509), FreeX509Stack>; |
- |
-// Used for encoding the |connection_status| field of an SSLInfo object. |
-int EncodeSSLConnectionStatus(uint16 cipher_suite, |
- int compression, |
- int version) { |
- return cipher_suite | |
- ((compression & SSL_CONNECTION_COMPRESSION_MASK) << |
- SSL_CONNECTION_COMPRESSION_SHIFT) | |
- ((version & SSL_CONNECTION_VERSION_MASK) << |
- SSL_CONNECTION_VERSION_SHIFT); |
-} |
- |
-// Returns the net SSL version number (see ssl_connection_status_flags.h) for |
-// this SSL connection. |
-int GetNetSSLVersion(SSL* ssl) { |
- switch (SSL_version(ssl)) { |
- case TLS1_VERSION: |
- return SSL_CONNECTION_VERSION_TLS1; |
- case TLS1_1_VERSION: |
- return SSL_CONNECTION_VERSION_TLS1_1; |
- case TLS1_2_VERSION: |
- return SSL_CONNECTION_VERSION_TLS1_2; |
- default: |
- NOTREACHED(); |
- return SSL_CONNECTION_VERSION_UNKNOWN; |
- } |
-} |
- |
-ScopedX509 OSCertHandleToOpenSSL( |
- X509Certificate::OSCertHandle os_handle) { |
-#if defined(USE_OPENSSL_CERTS) |
- return ScopedX509(X509Certificate::DupOSCertHandle(os_handle)); |
-#else // !defined(USE_OPENSSL_CERTS) |
- std::string der_encoded; |
- if (!X509Certificate::GetDEREncoded(os_handle, &der_encoded)) |
- return ScopedX509(); |
- const uint8_t* bytes = reinterpret_cast<const uint8_t*>(der_encoded.data()); |
- return ScopedX509(d2i_X509(NULL, &bytes, der_encoded.size())); |
-#endif // defined(USE_OPENSSL_CERTS) |
-} |
- |
-ScopedX509Stack OSCertHandlesToOpenSSL( |
- const X509Certificate::OSCertHandles& os_handles) { |
- ScopedX509Stack stack(sk_X509_new_null()); |
- for (size_t i = 0; i < os_handles.size(); i++) { |
- ScopedX509 x509 = OSCertHandleToOpenSSL(os_handles[i]); |
- if (!x509) |
- return ScopedX509Stack(); |
- sk_X509_push(stack.get(), x509.release()); |
- } |
- return stack.Pass(); |
-} |
- |
bool EVP_MDToPrivateKeyHash(const EVP_MD* md, SSLPrivateKey::Hash* hash) { |
switch (EVP_MD_type(md)) { |
case NID_md5_sha1: |
@@ -412,7 +354,7 @@ class SSLClientSocketOpenSSL::PeerCertificateChain { |
} |
private: |
- ScopedX509Stack openssl_chain_; |
+ ScopedX509_STACK openssl_chain_; |
}; |
SSLClientSocketOpenSSL::PeerCertificateChain& |
@@ -764,9 +706,11 @@ bool SSLClientSocketOpenSSL::GetSSLInfo(SSLInfo* ssl_info) { |
ssl_info->key_exchange_info = |
SSL_SESSION_get_key_exchange_info(SSL_get_session(ssl_)); |
- ssl_info->connection_status = EncodeSSLConnectionStatus( |
- static_cast<uint16>(SSL_CIPHER_get_id(cipher)), 0 /* no compression */, |
- GetNetSSLVersion(ssl_)); |
+ SSLConnectionStatusSetCipherSuite( |
+ static_cast<uint16>(SSL_CIPHER_get_id(cipher)), |
+ &ssl_info->connection_status); |
+ SSLConnectionStatusSetVersion(GetNetSSLVersion(ssl_), |
+ &ssl_info->connection_status); |
if (!SSL_get_secure_renegotiation_support(ssl_)) |
ssl_info->connection_status |= SSL_CONNECTION_NO_RENEGOTIATION_EXTENSION; |
@@ -1836,7 +1780,7 @@ int SSLClientSocketOpenSSL::ClientCertRequestCallback(SSL* ssl) { |
return -1; |
} |
- ScopedX509Stack chain = OSCertHandlesToOpenSSL( |
+ ScopedX509_STACK chain = OSCertHandlesToOpenSSL( |
ssl_config_.client_cert->GetIntermediateCertificates()); |
if (!chain) { |
LOG(WARNING) << "Failed to import intermediate certificates"; |