| Index: net/quic/quic_packet_creator.cc
|
| diff --git a/net/quic/quic_packet_creator.cc b/net/quic/quic_packet_creator.cc
|
| index 5d40e23dda0ae5d635c9fc25efa97873e22ace87..32f810de9e049e5dd432dfcb242617f6d1fb3989 100644
|
| --- a/net/quic/quic_packet_creator.cc
|
| +++ b/net/quic/quic_packet_creator.cc
|
| @@ -416,8 +416,13 @@ SerializedPacket QuicPacketCreator::ReserializeAllFrames(
|
| packet_number_length_ = original_length;
|
| next_packet_number_length_ = original_length;
|
| fec_protect_ = false;
|
| - encryption_level_ = original_encryption_level;
|
| needs_padding_ = frames.needs_padding();
|
| + // Only preserve the original encryption level if it's a handshake packet or
|
| + // if we haven't gone forward secure.
|
| + if (frames.HasCryptoHandshake() ||
|
| + encryption_level_ != ENCRYPTION_FORWARD_SECURE) {
|
| + encryption_level_ = original_encryption_level;
|
| + }
|
|
|
| // Serialize the packet and restore the FEC and packet number length state.
|
| SerializedPacket serialized_packet =
|
|
|