Commit 4b96845
committed
BUG/MEDIUM: mux-h1: Skip UNUSED htx block when formating the start line
UNUSED blocks were not properly handled when the H1 multiplexer was
formatting the start line of a request or a response. UNUSED was ignored but
not removed from HTX message. So the mux can loop infinitly on such block.
It could be seen a a major issue but in fact it happens only if a very
specific case on the reponse processing (at least I think so): the server
must send an interim message (a 100-continue for intance) with the final
response. HAProxy must receive both in same time and the final reponse must
be intercepted (via a http-response return action for instance), In that
case, the interim message is fowarded and the server final reponse is
removed and replaced by a proxy error message.
Now UNUSED htx blocks are properly skipped and removed.
This patch must be backported as far as 3.0.
(cherry picked from commit a3e9a04)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 53b7d7a)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 1b8806e)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit f64d86d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>1 parent 1847c0b commit 4b96845
1 file changed
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2302 | 2302 | | |
2303 | 2303 | | |
2304 | 2304 | | |
2305 | | - | |
| 2305 | + | |
| 2306 | + | |
2306 | 2307 | | |
| 2308 | + | |
2307 | 2309 | | |
2308 | 2310 | | |
2309 | 2311 | | |
| |||
2391 | 2393 | | |
2392 | 2394 | | |
2393 | 2395 | | |
2394 | | - | |
| 2396 | + | |
| 2397 | + | |
2395 | 2398 | | |
| 2399 | + | |
2396 | 2400 | | |
2397 | 2401 | | |
2398 | 2402 | | |
| |||
0 commit comments