Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674)
/* For use by QUIC_PORT only. */
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch);
+void ossl_quic_channel_inject(QUIC_CHANNEL *ch, QUIC_URXE *e);
+
/*
* Queries and Accessors
* =====================
OSSL_ERR_STATE_save(ch->err_state);
}
+void ossl_quic_channel_inject(QUIC_CHANNEL *ch, QUIC_URXE *e)
+{
+ ossl_qrx_inject_urxe(ch->qrx, e);
+}
+
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch)
{
QUIC_TERMINATE_CAUSE tcause = {0};
QUIC_PORT *port = arg;
PACKET pkt;
QUIC_PKT_HDR hdr;
- QUIC_CHANNEL *new_ch = NULL;
+ QUIC_CHANNEL *ch = NULL, *new_ch = NULL;
+
+ if (dcid != NULL
+ && ossl_quic_lcidm_lookup(port->lcidm, dcid, NULL,
+ (void **)&ch)) {
+ assert(ch != NULL);
+ ossl_quic_channel_inject(ch, e);
+ return;
+ }
if (port_try_handle_stateless_reset(port, e))
goto undesirable;