| Index: net/socket/ssl_client_socket_nss.h
|
| diff --git a/net/socket/ssl_client_socket_nss.h b/net/socket/ssl_client_socket_nss.h
|
| index 47fed74d9d3361f131840b487e0971929b224b9f..3697b18fed01942c327217da5e63050f1f0df476 100644
|
| --- a/net/socket/ssl_client_socket_nss.h
|
| +++ b/net/socket/ssl_client_socket_nss.h
|
| @@ -64,6 +64,7 @@ class SSLClientSocketNSS : public SSLClientSocket {
|
| scoped_ptr<ClientSocketHandle> transport_socket,
|
| const HostPortPair& host_and_port,
|
| const SSLConfig& ssl_config,
|
| + SSLHostInfo* ssl_host_info,
|
| const SSLClientSocketContext& context);
|
| virtual ~SSLClientSocketNSS();
|
|
|
| @@ -113,6 +114,7 @@ class SSLClientSocketNSS : public SSLClientSocket {
|
|
|
| enum State {
|
| STATE_NONE,
|
| + STATE_LOAD_SSL_HOST_INFO,
|
| STATE_HANDSHAKE,
|
| STATE_HANDSHAKE_COMPLETE,
|
| STATE_VERIFY_CERT,
|
| @@ -131,11 +133,15 @@ class SSLClientSocketNSS : public SSLClientSocket {
|
| void DoConnectCallback(int result);
|
| void OnHandshakeIOComplete(int result);
|
|
|
| + void LoadSSLHostInfo();
|
| + int DoLoadSSLHostInfo();
|
| +
|
| int DoHandshakeLoop(int last_io_result);
|
| int DoHandshake();
|
| int DoHandshakeComplete(int result);
|
| int DoVerifyCert(int result);
|
| int DoVerifyCertComplete(int result);
|
| + void SaveSSLHostInfo();
|
|
|
| void VerifyCT();
|
|
|
| @@ -163,7 +169,11 @@ class SSLClientSocketNSS : public SSLClientSocket {
|
|
|
| CompletionCallback user_connect_callback_;
|
|
|
| - CertVerifyResult server_cert_verify_result_;
|
| + // |server_cert_verify_result_| points at the verification result, which may,
|
| + // or may not be, |&local_server_cert_verify_result_|, depending on whether
|
| + // we used an SSLHostInfo's verification.
|
| + const CertVerifyResult* server_cert_verify_result_;
|
| + CertVerifyResult local_server_cert_verify_result_;
|
|
|
| CertVerifier* const cert_verifier_;
|
| scoped_ptr<SingleRequestCertVerifier> verifier_;
|
| @@ -194,6 +204,8 @@ class SSLClientSocketNSS : public SSLClientSocket {
|
|
|
| base::TimeTicks start_cert_verification_time_;
|
|
|
| + scoped_ptr<SSLHostInfo> ssl_host_info_;
|
| +
|
| TransportSecurityState* transport_security_state_;
|
|
|
| // The following two variables are added for debugging bug 65948. Will
|
|
|