Do not always disable migration when using TLS gfe-relnote: do not disable migration, protected by disabled TLS flag PiperOrigin-RevId: 280335423 Change-Id: I4808c98b40958d49efd7ec3c12ee1562bae836bf
diff --git a/quic/core/quic_config.cc b/quic/core/quic_config.cc index 135fb64..f1736a3 100644 --- a/quic/core/quic_config.cc +++ b/quic/core/quic_config.cc
@@ -1069,8 +1069,9 @@ if (params.ack_delay_exponent.IsValid()) { ack_delay_exponent_.SetReceivedValue(params.ack_delay_exponent.value()); } - connection_migration_disabled_.SetReceivedValue( - params.disable_migration ? 1u : 0u); + if (params.disable_migration) { + connection_migration_disabled_.SetReceivedValue(1u); + } if (params.preferred_address != nullptr) { if (params.preferred_address->ipv6_socket_address.port() != 0) {
diff --git a/quic/core/quic_config_test.cc b/quic/core/quic_config_test.cc index 882516e..282e88c 100644 --- a/quic/core/quic_config_test.cc +++ b/quic/core/quic_config_test.cc
@@ -444,6 +444,16 @@ ASSERT_TRUE(config_.HasReceivedMaxPacketSize()); EXPECT_EQ(kMaxPacketSizeForTest, config_.ReceivedMaxPacketSize()); + EXPECT_FALSE(config_.DisableConnectionMigration()); +} + +TEST_P(QuicConfigTest, DisableMigrationTransportParameter) { + TransportParameters params; + params.disable_migration = true; + std::string error_details; + EXPECT_EQ(QUIC_NO_ERROR, + config_.ProcessTransportParameters(params, SERVER, &error_details)); + EXPECT_TRUE(config_.DisableConnectionMigration()); } } // namespace