Index: net/quic/core/crypto/quic_crypto_client_config_test.cc |
diff --git a/net/quic/core/crypto/quic_crypto_client_config_test.cc b/net/quic/core/crypto/quic_crypto_client_config_test.cc |
index 072f8657abee9baf6d0789c98ef66bd24a52cfca..0de1e1cf4eea47a8d7fd686803b6c854d8c69707 100644 |
--- a/net/quic/core/crypto/quic_crypto_client_config_test.cc |
+++ b/net/quic/core/crypto/quic_crypto_client_config_test.cc |
@@ -170,12 +170,13 @@ TEST(QuicCryptoClientConfigTest, CachedState_InitializeFrom) { |
TEST(QuicCryptoClientConfigTest, InchoateChlo) { |
QuicCryptoClientConfig::CachedState state; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
- QuicCryptoNegotiatedParameters params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> params( |
+ new QuicCryptoNegotiatedParameters); |
CryptoHandshakeMessage msg; |
QuicServerId server_id("www.google.com", 443, PRIVACY_MODE_DISABLED); |
MockRandom rand; |
config.FillInchoateClientHello(server_id, QuicVersionMax(), &state, &rand, |
- /* demand_x509_proof= */ true, ¶ms, &msg); |
+ /* demand_x509_proof= */ true, params, &msg); |
QuicTag cver; |
EXPECT_EQ(QUIC_NO_ERROR, msg.GetUint32(kVER, &cver)); |
@@ -196,12 +197,13 @@ TEST(QuicCryptoClientConfigTest, PreferAesGcm) { |
TEST(QuicCryptoClientConfigTest, InchoateChloSecure) { |
QuicCryptoClientConfig::CachedState state; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
- QuicCryptoNegotiatedParameters params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> params( |
+ new QuicCryptoNegotiatedParameters); |
CryptoHandshakeMessage msg; |
QuicServerId server_id("www.google.com", 443, PRIVACY_MODE_DISABLED); |
MockRandom rand; |
config.FillInchoateClientHello(server_id, QuicVersionMax(), &state, &rand, |
- /* demand_x509_proof= */ true, ¶ms, &msg); |
+ /* demand_x509_proof= */ true, params, &msg); |
QuicTag pdmd; |
EXPECT_EQ(QUIC_NO_ERROR, msg.GetUint32(kPDMD, &pdmd)); |
@@ -224,12 +226,13 @@ TEST(QuicCryptoClientConfigTest, InchoateChloSecureWithSCIDNoEXPY) { |
&details); |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
- QuicCryptoNegotiatedParameters params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> params( |
+ new QuicCryptoNegotiatedParameters); |
CryptoHandshakeMessage msg; |
QuicServerId server_id("www.google.com", 443, PRIVACY_MODE_DISABLED); |
MockRandom rand; |
config.FillInchoateClientHello(server_id, QuicVersionMax(), &state, &rand, |
- /* demand_x509_proof= */ true, ¶ms, &msg); |
+ /* demand_x509_proof= */ true, params, &msg); |
StringPiece scid; |
EXPECT_TRUE(msg.GetStringPiece(kSCID, &scid)); |
@@ -249,12 +252,13 @@ TEST(QuicCryptoClientConfigTest, InchoateChloSecureWithSCID) { |
QuicWallTime::FromUNIXSeconds(0), &details); |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
- QuicCryptoNegotiatedParameters params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> params( |
+ new QuicCryptoNegotiatedParameters); |
CryptoHandshakeMessage msg; |
QuicServerId server_id("www.google.com", 443, PRIVACY_MODE_DISABLED); |
MockRandom rand; |
config.FillInchoateClientHello(server_id, QuicVersionMax(), &state, &rand, |
- /* demand_x509_proof= */ true, ¶ms, &msg); |
+ /* demand_x509_proof= */ true, params, &msg); |
StringPiece scid; |
EXPECT_TRUE(msg.GetStringPiece(kSCID, &scid)); |
@@ -264,7 +268,8 @@ TEST(QuicCryptoClientConfigTest, InchoateChloSecureWithSCID) { |
TEST(QuicCryptoClientConfigTest, FillClientHello) { |
QuicCryptoClientConfig::CachedState state; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
- QuicCryptoNegotiatedParameters params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> params( |
+ new QuicCryptoNegotiatedParameters); |
QuicConnectionId kConnectionId = 1234; |
string error_details; |
MockRandom rand; |
@@ -273,7 +278,7 @@ TEST(QuicCryptoClientConfigTest, FillClientHello) { |
config.FillClientHello(server_id, kConnectionId, QuicVersionMax(), |
QuicVersionMax(), &state, QuicWallTime::Zero(), &rand, |
nullptr, // channel_id_key |
- ¶ms, &chlo, &error_details); |
+ params, &chlo, &error_details); |
// Verify that certain QuicTags have been set correctly in the CHLO. |
QuicTag cver; |
@@ -297,12 +302,13 @@ TEST(QuicCryptoClientConfigTest, ProcessServerDowngradeAttack) { |
msg.SetVector(kVER, supported_version_tags); |
QuicCryptoClientConfig::CachedState cached; |
- QuicCryptoNegotiatedParameters out_params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> out_params( |
+ new QuicCryptoNegotiatedParameters); |
string error; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
EXPECT_EQ(QUIC_VERSION_NEGOTIATION_MISMATCH, |
config.ProcessServerHello(msg, 0, supported_versions.front(), |
- supported_versions, &cached, &out_params, |
+ supported_versions, &cached, out_params, |
&error)); |
EXPECT_EQ("Downgrade attack detected", error); |
} |
@@ -460,13 +466,14 @@ TEST(QuicCryptoClientConfigTest, ProcessReject) { |
// Now process the rejection. |
QuicCryptoClientConfig::CachedState cached; |
- QuicCryptoNegotiatedParameters out_params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> out_params( |
+ new QuicCryptoNegotiatedParameters); |
string error; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
EXPECT_EQ(QUIC_NO_ERROR, |
config.ProcessRejection(rej, QuicWallTime::FromUNIXSeconds(0), |
AllSupportedVersions().front(), "", &cached, |
- &out_params, &error)); |
+ out_params, &error)); |
EXPECT_FALSE(cached.has_server_designated_connection_id()); |
EXPECT_FALSE(cached.has_server_nonce()); |
} |
@@ -482,13 +489,14 @@ TEST(QuicCryptoClientConfigTest, ProcessStatelessReject) { |
// Now process the rejection. |
QuicCryptoClientConfig::CachedState cached; |
- QuicCryptoNegotiatedParameters out_params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> out_params( |
+ new QuicCryptoNegotiatedParameters); |
string error; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
EXPECT_EQ(QUIC_NO_ERROR, |
config.ProcessRejection(rej, QuicWallTime::FromUNIXSeconds(0), |
AllSupportedVersions().front(), "", &cached, |
- &out_params, &error)); |
+ out_params, &error)); |
EXPECT_TRUE(cached.has_server_designated_connection_id()); |
EXPECT_EQ(kConnectionId, cached.GetNextServerDesignatedConnectionId()); |
EXPECT_EQ(server_nonce, cached.GetNextServerNonce()); |
@@ -502,13 +510,14 @@ TEST(QuicCryptoClientConfigTest, BadlyFormattedStatelessReject) { |
// Now process the rejection. |
QuicCryptoClientConfig::CachedState cached; |
- QuicCryptoNegotiatedParameters out_params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> out_params( |
+ new QuicCryptoNegotiatedParameters); |
string error; |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
EXPECT_EQ(QUIC_CRYPTO_MESSAGE_PARAMETER_NOT_FOUND, |
config.ProcessRejection(rej, QuicWallTime::FromUNIXSeconds(0), |
AllSupportedVersions().front(), "", &cached, |
- &out_params, &error)); |
+ out_params, &error)); |
EXPECT_FALSE(cached.has_server_designated_connection_id()); |
EXPECT_EQ("Missing kRCID", error); |
} |
@@ -527,11 +536,12 @@ TEST(QuicCryptoClientConfigTest, ServerNonceinSHLO) { |
QuicCryptoClientConfig config(CryptoTestUtils::ProofVerifierForTesting()); |
QuicCryptoClientConfig::CachedState cached; |
- QuicCryptoNegotiatedParameters out_params; |
+ scoped_refptr<QuicCryptoNegotiatedParameters> out_params( |
+ new QuicCryptoNegotiatedParameters); |
string error_details; |
EXPECT_EQ(QUIC_INVALID_CRYPTO_MESSAGE_PARAMETER, |
config.ProcessServerHello(msg, 0, version, supported_versions, |
- &cached, &out_params, &error_details)); |
+ &cached, out_params, &error_details)); |
EXPECT_EQ("server hello missing server nonce", error_details); |
} |