]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: mux-h2: handle decoding of CONTINUATION frames
authorWilly Tarreau <w@1wt.eu>
Sat, 22 Dec 2018 19:19:26 +0000 (20:19 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 24 Dec 2018 10:45:00 +0000 (11:45 +0100)
commitea18f86364af8567eee13e4661fd68e95e5b55ff
tree7b46f05e3e0b3235582ac635541ee0be27a24770
parenta4428bd5310acd29074ef1b1413665ac2ddef7cc
MEDIUM: mux-h2: handle decoding of CONTINUATION frames

Now that the HEADERS frame decoding is retryable, we can safely try to
fold CONTINUATION frames into a HEADERS frame when the END_OF_HEADERS
flag is missing. In order to do this, h2c_decode_headers() moves the
frames payloads in-situ and leaves a hole that is plugged when leaving
the function. There is no limit to the number of CONTINUATION frames
handled this way provided that all of them fit into the buffer. The
error reported when meeting isolated CONTINUATION frames has now changed
from INTERNAL_ERROR to PROTOCOL_ERROR.

Now there is only one (unrelated) remaining failure in h2spec.
src/mux_h2.c