Index: net/quic/crypto/quic_crypto_client_config.cc |
diff --git a/net/quic/crypto/quic_crypto_client_config.cc b/net/quic/crypto/quic_crypto_client_config.cc |
index 8902c2dca983bcce392b8f4d598c20b4f22810cb..8f34745cd140194911a5d4d73912e0b858cda98b 100644 |
--- a/net/quic/crypto/quic_crypto_client_config.cc |
+++ b/net/quic/crypto/quic_crypto_client_config.cc |
@@ -20,10 +20,6 @@ |
#include "net/quic/quic_session_key.h" |
#include "net/quic/quic_utils.h" |
-#if defined(OS_WIN) |
-#include "base/win/windows_version.h" |
-#endif |
- |
using base::StringPiece; |
using std::find; |
using std::make_pair; |
@@ -33,7 +29,8 @@ using std::vector; |
namespace net { |
-QuicCryptoClientConfig::QuicCryptoClientConfig() {} |
+QuicCryptoClientConfig::QuicCryptoClientConfig() |
+ : disable_ecdsa_(false) {} |
QuicCryptoClientConfig::~QuicCryptoClientConfig() { |
STLDeleteValues(&cached_states_); |
@@ -258,6 +255,8 @@ void QuicCryptoClientConfig::SetDefaults() { |
aead.push_back(kCC12); |
} |
aead.push_back(kAESG); |
+ |
+ disable_ecdsa_ = false; |
} |
QuicCryptoClientConfig::CachedState* QuicCryptoClientConfig::LookupOrCreate( |
@@ -294,14 +293,7 @@ void QuicCryptoClientConfig::FillInchoateClientHello( |
} |
if (server_key.is_https()) { |
- // Don't request ECDSA proofs on platforms that do not support ECDSA |
- // certificates. |
- bool disableECDSA = false; |
-#if defined(OS_WIN) |
- if (base::win::GetVersion() < base::win::VERSION_VISTA) |
- disableECDSA = true; |
-#endif |
- if (disableECDSA) { |
+ if (disable_ecdsa_) { |
out->SetTaglist(kPDMD, kX59R, 0); |
} else { |
out->SetTaglist(kPDMD, kX509, 0); |
@@ -707,6 +699,10 @@ void QuicCryptoClientConfig::PreferAesGcm() { |
} |
} |
+void QuicCryptoClientConfig::DisableEcdsa() { |
+ disable_ecdsa_ = true; |
+} |
+ |
void QuicCryptoClientConfig::PopulateFromCanonicalConfig( |
const QuicSessionKey& server_key, |
CachedState* server_state) { |