rxe->hdr.key_phase))
goto malformed;
- /*
- * We automatically discard INITIAL keys when successfully decrypting a
- * HANDSHAKE packet.
- */
- if (enc_level == QUIC_ENC_LEVEL_HANDSHAKE)
- ossl_qrl_enc_level_set_discard(&qrx->el_set, QUIC_ENC_LEVEL_INITIAL);
-
/*
* At this point, we have successfully authenticated the AEAD tag and no
* longer need to worry about exposing the Key Phase bit in timing channels.
RX_OP_CHECK_PKT_FRAMES_OK_N(5c)
RX_OP_CHECK_NO_PKT()
- /* Try injecting the packet again */
+ /* Discard Initial EL and try injecting the packet again */
+ RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_INITIAL)
RX_OP_INJECT_N(5)
- /*
- * Initial packet is not output due to receiving a Handshake packet causing
- * auto-discard of Initial keys
- */
+ /* Initial packet is not output because we have discarded Initial keys */
RX_OP_CHECK_PKT_FRAMES_OK_N(5b)
RX_OP_CHECK_PKT_FRAMES_OK_N(5c)
RX_OP_CHECK_NO_PKT()
RX_OP_CHECK_PKT_FRAMES_OK_N(5c)
RX_OP_CHECK_NO_PKT()
+ RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_INITIAL)
RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_HANDSHAKE)
RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_1RTT)
RX_OP_INJECT_N(5)
RX_OP_CHECK_PKT_FRAMES_OK_N(6c)
RX_OP_CHECK_NO_PKT()
- /* Try injecting the packet again */
+ /* Discard Initial EL and try injecting the packet again */
+ RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_INITIAL)
RX_OP_INJECT_N(6)
- /*
- * Initial packet is not output due to receiving a Handshake packet causing
- * auto-discard of Initial keys
- */
+ /* Initial packet is not output because we have discarded Initial keys */
RX_OP_CHECK_PKT_FRAMES_OK_N(6b)
RX_OP_CHECK_PKT_FRAMES_OK_N(6c)
RX_OP_CHECK_NO_PKT()
RX_OP_CHECK_PKT_FRAMES_OK_N(7c)
RX_OP_CHECK_NO_PKT()
- /* Try injecting the packet again */
+ /* Discard Initial EL and try injecting the packet again */
+ RX_OP_DISCARD_EL(QUIC_ENC_LEVEL_INITIAL)
RX_OP_INJECT_N(7)
- /*
- * Initial packet is not output due to receiving a Handshake packet causing
- * auto-discard of Initial keys
- */
+ /* Initial packet is not output because we have discarded Initial keys */
RX_OP_CHECK_PKT_FRAMES_OK_N(7b)
RX_OP_CHECK_PKT_FRAMES_OK_N(7c)
RX_OP_CHECK_NO_PKT()