Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: net/socket/ssl_client_socket.h

Issue 869393005: Perform ClientHello padding if the field trial is enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@net_connection_error_uma
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_H_ 5 #ifndef NET_SOCKET_SSL_CLIENT_SOCKET_H_
6 #define NET_SOCKET_SSL_CLIENT_SOCKET_H_ 6 #define NET_SOCKET_SSL_CLIENT_SOCKET_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
11 #include "net/base/completion_callback.h" 11 #include "net/base/completion_callback.h"
12 #include "net/base/load_flags.h" 12 #include "net/base/load_flags.h"
13 #include "net/base/net_errors.h" 13 #include "net/base/net_errors.h"
14 #include "net/socket/ssl_socket.h" 14 #include "net/socket/ssl_socket.h"
15 #include "net/socket/stream_socket.h" 15 #include "net/socket/stream_socket.h"
16 16
17 namespace net { 17 namespace net {
18 18
19 class CertPolicyEnforcer; 19 class CertPolicyEnforcer;
20 class CertVerifier; 20 class CertVerifier;
21 class ChannelIDService; 21 class ChannelIDService;
22 class CTVerifier; 22 class CTVerifier;
23 class HostPortPair; 23 class HostPortPair;
24 class ServerBoundCertService; 24 class ServerBoundCertService;
25 class SSLCertRequestInfo; 25 class SSLCertRequestInfo;
26 struct SSLConfig; 26 struct SSLConfig;
27 class SSLInfo; 27 class SSLInfo;
28 class SSLSocketConfigService;
28 class TransportSecurityState; 29 class TransportSecurityState;
29 class X509Certificate; 30 class X509Certificate;
30 31
31 // This struct groups together several fields which are used by various 32 // This struct groups together several fields which are used by various
32 // classes related to SSLClientSocket. 33 // classes related to SSLClientSocket.
33 struct SSLClientSocketContext { 34 struct SSLClientSocketContext {
34 SSLClientSocketContext() 35 SSLClientSocketContext()
35 : cert_verifier(NULL), 36 : cert_verifier(NULL),
36 channel_id_service(NULL), 37 channel_id_service(NULL),
37 transport_security_state(NULL), 38 transport_security_state(NULL),
38 cert_transparency_verifier(NULL), 39 cert_transparency_verifier(NULL),
39 cert_policy_enforcer(NULL) {} 40 cert_policy_enforcer(NULL),
41 ssl_socket_config_service(NULL) {}
40 42
41 SSLClientSocketContext(CertVerifier* cert_verifier_arg, 43 SSLClientSocketContext(CertVerifier* cert_verifier_arg,
42 ChannelIDService* channel_id_service_arg, 44 ChannelIDService* channel_id_service_arg,
43 TransportSecurityState* transport_security_state_arg, 45 TransportSecurityState* transport_security_state_arg,
44 CTVerifier* cert_transparency_verifier_arg, 46 CTVerifier* cert_transparency_verifier_arg,
45 CertPolicyEnforcer* cert_policy_enforcer_arg, 47 CertPolicyEnforcer* cert_policy_enforcer_arg,
46 const std::string& ssl_session_cache_shard_arg) 48 const std::string& ssl_session_cache_shard_arg,
49 SSLSocketConfigService* ssl_socket_config_service_arg)
47 : cert_verifier(cert_verifier_arg), 50 : cert_verifier(cert_verifier_arg),
48 channel_id_service(channel_id_service_arg), 51 channel_id_service(channel_id_service_arg),
49 transport_security_state(transport_security_state_arg), 52 transport_security_state(transport_security_state_arg),
50 cert_transparency_verifier(cert_transparency_verifier_arg), 53 cert_transparency_verifier(cert_transparency_verifier_arg),
51 cert_policy_enforcer(cert_policy_enforcer_arg), 54 cert_policy_enforcer(cert_policy_enforcer_arg),
52 ssl_session_cache_shard(ssl_session_cache_shard_arg) {} 55 ssl_session_cache_shard(ssl_session_cache_shard_arg),
56 ssl_socket_config_service(ssl_socket_config_service_arg) {}
53 57
54 CertVerifier* cert_verifier; 58 CertVerifier* cert_verifier;
55 ChannelIDService* channel_id_service; 59 ChannelIDService* channel_id_service;
56 TransportSecurityState* transport_security_state; 60 TransportSecurityState* transport_security_state;
57 CTVerifier* cert_transparency_verifier; 61 CTVerifier* cert_transparency_verifier;
58 CertPolicyEnforcer* cert_policy_enforcer; 62 CertPolicyEnforcer* cert_policy_enforcer;
59 // ssl_session_cache_shard is an opaque string that identifies a shard of the 63 // ssl_session_cache_shard is an opaque string that identifies a shard of the
60 // SSL session cache. SSL sockets with the same ssl_session_cache_shard may 64 // SSL session cache. SSL sockets with the same ssl_session_cache_shard may
61 // resume each other's SSL sessions but we'll never sessions between shards. 65 // resume each other's SSL sessions but we'll never sessions between shards.
62 const std::string ssl_session_cache_shard; 66 const std::string ssl_session_cache_shard;
67 SSLSocketConfigService* ssl_socket_config_service;
63 }; 68 };
64 69
65 // A client socket that uses SSL as the transport layer. 70 // A client socket that uses SSL as the transport layer.
66 // 71 //
67 // NOTE: The SSL handshake occurs within the Connect method after a TCP 72 // NOTE: The SSL handshake occurs within the Connect method after a TCP
68 // connection is established. If a SSL error occurs during the handshake, 73 // connection is established. If a SSL error occurs during the handshake,
69 // Connect will fail. 74 // Connect will fail.
70 // 75 //
71 class NET_EXPORT SSLClientSocket : public SSLSocket { 76 class NET_EXPORT SSLClientSocket : public SSLSocket {
72 public: 77 public:
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 bool signed_cert_timestamps_received_; 263 bool signed_cert_timestamps_received_;
259 // True if a stapled OCSP response was received. 264 // True if a stapled OCSP response was received.
260 bool stapled_ocsp_response_received_; 265 bool stapled_ocsp_response_received_;
261 // Protocol negotiation extension used. 266 // Protocol negotiation extension used.
262 SSLNegotiationExtension negotiation_extension_; 267 SSLNegotiationExtension negotiation_extension_;
263 }; 268 };
264 269
265 } // namespace net 270 } // namespace net
266 271
267 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_H_ 272 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698