OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/crypto/quic_crypto_client_config.h" | 5 #include "net/quic/crypto/quic_crypto_client_config.h" |
6 | 6 |
7 #include "net/quic/crypto/proof_verifier.h" | 7 #include "net/quic/crypto/proof_verifier.h" |
8 #include "net/quic/quic_session_key.h" | 8 #include "net/quic/quic_session_key.h" |
9 #include "net/quic/test_tools/quic_test_utils.h" | 9 #include "net/quic/test_tools/quic_test_utils.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 EXPECT_EQ(state.source_address_token(), other.source_address_token()); | 49 EXPECT_EQ(state.source_address_token(), other.source_address_token()); |
50 EXPECT_EQ(state.certs(), other.certs()); | 50 EXPECT_EQ(state.certs(), other.certs()); |
51 EXPECT_EQ(1u, other.generation_counter()); | 51 EXPECT_EQ(1u, other.generation_counter()); |
52 } | 52 } |
53 | 53 |
54 TEST(QuicCryptoClientConfigTest, InchoateChlo) { | 54 TEST(QuicCryptoClientConfigTest, InchoateChlo) { |
55 QuicCryptoClientConfig::CachedState state; | 55 QuicCryptoClientConfig::CachedState state; |
56 QuicCryptoClientConfig config; | 56 QuicCryptoClientConfig config; |
57 QuicCryptoNegotiatedParameters params; | 57 QuicCryptoNegotiatedParameters params; |
58 CryptoHandshakeMessage msg; | 58 CryptoHandshakeMessage msg; |
59 QuicSessionKey server_key("www.google.com", 80, false); | 59 QuicSessionKey server_key("www.google.com", 80, false, kPrivacyModeDisabled); |
60 config.FillInchoateClientHello(server_key, QuicVersionMax(), &state, | 60 config.FillInchoateClientHello(server_key, QuicVersionMax(), &state, |
61 ¶ms, &msg); | 61 ¶ms, &msg); |
62 | 62 |
63 QuicTag cver; | 63 QuicTag cver; |
64 EXPECT_EQ(QUIC_NO_ERROR, msg.GetUint32(kVER, &cver)); | 64 EXPECT_EQ(QUIC_NO_ERROR, msg.GetUint32(kVER, &cver)); |
65 EXPECT_EQ(QuicVersionToQuicTag(QuicVersionMax()), cver); | 65 EXPECT_EQ(QuicVersionToQuicTag(QuicVersionMax()), cver); |
66 } | 66 } |
67 | 67 |
68 TEST(QuicCryptoClientConfigTest, ProcessServerDowngradeAttack) { | 68 TEST(QuicCryptoClientConfigTest, ProcessServerDowngradeAttack) { |
69 QuicVersionVector supported_versions = QuicSupportedVersions(); | 69 QuicVersionVector supported_versions = QuicSupportedVersions(); |
(...skipping 15 matching lines...) Expand all Loading... |
85 string error; | 85 string error; |
86 QuicCryptoClientConfig config; | 86 QuicCryptoClientConfig config; |
87 EXPECT_EQ(QUIC_VERSION_NEGOTIATION_MISMATCH, | 87 EXPECT_EQ(QUIC_VERSION_NEGOTIATION_MISMATCH, |
88 config.ProcessServerHello(msg, 0, supported_versions, | 88 config.ProcessServerHello(msg, 0, supported_versions, |
89 &cached, &out_params, &error)); | 89 &cached, &out_params, &error)); |
90 EXPECT_EQ("Downgrade attack detected", error); | 90 EXPECT_EQ("Downgrade attack detected", error); |
91 } | 91 } |
92 | 92 |
93 TEST(QuicCryptoClientConfigTest, InitializeFrom) { | 93 TEST(QuicCryptoClientConfigTest, InitializeFrom) { |
94 QuicCryptoClientConfig config; | 94 QuicCryptoClientConfig config; |
95 QuicSessionKey canonical_key1("www.google.com", 80, false); | 95 QuicSessionKey canonical_key1("www.google.com", 80, false, |
| 96 kPrivacyModeDisabled); |
96 QuicCryptoClientConfig::CachedState* state = | 97 QuicCryptoClientConfig::CachedState* state = |
97 config.LookupOrCreate(canonical_key1); | 98 config.LookupOrCreate(canonical_key1); |
98 // TODO(rch): Populate other fields of |state|. | 99 // TODO(rch): Populate other fields of |state|. |
99 state->set_source_address_token("TOKEN"); | 100 state->set_source_address_token("TOKEN"); |
100 state->SetProofValid(); | 101 state->SetProofValid(); |
101 | 102 |
102 QuicSessionKey other_key("mail.google.com", 80, false); | 103 QuicSessionKey other_key("mail.google.com", 80, false, kPrivacyModeDisabled); |
103 config.InitializeFrom(other_key, canonical_key1, &config); | 104 config.InitializeFrom(other_key, canonical_key1, &config); |
104 QuicCryptoClientConfig::CachedState* other = config.LookupOrCreate(other_key); | 105 QuicCryptoClientConfig::CachedState* other = config.LookupOrCreate(other_key); |
105 | 106 |
106 EXPECT_EQ(state->server_config(), other->server_config()); | 107 EXPECT_EQ(state->server_config(), other->server_config()); |
107 EXPECT_EQ(state->source_address_token(), other->source_address_token()); | 108 EXPECT_EQ(state->source_address_token(), other->source_address_token()); |
108 EXPECT_EQ(state->certs(), other->certs()); | 109 EXPECT_EQ(state->certs(), other->certs()); |
109 EXPECT_EQ(1u, other->generation_counter()); | 110 EXPECT_EQ(1u, other->generation_counter()); |
110 } | 111 } |
111 | 112 |
112 } // namespace test | 113 } // namespace test |
113 } // namespace net | 114 } // namespace net |
OLD | NEW |