OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/test_tools/quic_test_utils.h" | 5 #include "net/quic/test_tools/quic_test_utils.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "net/quic/core/crypto/crypto_framer.h" | 10 #include "net/quic/core/crypto/crypto_framer.h" |
11 #include "net/quic/core/crypto/crypto_handshake.h" | 11 #include "net/quic/core/crypto/crypto_handshake.h" |
12 #include "net/quic/core/crypto/crypto_utils.h" | 12 #include "net/quic/core/crypto/crypto_utils.h" |
13 #include "net/quic/core/crypto/null_encrypter.h" | 13 #include "net/quic/core/crypto/null_encrypter.h" |
14 #include "net/quic/core/crypto/quic_decrypter.h" | 14 #include "net/quic/core/crypto/quic_decrypter.h" |
15 #include "net/quic/core/crypto/quic_encrypter.h" | 15 #include "net/quic/core/crypto/quic_encrypter.h" |
16 #include "net/quic/core/quic_data_writer.h" | 16 #include "net/quic/core/quic_data_writer.h" |
17 #include "net/quic/core/quic_flags.h" | 17 #include "net/quic/core/quic_flags.h" |
18 #include "net/quic/core/quic_framer.h" | 18 #include "net/quic/core/quic_framer.h" |
19 #include "net/quic/core/quic_packet_creator.h" | 19 #include "net/quic/core/quic_packet_creator.h" |
20 #include "net/quic/core/quic_utils.h" | 20 #include "net/quic/core/quic_utils.h" |
| 21 #include "net/quic/platform/api/quic_endian.h" |
21 #include "net/quic/platform/api/quic_logging.h" | 22 #include "net/quic/platform/api/quic_logging.h" |
22 #include "net/quic/platform/api/quic_ptr_util.h" | 23 #include "net/quic/platform/api/quic_ptr_util.h" |
23 #include "net/quic/test_tools/crypto_test_utils.h" | 24 #include "net/quic/test_tools/crypto_test_utils.h" |
24 #include "net/quic/test_tools/quic_connection_peer.h" | 25 #include "net/quic/test_tools/quic_connection_peer.h" |
25 #include "net/spdy/spdy_frame_builder.h" | 26 #include "net/spdy/spdy_frame_builder.h" |
26 #include "third_party/boringssl/src/include/openssl/sha.h" | 27 #include "third_party/boringssl/src/include/openssl/sha.h" |
27 | 28 |
28 using std::string; | 29 using std::string; |
29 using testing::_; | 30 using testing::_; |
30 using testing::Invoke; | 31 using testing::Invoke; |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 | 121 |
121 void SimpleRandom::Reseed(const void* additional_entropy, size_t len) { | 122 void SimpleRandom::Reseed(const void* additional_entropy, size_t len) { |
122 const uint8_t* real_entropy = static_cast<const uint8_t*>(additional_entropy); | 123 const uint8_t* real_entropy = static_cast<const uint8_t*>(additional_entropy); |
123 for (size_t offset = 0; offset < len; offset++) { | 124 for (size_t offset = 0; offset < len; offset++) { |
124 // Note: this is not actually a well-established way to incorporate new | 125 // Note: this is not actually a well-established way to incorporate new |
125 // entropy, but good enough for tests. | 126 // entropy, but good enough for tests. |
126 seed_ *= real_entropy[len]; | 127 seed_ *= real_entropy[len]; |
127 } | 128 } |
128 } | 129 } |
129 | 130 |
| 131 QuicConnectionId GetPeerInMemoryConnectionId(QuicConnectionId connection_id) { |
| 132 if (FLAGS_quic_restart_flag_quic_big_endian_connection_id_client == |
| 133 FLAGS_quic_restart_flag_quic_big_endian_connection_id_server) { |
| 134 // Both endpoints have same endianess. |
| 135 return connection_id; |
| 136 } |
| 137 return net::QuicEndian::NetToHost64(connection_id); |
| 138 } |
| 139 |
130 MockFramerVisitor::MockFramerVisitor() { | 140 MockFramerVisitor::MockFramerVisitor() { |
131 // By default, we want to accept packets. | 141 // By default, we want to accept packets. |
132 ON_CALL(*this, OnProtocolVersionMismatch(_)) | 142 ON_CALL(*this, OnProtocolVersionMismatch(_)) |
133 .WillByDefault(testing::Return(false)); | 143 .WillByDefault(testing::Return(false)); |
134 | 144 |
135 // By default, we want to accept packets. | 145 // By default, we want to accept packets. |
136 ON_CALL(*this, OnUnauthenticatedHeader(_)) | 146 ON_CALL(*this, OnUnauthenticatedHeader(_)) |
137 .WillByDefault(testing::Return(true)); | 147 .WillByDefault(testing::Return(true)); |
138 | 148 |
139 ON_CALL(*this, OnUnauthenticatedPublicHeader(_)) | 149 ON_CALL(*this, OnUnauthenticatedPublicHeader(_)) |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 return &buffer_allocator_; | 266 return &buffer_allocator_; |
257 } | 267 } |
258 | 268 |
259 void MockQuicConnectionHelper::AdvanceTime(QuicTime::Delta delta) { | 269 void MockQuicConnectionHelper::AdvanceTime(QuicTime::Delta delta) { |
260 clock_.AdvanceTime(delta); | 270 clock_.AdvanceTime(delta); |
261 } | 271 } |
262 | 272 |
263 MockQuicConnection::MockQuicConnection(MockQuicConnectionHelper* helper, | 273 MockQuicConnection::MockQuicConnection(MockQuicConnectionHelper* helper, |
264 MockAlarmFactory* alarm_factory, | 274 MockAlarmFactory* alarm_factory, |
265 Perspective perspective) | 275 Perspective perspective) |
266 : MockQuicConnection(kTestConnectionId, | 276 : MockQuicConnection( |
267 QuicSocketAddress(TestPeerIPAddress(), kTestPort), | 277 QuicUtils::IsConnectionIdWireFormatBigEndian(perspective) |
268 helper, | 278 ? QuicEndian::NetToHost64(kTestConnectionId) |
269 alarm_factory, | 279 : kTestConnectionId, |
270 perspective, | 280 QuicSocketAddress(TestPeerIPAddress(), kTestPort), |
271 AllSupportedVersions()) {} | 281 helper, |
| 282 alarm_factory, |
| 283 perspective, |
| 284 AllSupportedVersions()) {} |
272 | 285 |
273 MockQuicConnection::MockQuicConnection(QuicSocketAddress address, | 286 MockQuicConnection::MockQuicConnection(QuicSocketAddress address, |
274 MockQuicConnectionHelper* helper, | 287 MockQuicConnectionHelper* helper, |
275 MockAlarmFactory* alarm_factory, | 288 MockAlarmFactory* alarm_factory, |
276 Perspective perspective) | 289 Perspective perspective) |
277 : MockQuicConnection(kTestConnectionId, | 290 : MockQuicConnection( |
278 address, | 291 QuicUtils::IsConnectionIdWireFormatBigEndian(perspective) |
279 helper, | 292 ? QuicEndian::NetToHost64(kTestConnectionId) |
280 alarm_factory, | 293 : kTestConnectionId, |
281 perspective, | 294 address, |
282 AllSupportedVersions()) {} | 295 helper, |
| 296 alarm_factory, |
| 297 perspective, |
| 298 AllSupportedVersions()) {} |
283 | 299 |
284 MockQuicConnection::MockQuicConnection(QuicConnectionId connection_id, | 300 MockQuicConnection::MockQuicConnection(QuicConnectionId connection_id, |
285 MockQuicConnectionHelper* helper, | 301 MockQuicConnectionHelper* helper, |
286 MockAlarmFactory* alarm_factory, | 302 MockAlarmFactory* alarm_factory, |
287 Perspective perspective) | 303 Perspective perspective) |
288 : MockQuicConnection(connection_id, | 304 : MockQuicConnection(connection_id, |
289 QuicSocketAddress(TestPeerIPAddress(), kTestPort), | 305 QuicSocketAddress(TestPeerIPAddress(), kTestPort), |
290 helper, | 306 helper, |
291 alarm_factory, | 307 alarm_factory, |
292 perspective, | 308 perspective, |
293 CurrentSupportedVersions()) {} | 309 CurrentSupportedVersions()) {} |
294 | 310 |
295 MockQuicConnection::MockQuicConnection( | 311 MockQuicConnection::MockQuicConnection( |
296 MockQuicConnectionHelper* helper, | 312 MockQuicConnectionHelper* helper, |
297 MockAlarmFactory* alarm_factory, | 313 MockAlarmFactory* alarm_factory, |
298 Perspective perspective, | 314 Perspective perspective, |
299 const QuicVersionVector& supported_versions) | 315 const QuicVersionVector& supported_versions) |
300 : MockQuicConnection(kTestConnectionId, | 316 : MockQuicConnection( |
301 QuicSocketAddress(TestPeerIPAddress(), kTestPort), | 317 QuicUtils::IsConnectionIdWireFormatBigEndian(perspective) |
302 helper, | 318 ? QuicEndian::NetToHost64(kTestConnectionId) |
303 alarm_factory, | 319 : kTestConnectionId, |
304 perspective, | 320 QuicSocketAddress(TestPeerIPAddress(), kTestPort), |
305 supported_versions) {} | 321 helper, |
| 322 alarm_factory, |
| 323 perspective, |
| 324 supported_versions) {} |
306 | 325 |
307 MockQuicConnection::MockQuicConnection( | 326 MockQuicConnection::MockQuicConnection( |
308 QuicConnectionId connection_id, | 327 QuicConnectionId connection_id, |
309 QuicSocketAddress address, | 328 QuicSocketAddress address, |
310 MockQuicConnectionHelper* helper, | 329 MockQuicConnectionHelper* helper, |
311 MockAlarmFactory* alarm_factory, | 330 MockAlarmFactory* alarm_factory, |
312 Perspective perspective, | 331 Perspective perspective, |
313 const QuicVersionVector& supported_versions) | 332 const QuicVersionVector& supported_versions) |
314 : QuicConnection(connection_id, | 333 : QuicConnection(connection_id, |
315 address, | 334 address, |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 // strike register worries that we've just overflowed a uint32_t time. | 839 // strike register worries that we've just overflowed a uint32_t time. |
821 (*server_connection)->AdvanceTime(connection_start_time); | 840 (*server_connection)->AdvanceTime(connection_start_time); |
822 } | 841 } |
823 | 842 |
824 QuicStreamId QuicClientDataStreamId(int i) { | 843 QuicStreamId QuicClientDataStreamId(int i) { |
825 return kClientDataStreamId1 + 2 * i; | 844 return kClientDataStreamId1 + 2 * i; |
826 } | 845 } |
827 | 846 |
828 } // namespace test | 847 } // namespace test |
829 } // namespace net | 848 } // namespace net |
OLD | NEW |