gfe-relnote: Introduce QUIC_VERSION_50, protected by quic_enable_version_50
Version 50 uses header protection, initial obfuscators, and IETF IV construction.
PiperOrigin-RevId: 273780903
Change-Id: I2750db51f2a6e30d93ab52e9978129353134e5ee
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index 5ca325c..b614faa 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -8808,7 +8808,7 @@
'm', 'n', 'o', 'p',
};
- unsigned char packet99[] = {
+ unsigned char packet50[] = {
// type (short header, 4 byte packet number)
0x43,
// connection_id
@@ -8827,9 +8827,9 @@
unsigned char* p = packet;
size_t p_size = QUIC_ARRAYSIZE(packet);
- if (framer_.transport_version() == QUIC_VERSION_99) {
- p = packet99;
- p_size = QUIC_ARRAYSIZE(packet99);
+ if (framer_.transport_version() >= QUIC_VERSION_50) {
+ p = packet50;
+ p_size = QUIC_ARRAYSIZE(packet50);
} else if (framer_.transport_version() >= QUIC_VERSION_46) {
p = packet46;
}
@@ -8887,7 +8887,7 @@
'm', 'n', 'o', 'p',
};
- unsigned char packet99[] = {
+ unsigned char packet50[] = {
// type (long header with packet type ZERO_RTT_PROTECTED)
0xD3,
// version tag
@@ -8913,9 +8913,9 @@
unsigned char* p = packet;
size_t p_size = QUIC_ARRAYSIZE(packet);
// TODO(ianswett): see todo in previous test.
- if (framer_.transport_version() == QUIC_VERSION_99) {
- p = packet99;
- p_size = QUIC_ARRAYSIZE(packet99);
+ if (framer_.transport_version() >= QUIC_VERSION_50) {
+ p = packet50;
+ p_size = QUIC_ARRAYSIZE(packet50);
} else if (framer_.transport_version() >= QUIC_VERSION_46) {
p = packet46;
p_size = QUIC_ARRAYSIZE(packet46);
@@ -9033,6 +9033,9 @@
// Create a packet with just the ack.
QuicFrames frames = {QuicFrame(&ack_frame)};
+ if (framer_.version().HasHeaderProtection()) {
+ frames.push_back(QuicFrame(QuicPaddingFrame(12)));
+ }
QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT);
std::unique_ptr<QuicPacket> raw_ack_packet(BuildDataPacket(header, frames));
ASSERT_TRUE(raw_ack_packet != nullptr);
@@ -9052,6 +9055,9 @@
// original packets to the re-serialized packets.
frames.clear();
frames.push_back(QuicFrame(visitor_.ack_frames_[0].get()));
+ if (framer_.version().HasHeaderProtection()) {
+ frames.push_back(QuicFrame(*visitor_.padding_frames_[0].get()));
+ }
size_t original_raw_length = raw_ack_packet->length();
QuicFramerPeer::SetPerspective(&framer_, Perspective::IS_CLIENT);