]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: mux-h2: detect when the HTX EOM block cannot be added after headers
authorWilly Tarreau <w@1wt.eu>
Thu, 3 Jan 2019 13:50:36 +0000 (14:50 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 3 Jan 2019 17:45:38 +0000 (18:45 +0100)
commitb30d0f914eb162479c9c893835f967dde1374c9b
tree93d0ec5320fe114778b52ff60e4b690aa75d862f
parent259192370f182f2b4597fe1aecb8857e988b7c0e
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
src/mux_h2.c