Use connection's encryption level at QuicCryptoStream::OnCryptoFrame(). gfe-relnote: Protected by gfe2_reloadable_flag_quic_use_connection_encryption_level PiperOrigin-RevId: 278414910 Change-Id: I7dacecdcbaa56ac91015dd3066529c8ad10291e9
diff --git a/quic/core/quic_crypto_stream.cc b/quic/core/quic_crypto_stream.cc index d62417f..e22e830 100644 --- a/quic/core/quic_crypto_stream.cc +++ b/quic/core/quic_crypto_stream.cc
@@ -72,8 +72,15 @@ << "Versions less than 47 shouldn't receive CRYPTO frames"; EncryptionLevel level = session()->connection()->last_decrypted_level(); substreams_[level].sequencer.OnCryptoFrame(frame); + EncryptionLevel frame_level; + if (GetQuicReloadableFlag(quic_use_connection_encryption_level)) { + QUIC_RELOADABLE_FLAG_COUNT(quic_use_connection_encryption_level); + frame_level = level; + } else { + frame_level = frame.level; + } if (substreams_[level].sequencer.NumBytesBuffered() > - BufferSizeLimitForLevel(frame.level)) { + BufferSizeLimitForLevel(frame_level)) { CloseConnectionWithDetails(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, "Too much crypto data received"); }