Don't create NullEncrypter/Decrypter in QuicFramer
gfe-relnote: Changes when/where ENCRYPTION_INITIAL crypters are created in QUIC, protected by reloadable flag quic_framer_doesnt_create_initial_encrypter
PiperOrigin-RevId: 270083544
Change-Id: I27db7b0f8fd094215e7385e54456c2eb807610ab
diff --git a/quic/test_tools/quic_test_utils.cc b/quic/test_tools/quic_test_utils.cc
index 2e6cc08..387dbe1 100644
--- a/quic/test_tools/quic_test_utils.cc
+++ b/quic/test_tools/quic_test_utils.cc
@@ -133,8 +133,18 @@
const QuicFrames& frames,
size_t packet_size) {
char* buffer = new char[packet_size];
- size_t length = framer->BuildDataPacket(header, frames, buffer, packet_size,
- ENCRYPTION_INITIAL);
+ EncryptionLevel level = ENCRYPTION_INITIAL;
+ if (header.form == IETF_QUIC_SHORT_HEADER_PACKET) {
+ level = ENCRYPTION_FORWARD_SECURE;
+ } else if (header.form == IETF_QUIC_LONG_HEADER_PACKET) {
+ if (header.long_packet_type == HANDSHAKE) {
+ level = ENCRYPTION_HANDSHAKE;
+ } else if (header.long_packet_type == ZERO_RTT_PROTECTED) {
+ level = ENCRYPTION_ZERO_RTT;
+ }
+ }
+ size_t length =
+ framer->BuildDataPacket(header, frames, buffer, packet_size, level);
DCHECK_NE(0u, length);
// Re-construct the data packet with data ownership.
return std::make_unique<QuicPacket>(