mirror of
https://github.com/nginx/nginx.git
synced 2024-11-23 20:19:02 +08:00
QUIC: prevent deleted stream frame retransmissions.
Since a2a513b93c
, stream frames no longer need to be retransmitted after it
was deleted. The frames which were retransmitted before, could be stream data
frames sent prior to a RESET_STREAM. Such retransmissions are explicitly
prohibited by RFC 9000, Section 19.4.
This commit is contained in:
parent
144778aee6
commit
3f6d94d888
@ -631,13 +631,12 @@ ngx_quic_resend_frames(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx)
|
||||
case NGX_QUIC_FT_STREAM:
|
||||
qs = ngx_quic_find_stream(&qc->streams.tree, f->u.stream.stream_id);
|
||||
|
||||
if (qs) {
|
||||
if (qs->send_state == NGX_QUIC_STREAM_SEND_RESET_SENT
|
||||
|| qs->send_state == NGX_QUIC_STREAM_SEND_RESET_RECVD)
|
||||
{
|
||||
ngx_quic_free_frame(c, f);
|
||||
break;
|
||||
}
|
||||
if (qs == NULL
|
||||
|| qs->send_state == NGX_QUIC_STREAM_SEND_RESET_SENT
|
||||
|| qs->send_state == NGX_QUIC_STREAM_SEND_RESET_RECVD)
|
||||
{
|
||||
ngx_quic_free_frame(c, f);
|
||||
break;
|
||||
}
|
||||
|
||||
/* fall through */
|
||||
|
Loading…
Reference in New Issue
Block a user