]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
authorWilly Tarreau <w@1wt.eu>
Wed, 13 Apr 2022 07:40:52 +0000 (09:40 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 13 Apr 2022 07:40:52 +0000 (09:40 +0200)
commit15dbedd63d88308d7a84bc66b17c579af962b823
tree4159fdc388f2326e2808186c86b0772e5efef429
parentbb970422546c0db08b244d5e5a12a795a605dd64
BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent

It was reported in issue #13 that a GOAWAY frame was sent on timeout even
if no SETTINGS frame was sent. The approach imagined by then was to track
the fact that a SETTINGS frame was already sent to avoid this, but that's
already what is done through the state, though it doesn't stand due to the
fact that we switch the frame to the error state. Thus instead what we're
doing here is to instead set the GOAWAY_FAILED flag in h2c_error() before
switching to the ERROR state when the state indicates we've not yet sent
settings, and refrain from sending anything from the h2c_send_goaway_error()
function for such states.

This could be backported to all versions where it applies well.
src/mux_h2.c