BUG/MEDIUM: h3: fix SETTINGS parsing
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 9 Jun 2022 09:54:38 +0000 (11:54 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 9 Jun 2022 12:34:43 +0000 (14:34 +0200)
commit3a2fcfd58dc180d6dcc3c6b21026aee595582a5d
tree3155f0307d4037f4f3fd3c745eb840ab491c1dc6
parentc715eb78988b4ad75caad685a35b671027b5a19f
BUG/MEDIUM: h3: fix SETTINGS parsing

Function used to parse SETTINGS frame is incorrect as it does not stop
at the frame length but continue to parse beyond it. In most cases, it
will result in a connection closed with error H3_FRAME_ERROR.

This bug can be reproduced with clients that sent more than just a
SETTINGS frame on the H3 control stream. This is notably the case with
aioquic which emit a MAX_PUSH_ID after SETTINGS.

This bug has been introduced in the current dev release, by the
following patch
  62eef85961f4a2a241e0b24ef540cc91f156b842
  MINOR: mux-quic: simplify decode_qcs API
thus, it does not need to be backported.
src/h3.c