h2 icon indicating copy to clipboard operation
h2 copied to clipboard

Stream stacking occurs when H2 processes HTTP2 RST_STREAM frames.

Open silence-coding opened this issue 2 years ago • 2 comments

@seanmonstar As described in the issue in hyper, I think the size of the slab should be limited to max_concurrent_streams + max_concurrent_reset_streams . When the size of the slab exceeds the upper limit, the recv_frame method should discard the received Headers and PushPromise frames and send the protocol error to the client. https://github.com/hyperium/hyper/issues/2877

Drop the Headers and PushPromise frames here and throw a GoAway error. https://github.com/hyperium/h2/blob/e4cf88c1a19a7f7823dfaa9eb4c6a19a24f4ead8/src/proto/connection.rs#L460

silence-coding avatar Jun 08 '22 08:06 silence-coding

Requests can be provided to users after REST. However, num_reset_streams must be reduced after the request is processed to ensure that max_reset_streams takes effect. https://github.com/hyperium/h2/issues/30

silence-coding avatar Jun 09 '22 02:06 silence-coding

@seanmonstar please check this MR

lidong14 avatar Jun 13 '22 09:06 lidong14

@silence-coding this should be closed too now that #668 is merged.

kevinji avatar Apr 13 '23 17:04 kevinji

Ah yes, thanks for remembering!

seanmonstar avatar Apr 13 '23 17:04 seanmonstar