summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-02 00:24:23 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-02 00:24:23 +0000
commitfc6dd4e81e0abb0b206ddb0d7e81144456a6f419 (patch)
treecf2f1b84bcfa8086dd32be7afa1dc7ff2b45c5d1 /net
parent26a47d6cf312d0cb03db19a63e36f767f8fcb554 (diff)
downloadchromium_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.cc15
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);
}
}