From: Amaury Denoyelle Date: Wed, 25 Jan 2023 09:50:03 +0000 (+0100) Subject: BUG/MINOR: h3: fix GOAWAY emission X-Git-Tag: v2.8-dev3~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=19adeb56402a28701b8dd404db3bdf66d51eb050;p=thirdparty%2Fhaproxy.git BUG/MINOR: h3: fix GOAWAY emission Since the rework of QUIC streams send scheduling, each stream has to be inserted in QUIC-mux send-list to be able to emit content. This was not the case for GOAWAY which prevent it to be sent. This regression has been introduced by the following patch : commit 20f2a425ffeda2e623aac4c702f4e44b1e122d1d MAJOR: mux-quic: rework stream sending priorization This new patch fixes the issue by inserting H3 control stream in mux send-list. The impact is deemed minor as for the moment GOAWAY is only sent just before connection/mux cleanup with a CONNECTION_CLOSE. However, it might cause some connections to hang up indefinitely. This should be backported up to 2.7. --- diff --git a/src/h3.c b/src/h3.c index 9a1d97d40c..7f0dc476b6 100644 --- a/src/h3.c +++ b/src/h3.c @@ -1682,6 +1682,7 @@ static int h3_send_goaway(struct h3c *h3c) } b_force_xfer(res, &pos, b_data(&pos)); + qcc_send_stream(qcs, 1); return 0; }