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