| Index: net/quic/core/quic_connection_test.cc
|
| diff --git a/net/quic/core/quic_connection_test.cc b/net/quic/core/quic_connection_test.cc
|
| index 4225d3dac31e79a8a9e662768b7e94c9383317da..e70cf22d6a8666dfadfd2c7146ae982d9a9fed39 100644
|
| --- a/net/quic/core/quic_connection_test.cc
|
| +++ b/net/quic/core/quic_connection_test.cc
|
| @@ -1140,6 +1140,33 @@ TEST_P(QuicConnectionTest, SelfAddressChangeAtServer) {
|
| EXPECT_FALSE(connection_.connected());
|
| }
|
|
|
| +TEST_P(QuicConnectionTest, AllowSelfAddressChangeToMappedIpv4AddressAtServer) {
|
| + FLAGS_quic_allow_server_address_change_for_mapped_ipv4 = true;
|
| + EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| +
|
| + set_perspective(Perspective::IS_SERVER);
|
| + QuicPacketCreatorPeer::SetSendVersionInPacket(creator_, false);
|
| +
|
| + EXPECT_EQ(Perspective::IS_SERVER, connection_.perspective());
|
| + EXPECT_TRUE(connection_.connected());
|
| +
|
| + QuicStreamFrame stream_frame(1u, false, 0u, StringPiece());
|
| + EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(3);
|
| + IPEndPoint self_address1(IPAddress(1, 1, 1, 1), 443);
|
| + ProcessFramePacketWithAddresses(QuicFrame(&stream_frame), self_address1,
|
| + kPeerAddress);
|
| + // Cause self_address change to mapped Ipv4 address.
|
| + IPEndPoint self_address2(ConvertIPv4ToIPv4MappedIPv6(self_address1.address()),
|
| + 443);
|
| + ProcessFramePacketWithAddresses(QuicFrame(&stream_frame), self_address2,
|
| + kPeerAddress);
|
| + EXPECT_TRUE(connection_.connected());
|
| + // self_address change back to Ipv4 address.
|
| + ProcessFramePacketWithAddresses(QuicFrame(&stream_frame), self_address1,
|
| + kPeerAddress);
|
| + EXPECT_TRUE(connection_.connected());
|
| +}
|
| +
|
| TEST_P(QuicConnectionTest, ClientAddressChangeAndPacketReordered) {
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| set_perspective(Perspective::IS_SERVER);
|
|
|