Do not increase max_packet_size in response to a peer advertising a higher value than we currently have.

This fixes a lot of broken tests in Chromium.

gfe-relnote: n/a (QUIC version not used in prod)
PiperOrigin-RevId: 290156638
Change-Id: I9831739d59df8bf38fff0ecb3026c5ef7c0649b8
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index 0817d57..8dd8f67 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -2396,6 +2396,19 @@
   EXPECT_EQ(kTestMaxPacketSize, connection_.max_packet_length());
 }
 
+TEST_P(QuicConnectionTest, PeerCannotRaiseMaxPacketSize) {
+  EXPECT_EQ(Perspective::IS_CLIENT, connection_.perspective());
+
+  // SetFromConfig is always called after construction from InitializeSession.
+  EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
+  constexpr uint32_t kTestMaxPacketSize = 1450u;
+  QuicConfig config;
+  QuicConfigPeer::SetReceivedMaxPacketSize(&config, kTestMaxPacketSize);
+  connection_.SetFromConfig(config);
+
+  EXPECT_EQ(kDefaultMaxPacketSize, connection_.max_packet_length());
+}
+
 TEST_P(QuicConnectionTest, SmallerServerMaxPacketSize) {
   TestConnection connection(TestConnectionId(), kPeerAddress, helper_.get(),
                             alarm_factory_.get(), writer_.get(),