diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-02 00:24:23 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-02 00:24:23 +0000 |
commit | fc6dd4e81e0abb0b206ddb0d7e81144456a6f419 (patch) | |
tree | cf2f1b84bcfa8086dd32be7afa1dc7ff2b45c5d1 /net | |
parent | 26a47d6cf312d0cb03db19a63e36f767f8fcb554 (diff) | |
download | chromium_src-fc6dd4e81e0abb0b206ddb0d7e81144456a6f419.zip chromium_src-fc6dd4e81e0abb0b206ddb0d7e81144456a6f419.tar.gz chromium_src-fc6dd4e81e0abb0b206ddb0d7e81144456a6f419.tar.bz2 |
Also allow ALPN to enable TLS False Start.
R=agl@chromium.org
BUG=254178
TEST=none
Review URL: https://chromiumcodereview.appspot.com/20799005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215160 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/socket/ssl_client_socket_nss.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc index c3e5a9d..69e3e7a 100644 --- a/net/socket/ssl_client_socket_nss.cc +++ b/net/socket/ssl_client_socket_nss.cc @@ -1281,13 +1281,18 @@ SECStatus SSLClientSocketNSS::Core::OwnAuthCertHandler( // unsafe to call SSL_OptionSet in a renegotiation because the "first // handshake" lock isn't already held, which will result in an assertion // failure in the ssl_Get1stHandshakeLock call in SSL_OptionSet. - PRBool npn; + PRBool negotiated_extension; SECStatus rv = SSL_HandshakeNegotiatedExtension(socket, ssl_next_proto_nego_xtn, - &npn); - if (rv != SECSuccess || !npn) { - // If the server doesn't support NPN, then we don't do False Start with - // it. + &negotiated_extension); + if (rv != SECSuccess || !negotiated_extension) { + rv = SSL_HandshakeNegotiatedExtension(socket, + ssl_application_layer_protocol, + &negotiated_extension); + } + if (rv != SECSuccess || !negotiated_extension) { + // If the server doesn't support NPN or ALPN, then we don't do False + // Start with it. SSL_OptionSet(socket, SSL_ENABLE_FALSE_START, PR_FALSE); } } |