Index: net/socket/ssl_client_socket_nss.cc |
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc |
index 371155c0aa982c07c6b7563042b9abc303566f07..d722c3f66c7388a73cfb4cc167a233b29a876044 100644 |
--- a/net/socket/ssl_client_socket_nss.cc |
+++ b/net/socket/ssl_client_socket_nss.cc |
@@ -1262,7 +1262,6 @@ SECStatus SSLClientSocketNSS::Core::OwnAuthCertHandler( |
PRFileDesc* socket, |
PRBool checksig, |
PRBool is_server) { |
-#ifdef SSL_ENABLE_FALSE_START |
Core* core = reinterpret_cast<Core*>(arg); |
if (!core->handshake_callback_called_) { |
// Only need to turn off False Start in the initial handshake. Also, it is |
@@ -1279,7 +1278,6 @@ SECStatus SSLClientSocketNSS::Core::OwnAuthCertHandler( |
SSL_OptionSet(socket, SSL_ENABLE_FALSE_START, PR_FALSE); |
} |
} |
-#endif |
// Tell NSS to not verify the certificate. |
return SECSuccess; |
@@ -2473,8 +2471,8 @@ void SSLClientSocketNSS::Core::UpdateConnectionStatus() { |
SSL_CONNECTION_COMPRESSION_MASK) << |
SSL_CONNECTION_COMPRESSION_SHIFT; |
- // NSS 3.12.x doesn't have version macros for TLS 1.1 and 1.2 (because NSS |
- // doesn't support them yet), so we use 0x0302 and 0x0303 directly. |
+ // NSS 3.14.x doesn't have a version macro for TLS 1.2 (because NSS didn't |
+ // support it yet), so use 0x0303 directly. |
int version = SSL_CONNECTION_VERSION_UNKNOWN; |
if (channel_info.protocolVersion < SSL_LIBRARY_VERSION_3_0) { |
// All versions less than SSL_LIBRARY_VERSION_3_0 are treated as SSL |
@@ -2484,7 +2482,7 @@ void SSLClientSocketNSS::Core::UpdateConnectionStatus() { |
version = SSL_CONNECTION_VERSION_SSL3; |
} else if (channel_info.protocolVersion == SSL_LIBRARY_VERSION_3_1_TLS) { |
version = SSL_CONNECTION_VERSION_TLS1; |
- } else if (channel_info.protocolVersion == 0x0302) { |
+ } else if (channel_info.protocolVersion == SSL_LIBRARY_VERSION_TLS_1_1) { |
version = SSL_CONNECTION_VERSION_TLS1_1; |
} else if (channel_info.protocolVersion == 0x0303) { |
version = SSL_CONNECTION_VERSION_TLS1_2; |
@@ -2494,10 +2492,6 @@ void SSLClientSocketNSS::Core::UpdateConnectionStatus() { |
SSL_CONNECTION_VERSION_SHIFT; |
} |
- // SSL_HandshakeNegotiatedExtension was added in NSS 3.12.6. |
- // Since SSL_MAX_EXTENSIONS was added at the same time, we can test |
- // SSL_MAX_EXTENSIONS for the presence of SSL_HandshakeNegotiatedExtension. |
-#if defined(SSL_MAX_EXTENSIONS) |
PRBool peer_supports_renego_ext; |
ok = SSL_HandshakeNegotiatedExtension(nss_fd_, ssl_renegotiation_info_xtn, |
&peer_supports_renego_ext); |
@@ -2531,7 +2525,6 @@ void SSLClientSocketNSS::Core::UpdateConnectionStatus() { |
peer_supports_renego_ext == PR_TRUE); |
} |
} |
-#endif |
if (ssl_config_.version_fallback) { |
nss_handshake_state_.ssl_connection_status |= |
@@ -3180,25 +3173,18 @@ int SSLClientSocketNSS::InitializeSSLOptions() { |
SSL_CipherPrefSet(nss_fd_, *it, PR_FALSE); |
} |
-#ifdef SSL_ENABLE_SESSION_TICKETS |
// Support RFC 5077 |
rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_SESSION_TICKETS, PR_TRUE); |
if (rv != SECSuccess) { |
LogFailedNSSFunction( |
net_log_, "SSL_OptionSet", "SSL_ENABLE_SESSION_TICKETS"); |
} |
-#else |
- #error "You need to install NSS-3.12 or later to build chromium" |
-#endif |
-#ifdef SSL_ENABLE_FALSE_START |
rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_FALSE_START, |
ssl_config_.false_start_enabled); |
if (rv != SECSuccess) |
LogFailedNSSFunction(net_log_, "SSL_OptionSet", "SSL_ENABLE_FALSE_START"); |
-#endif |
-#ifdef SSL_ENABLE_RENEGOTIATION |
// We allow servers to request renegotiation. Since we're a client, |
// prohibiting this is rather a waste of time. Only servers are in a |
// position to prevent renegotiation attacks. |
@@ -3210,14 +3196,12 @@ int SSLClientSocketNSS::InitializeSSLOptions() { |
LogFailedNSSFunction( |
net_log_, "SSL_OptionSet", "SSL_ENABLE_RENEGOTIATION"); |
} |
-#endif // SSL_ENABLE_RENEGOTIATION |
-#ifdef SSL_CBC_RANDOM_IV |
rv = SSL_OptionSet(nss_fd_, SSL_CBC_RANDOM_IV, PR_TRUE); |
if (rv != SECSuccess) |
LogFailedNSSFunction(net_log_, "SSL_OptionSet", "SSL_CBC_RANDOM_IV"); |
-#endif |
+// Added in NSS 3.15 |
#ifdef SSL_ENABLE_OCSP_STAPLING |
if (IsOCSPStaplingSupported()) { |
rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_OCSP_STAPLING, PR_TRUE); |
@@ -3228,6 +3212,7 @@ int SSLClientSocketNSS::InitializeSSLOptions() { |
} |
#endif |
+// Chromium patch to libssl |
#ifdef SSL_ENABLE_CACHED_INFO |
rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_CACHED_INFO, |
ssl_config_.cached_info_enabled); |