Internal change
PiperOrigin-RevId: 406134264
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 939208b..fdecddc 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -1142,6 +1142,10 @@
return ack_alarm_->IsSet();
}
+void QuicConnection::OnUserAgentIdKnown(const std::string& /*user_agent_id*/) {
+ sent_packet_manager_.OnUserAgentIdKnown();
+}
+
void QuicConnection::OnDecryptedPacket(size_t /*length*/,
EncryptionLevel level) {
last_decrypted_packet_level_ = level;
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 4f7f2b6..e27b6cf 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -1151,7 +1151,7 @@
// Returns true if ack_alarm_ is set.
bool HasPendingAcks() const;
- void OnUserAgentIdKnown() { sent_packet_manager_.OnUserAgentIdKnown(); }
+ virtual void OnUserAgentIdKnown(const std::string& user_agent_id);
// Enables Legacy Version Encapsulation using |server_name| as SNI.
// Can only be set if this is a client connection.
@@ -1346,6 +1346,10 @@
default_path_.bytes_received_before_address_validation += length;
}
+ void set_validate_client_addresses(bool value) {
+ validate_client_addresses_ = value;
+ }
+
private:
friend class test::QuicConnectionPeer;
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 7f030a3..73fdf83 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -63,6 +63,8 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_t051, true)
// If true, disable blackhole detection on server side.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_server_blackhole_detection, false)
+// If true, disable reverse path validation for Apple mobile clients.
+QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_reverse_path_validation_for_apple_mobile, false)
// If true, discard INITIAL packet if the key has been dropped.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_discard_initial_packet_with_key_dropped, true)
// If true, do not bundle 2nd ACK with connection close if there is an ACK queued.
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index bacb4c1..1486a4f 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -596,9 +596,10 @@
return user_agent_id_;
}
+ // TODO(wub): remove saving user-agent to QuicSession.
void SetUserAgentId(std::string user_agent_id) {
user_agent_id_ = std::move(user_agent_id);
- connection()->OnUserAgentIdKnown();
+ connection()->OnUserAgentIdKnown(user_agent_id_.value());
}
void SetSourceAddressTokenToSend(absl::string_view token) {