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

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

Issue 981723008: Unwind the SSL connection holdback experiment and remove related code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename & reformat Created 5 years, 9 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
« no previous file with comments | « net/socket/socket_test_util.cc ('k') | net/socket/ssl_client_socket.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
24 class ServerBoundCertService;
25 class SSLCertRequestInfo; 23 class SSLCertRequestInfo;
26 struct SSLConfig; 24 struct SSLConfig;
27 class SSLInfo; 25 class SSLInfo;
28 class TransportSecurityState; 26 class TransportSecurityState;
29 class X509Certificate; 27 class X509Certificate;
30 28
31 // This struct groups together several fields which are used by various 29 // This struct groups together several fields which are used by various
32 // classes related to SSLClientSocket. 30 // classes related to SSLClientSocket.
33 struct SSLClientSocketContext { 31 struct SSLClientSocketContext {
34 SSLClientSocketContext() 32 SSLClientSocketContext()
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 enum SSLNegotiationExtension { 86 enum SSLNegotiationExtension {
89 kExtensionUnknown, 87 kExtensionUnknown,
90 kExtensionALPN, 88 kExtensionALPN,
91 kExtensionNPN, 89 kExtensionNPN,
92 }; 90 };
93 91
94 // StreamSocket: 92 // StreamSocket:
95 bool WasNpnNegotiated() const override; 93 bool WasNpnNegotiated() const override;
96 NextProto GetNegotiatedProtocol() const override; 94 NextProto GetNegotiatedProtocol() const override;
97 95
98 // Computes a unique key string for the SSL session cache.
99 virtual std::string GetSessionCacheKey() const = 0;
100
101 // Returns true if there is a cache entry in the SSL session cache
102 // for the cache key of the SSL socket.
103 //
104 // The cache key consists of a host and port concatenated with a session
105 // cache shard. These two strings are passed to the constructor of most
106 // subclasses of SSLClientSocket.
107 virtual bool InSessionCache() const = 0;
108
109 // Sets |callback| to be run when the handshake has fully completed.
110 // For example, in the case of False Start, Connect() will return
111 // early, before the peer's TLS Finished message has been verified,
112 // in order to allow the caller to call Write() and send application
113 // data with the client's Finished message.
114 // In such situations, |callback| will be invoked sometime after
115 // Connect() - either during a Write() or Read() call, and before
116 // invoking the Read() or Write() callback.
117 // Otherwise, during a traditional TLS connection (i.e. no False
118 // Start), this will be called right before the Connect() callback
119 // is called.
120 //
121 // Note that it's not valid to mutate this socket during such
122 // callbacks, including deleting the socket.
123 //
124 // TODO(mshelley): Provide additional details about whether or not
125 // the handshake actually succeeded or not. This can be inferred
126 // from the result to Connect()/Read()/Write(), but may be useful
127 // to inform here as well.
128 virtual void SetHandshakeCompletionCallback(
129 const base::Closure& callback) = 0;
130
131 // Gets the SSL CertificateRequest info of the socket after Connect failed 96 // Gets the SSL CertificateRequest info of the socket after Connect failed
132 // with ERR_SSL_CLIENT_AUTH_CERT_NEEDED. 97 // with ERR_SSL_CLIENT_AUTH_CERT_NEEDED.
133 virtual void GetSSLCertRequestInfo( 98 virtual void GetSSLCertRequestInfo(
134 SSLCertRequestInfo* cert_request_info) = 0; 99 SSLCertRequestInfo* cert_request_info) = 0;
135 100
136 // Get the application level protocol that we negotiated with the server. 101 // Get the application level protocol that we negotiated with the server.
137 // *proto is set to the resulting protocol (n.b. that the string may have 102 // *proto is set to the resulting protocol (n.b. that the string may have
138 // embedded NULs). 103 // embedded NULs).
139 // kNextProtoUnsupported: *proto is cleared. 104 // kNextProtoUnsupported: *proto is cleared.
140 // kNextProtoNegotiated: *proto is set to the negotiated protocol. 105 // kNextProtoNegotiated: *proto is set to the negotiated protocol.
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 bool signed_cert_timestamps_received_; 222 bool signed_cert_timestamps_received_;
258 // True if a stapled OCSP response was received. 223 // True if a stapled OCSP response was received.
259 bool stapled_ocsp_response_received_; 224 bool stapled_ocsp_response_received_;
260 // Protocol negotiation extension used. 225 // Protocol negotiation extension used.
261 SSLNegotiationExtension negotiation_extension_; 226 SSLNegotiationExtension negotiation_extension_;
262 }; 227 };
263 228
264 } // namespace net 229 } // namespace net
265 230
266 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_H_ 231 #endif // NET_SOCKET_SSL_CLIENT_SOCKET_H_
OLDNEW
« no previous file with comments | « net/socket/socket_test_util.cc ('k') | net/socket/ssl_client_socket.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698