Previously, stream flow control was not applied to the RESET_STREAM
final_size, which allowed a client to exceed it. The excess had to be
within the connection flow control limits anyway.
Reported by Tony Wang.
return NGX_OK;
}
- qs->recv_state = NGX_QUIC_STREAM_RECV_RESET_RECVD;
-
if (ngx_quic_control_flow(qs, f->final_size) != NGX_OK) {
return NGX_ERROR;
}
}
qs->recv_final_size = f->final_size;
+ qs->recv_state = NGX_QUIC_STREAM_RECV_RESET_RECVD;
if (ngx_quic_update_flow(qs, qs->recv_final_size) != NGX_OK) {
return NGX_ERROR;