| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 
| 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 
| 7 #pragma once | 7 #pragma once | 
| 8 | 8 | 
|  | 9 #include <string> | 
|  | 10 | 
| 9 #include "base/scoped_ptr.h" | 11 #include "base/scoped_ptr.h" | 
| 10 #include "net/base/cert_verify_result.h" | 12 #include "net/base/cert_verify_result.h" | 
| 11 #include "net/base/completion_callback.h" | 13 #include "net/base/completion_callback.h" | 
| 12 #include "net/base/io_buffer.h" | 14 #include "net/base/io_buffer.h" | 
| 13 #include "net/base/ssl_config_service.h" | 15 #include "net/base/ssl_config_service.h" | 
| 14 #include "net/socket/ssl_client_socket.h" | 16 #include "net/socket/ssl_client_socket.h" | 
| 15 #include "net/socket/client_socket_handle.h" | 17 #include "net/socket/client_socket_handle.h" | 
| 16 | 18 | 
| 17 typedef struct bio_st BIO; | 19 typedef struct bio_st BIO; | 
| 18 typedef struct evp_pkey_st EVP_PKEY; | 20 typedef struct evp_pkey_st EVP_PKEY; | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 37                          const HostPortPair& host_and_port, | 39                          const HostPortPair& host_and_port, | 
| 38                          const SSLConfig& ssl_config); | 40                          const SSLConfig& ssl_config); | 
| 39   ~SSLClientSocketOpenSSL(); | 41   ~SSLClientSocketOpenSSL(); | 
| 40 | 42 | 
| 41   const HostPortPair& host_and_port() const { return host_and_port_; } | 43   const HostPortPair& host_and_port() const { return host_and_port_; } | 
| 42 | 44 | 
| 43   // Callback from the SSL layer that indicates the remote server is requesting | 45   // Callback from the SSL layer that indicates the remote server is requesting | 
| 44   // a certificate for this client. | 46   // a certificate for this client. | 
| 45   int ClientCertRequestCallback(SSL* ssl, X509** x509, EVP_PKEY** pkey); | 47   int ClientCertRequestCallback(SSL* ssl, X509** x509, EVP_PKEY** pkey); | 
| 46 | 48 | 
|  | 49   // Callback from the SSL layer to check which NPN protocol we are supporting | 
|  | 50   int SelectNextProtoCallback(unsigned char** out, unsigned char* outlen, | 
|  | 51                               const unsigned char* in, unsigned int inlen); | 
|  | 52 | 
| 47   // SSLClientSocket methods: | 53   // SSLClientSocket methods: | 
| 48   virtual void GetSSLInfo(SSLInfo* ssl_info); | 54   virtual void GetSSLInfo(SSLInfo* ssl_info); | 
| 49   virtual void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info); | 55   virtual void GetSSLCertRequestInfo(SSLCertRequestInfo* cert_request_info); | 
| 50   virtual NextProtoStatus GetNextProto(std::string* proto); | 56   virtual NextProtoStatus GetNextProto(std::string* proto); | 
| 51 | 57 | 
| 52   // ClientSocket methods: | 58   // ClientSocket methods: | 
| 53   virtual int Connect(CompletionCallback* callback); | 59   virtual int Connect(CompletionCallback* callback); | 
| 54   virtual void Disconnect(); | 60   virtual void Disconnect(); | 
| 55   virtual bool IsConnected() const; | 61   virtual bool IsConnected() const; | 
| 56   virtual bool IsConnectedAndIdle() const; | 62   virtual bool IsConnectedAndIdle() const; | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 139   // Used for session cache diagnostics. | 145   // Used for session cache diagnostics. | 
| 140   bool trying_cached_session_; | 146   bool trying_cached_session_; | 
| 141 | 147 | 
| 142   enum State { | 148   enum State { | 
| 143     STATE_NONE, | 149     STATE_NONE, | 
| 144     STATE_HANDSHAKE, | 150     STATE_HANDSHAKE, | 
| 145     STATE_VERIFY_CERT, | 151     STATE_VERIFY_CERT, | 
| 146     STATE_VERIFY_CERT_COMPLETE, | 152     STATE_VERIFY_CERT_COMPLETE, | 
| 147   }; | 153   }; | 
| 148   State next_handshake_state_; | 154   State next_handshake_state_; | 
|  | 155   NextProtoStatus npn_status_; | 
|  | 156   std::string npn_proto_; | 
| 149   BoundNetLog net_log_; | 157   BoundNetLog net_log_; | 
| 150 }; | 158 }; | 
| 151 | 159 | 
| 152 }  // namespace net | 160 }  // namespace net | 
| 153 | 161 | 
| 154 #endif  // NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 162 #endif  // NET_SOCKET_SSL_CLIENT_SOCKET_OPENSSL_H_ | 
| 155 | 163 | 
| OLD | NEW | 
|---|