From: Olivier Houchard Date: Tue, 9 Sep 2025 15:32:18 +0000 (+0200) Subject: BUG/MEDIUM: h1: Allow reception if we have early data X-Git-Tag: v3.3-dev9~171 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa25ddb773e484793a5c245bfa3f98b917c215be;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: h1: Allow reception if we have early data In h1_recv_allowed(), do not forbid the reception if we are yet to complete the connection, if we have received early data on it. That way, we can deal with them right away, instead of waiting for the handshake to be done. This should be backported up to 2.8. --- diff --git a/src/mux_h1.c b/src/mux_h1.c index defcada21..d68582a97 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -527,7 +527,8 @@ static inline int h1_recv_allowed(const struct h1c *h1c) return 0; } - if (h1c->conn->flags & (CO_FL_WAIT_L4_CONN|CO_FL_WAIT_L6_CONN)) { + if (h1c->conn->flags & (CO_FL_WAIT_L4_CONN|CO_FL_WAIT_L6_CONN) && + !(h1c->conn->flags & CO_FL_EARLY_DATA)) { TRACE_DEVEL("recv not allowed because of (waitl4|waitl6) on connection", H1_EV_H1C_RECV|H1_EV_H1C_BLK, h1c->conn); return 0; }