mirror of
https://github.com/openssl/openssl.git
synced 2024-12-21 06:09:35 +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. */
|
||||
void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch);
|
||||
|
||||
void ossl_quic_channel_inject(QUIC_CHANNEL *ch, QUIC_URXE *e);
|
||||
|
||||
/*
|
||||
* Queries and Accessors
|
||||
* =====================
|
||||
|
@ -3029,6 +3029,11 @@ static void ch_save_err_state(QUIC_CHANNEL *ch)
|
||||
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};
|
||||
|
@ -444,7 +444,15 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user