mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
BUG/MEDIUM: stconn: Move data from <kip> to <kop> during zero-copy forwarding
The <kip> of producer was not forwarded to <kop> of consumer when zero-copy data forwarding was tried. Because of the issue, the chunking of emitted H1 messages could be invalid. To fix the bug, sc_ep_fwd_kip() must be called at this stage. This fix is related to the previous one (529a8dbfb "BUG/MEDIUM: mux-h1: Take care to update <kop> value during zero-copy forwarding"). Both are required to fully fix the issue #3230. This patch must be backported to 3.3.
This commit is contained in:
parent
97490a7789
commit
83457b9e38
@ -1351,6 +1351,7 @@ int sc_conn_recv(struct stconn *sc)
|
||||
flags |= CO_RFL_BUF_FLUSH;
|
||||
goto abort_fastfwd;
|
||||
}
|
||||
sc_ep_fwd_kip(sc, sc_opposite(sc));
|
||||
ret = conn->mux->fastfwd(sc, ic->to_forward, flags);
|
||||
if (ret < 0)
|
||||
goto abort_fastfwd;
|
||||
@ -2033,6 +2034,7 @@ int sc_applet_recv(struct stconn *sc)
|
||||
flags |= CO_RFL_BUF_FLUSH;
|
||||
goto abort_fastfwd;
|
||||
}
|
||||
sc_ep_fwd_kip(sc, sc_opposite(sc));
|
||||
ret = appctx_fastfwd(sc, ic->to_forward, flags);
|
||||
if (ret < 0)
|
||||
goto abort_fastfwd;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user