mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 14:21:00 +01:00
BUG/MINOR: mux-h2: don't refrain from sending an RST_STREAM after another one
The test in h2s_send_rst_stream() is excessive, it refrains from sending an RST_STREAM if *the last frame* was an RST_STREAM, regardless of the stream ID. In a context where both clients and servers abort a lot, it could happen that one RST_STREAM is dropped from responses from time to time, causing delays to the client. This must be backported to 2.0, 1.9 and 1.8.
This commit is contained in:
parent
1b77262cfb
commit
231f616170
@ -1321,7 +1321,7 @@ static int h2s_send_rst_stream(struct h2c *h2c, struct h2s *h2s)
|
|||||||
/* RFC7540#5.4.2: To avoid looping, an endpoint MUST NOT send a
|
/* RFC7540#5.4.2: To avoid looping, an endpoint MUST NOT send a
|
||||||
* RST_STREAM in response to a RST_STREAM frame.
|
* RST_STREAM in response to a RST_STREAM frame.
|
||||||
*/
|
*/
|
||||||
if (h2c->dft == H2_FT_RST_STREAM) {
|
if (h2c->dsi == h2s->id && h2c->dft == H2_FT_RST_STREAM) {
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto ignore;
|
goto ignore;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user