QUIC CONFORMANCE: Stop handling frames after termination
authorHugo Landau <hlandau@openssl.org>
Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)
committerPauli <pauli@openssl.org>
Sun, 16 Jul 2023 22:17:57 +0000 (08:17 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21135)

ssl/quic/quic_channel.c

index 30b5faf24b1c38558eb417ba02160398308fa194..d24e6e182d15aa0e2627b442bcccbf654038263a 100644 (file)
@@ -1825,6 +1825,10 @@ static void ch_rx_handle_packet(QUIC_CHANNEL *ch)
 
     assert(ch->qrx_pkt != NULL);
 
+    if (!ossl_quic_channel_is_active(ch))
+        /* Do not process packets once we are terminating. */
+        return;
+
     if (ossl_quic_pkt_type_is_encrypted(ch->qrx_pkt->hdr->type)) {
         if (!ch->have_received_enc_pkt) {
             ch->cur_remote_dcid = ch->init_scid = ch->qrx_pkt->hdr->src_conn_id;