mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-15 21:59:41 -04:00
BUG/MINOR: mux-h2: set the stream-full flag when leaving h2c_decode_headers()
If we exit this function because some data are pending in the rxbuf, we currently don't indicate any blocking flag, which will prevent the operation from being attempted again. Let's set H2_CF_DEM_SFULL in this case to indicate there's not enough room in the stream buffer so that the operation may be attempted again once we make room. It seems that this issue cannot be triggered right now but it definitely will with trailers. This fix should be backported to 1.9 for completeness.
This commit is contained in:
parent
872e2fac39
commit
8dbb1705fd
1 changed files with 6 additions and 2 deletions
|
|
@ -3314,11 +3314,15 @@ next_frame:
|
|||
|
||||
if (h2c->proxy->options2 & PR_O2_USE_HTX) {
|
||||
htx = htx_from_buf(rxbuf);
|
||||
if (!htx_is_empty(htx))
|
||||
if (!htx_is_empty(htx)) {
|
||||
h2c->flags |= H2_CF_DEM_SFULL;
|
||||
goto fail;
|
||||
}
|
||||
} else {
|
||||
if (b_data(rxbuf))
|
||||
if (b_data(rxbuf)) {
|
||||
h2c->flags |= H2_CF_DEM_SFULL;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
rxbuf->head = 0;
|
||||
try = b_size(rxbuf);
|
||||
|
|
|
|||
Loading…
Reference in a new issue