mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-25 07:41:36 +02:00
BUG/MINOR: mux-h2: detect when the HTX EOM block cannot be added after headers
In case we receive a very large HEADERS frame which doesn't leave enough room to place the EOM block after the decoded headers, we must fail the stream. This test was missing, resulting in the loss of the EOM, possibly leaving the stream waiting for a time-out. Note that we also clear h2c->dfl here so that we don't attempt to clear it twice when going back to the demux. If this is backported to 1.9, it also requires that the following patches are backported as well : MINOR: mux-h2: make h2c_decode_headers() return a status, not a count MINOR: mux-h2: add a new dummy stream : h2_error_stream MEDIUM: mux-h2: make h2c_decode_headers() support recoverable errors
This commit is contained in:
parent
259192370f
commit
b30d0f914e
@ -3400,7 +3400,8 @@ next_frame:
|
||||
}
|
||||
|
||||
if (htx && h2c->dff & H2_F_HEADERS_END_STREAM)
|
||||
htx_add_endof(htx, HTX_BLK_EOM);
|
||||
if (!htx_add_endof(htx, HTX_BLK_EOM))
|
||||
goto fail;
|
||||
|
||||
/* success */
|
||||
ret = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user