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

Unified Diff: net/socket/ssl_client_socket_openssl.h

Issue 994263002: Rewrite session cache in OpenSSL ports. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sleevi comments 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 side-by-side diff with in-line comments
Download patch
Index: net/socket/ssl_client_socket_openssl.h
diff --git a/net/socket/ssl_client_socket_openssl.h b/net/socket/ssl_client_socket_openssl.h
index f19813ed05667bcf3a0d4037e46fd892767fbcd6..ceed942d35f563d084bbe75b2f5174e3a9d5f334 100644
--- a/net/socket/ssl_client_socket_openssl.h
+++ b/net/socket/ssl_client_socket_openssl.h
@@ -166,6 +166,14 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
const char *argp, int argi, long argl,
long retvalue);
+ // Called after the initial handshake completes and after the server
+ // certificate has been verified. Depending on whether the handshake False
+ // Started, the events may happen in either order. When both have, the session
+ // is cached.
Ryan Sleevi 2015/03/24 23:47:22 It took me a while to parse this comment, as I tho
davidben 2015/03/26 20:22:57 Done.
+ void MaybeCacheSession();
+
+ void InfoCallback(int type, int val);
Ryan Sleevi 2015/03/24 23:47:22 Document. How does this differ from say 164? May j
davidben 2015/03/26 20:22:57 They're basically totally unrelated. :-P
+
// Adds the SignedCertificateTimestamps from ct_verify_result_ to |ssl_info|.
// SCTs are held in three separate vectors in ct_verify_result, each
// vetor representing a particular verification state, this method associates
@@ -264,9 +272,6 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
// resume on the socket with a different value.
const std::string ssl_session_cache_shard_;
- // Used for session cache diagnostics.
- bool trying_cached_session_;
-
enum State {
STATE_NONE,
STATE_HANDSHAKE,
@@ -283,6 +288,10 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
std::string channel_id_cert_;
// True if channel ID extension was negotiated.
bool channel_id_xtn_negotiated_;
+ // True if the initial handshake has completed.
+ bool handshake_completed_;
+ // True if the initial handshake's certificate has been verified.
+ bool certificate_verified_;
// The request handle for |channel_id_service_|.
ChannelIDService::RequestHandle channel_id_request_handle_;

Powered by Google App Engine
This is Rietveld 408576698