gfe-relnote: In QUIC, add anti-amplification limit. Protected by version T099.

Anti-amplification limit kicks in before address validation. Now, server can only validate address by processing HANDSHAKE encrypted packet since address validation via token is not implemented.

In T099, deprecate HANDSHAKE_MODE and PTO is armed when 1) handshake is not confirmed 2) or there is packets in flight. Such that when PTO fires, at least 1 packet is sent to avoid handshake deadlock due to anti-amplification limit in case of packet losses.

PiperOrigin-RevId: 264960590
Change-Id: Ib2d9749b773af9328f96c176a49b2505be006b00
diff --git a/quic/core/quic_sent_packet_manager.h b/quic/core/quic_sent_packet_manager.h
index c024283..2d8381c 100644
--- a/quic/core/quic_sent_packet_manager.h
+++ b/quic/core/quic_sent_packet_manager.h
@@ -401,6 +401,9 @@
   // Called to adjust pending_timer_transmission_count_ accordingly.
   void AdjustPendingTimerTransmissions();
 
+  // Called to disable HANDSHAKE_MODE, and only PTO and LOSS modes are used.
+  void DisableHandshakeMode();
+
   bool supports_multiple_packet_number_spaces() const {
     return unacked_packets_.supports_multiple_packet_number_spaces();
   }
@@ -413,6 +416,8 @@
 
   bool pto_enabled() const { return pto_enabled_; }
 
+  bool handshake_mode_disabled() const { return handshake_mode_disabled_; }
+
  private:
   friend class test::QuicConnectionPeer;
   friend class test::QuicSentPacketManagerPeer;
@@ -658,6 +663,9 @@
   // Latched value of quic_fix_rto_retransmission3 and
   // session_decides_what_to_write.
   bool fix_rto_retransmission_;
+
+  // True if HANDSHAKE mode has been disabled.
+  bool handshake_mode_disabled_;
 };
 
 }  // namespace quic