mirror of
https://github.com/openssl/openssl.git
synced 2025-01-06 13:26:43 +08:00
QUIC PORT: Enable injection of incoming URXEs into a channel via default handler rather than DEMUX routing
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22674)
This commit is contained in:
parent
d743afe7e8
commit
0df897321d
@ -276,6 +276,8 @@ void ossl_quic_channel_raise_net_error(QUIC_CHANNEL *ch);
|
|||||||
/* For use by QUIC_PORT only. */
|
/* For use by QUIC_PORT only. */
|
||||||
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch);
|
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch);
|
||||||
|
|
||||||
|
void ossl_quic_channel_inject(QUIC_CHANNEL *ch, QUIC_URXE *e);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Queries and Accessors
|
* Queries and Accessors
|
||||||
* =====================
|
* =====================
|
||||||
|
@ -3029,6 +3029,11 @@ static void ch_save_err_state(QUIC_CHANNEL *ch)
|
|||||||
OSSL_ERR_STATE_save(ch->err_state);
|
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)
|
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch)
|
||||||
{
|
{
|
||||||
QUIC_TERMINATE_CAUSE tcause = {0};
|
QUIC_TERMINATE_CAUSE tcause = {0};
|
||||||
|
@ -444,7 +444,15 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
|
|||||||
QUIC_PORT *port = arg;
|
QUIC_PORT *port = arg;
|
||||||
PACKET pkt;
|
PACKET pkt;
|
||||||
QUIC_PKT_HDR hdr;
|
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))
|
if (port_try_handle_stateless_reset(port, e))
|
||||||
goto undesirable;
|
goto undesirable;
|
||||||
|
Loading…
Reference in New Issue
Block a user