aboutsummaryrefslogtreecommitdiff
path: root/net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch
diff options
context:
space:
mode:
authorChristian Lachner <gladiac@gmail.com>2020-02-02 11:09:32 +0100
committerChristian Lachner <gladiac@gmail.com>2020-02-03 07:54:31 +0100
commitfdaa55a9181a2716954797c8d3f1090bf2620fb9 (patch)
treed9278dd8a6afe7d05b77f92984614da9c989bd23 /net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch
parenta3b028b3579ca43f91879726f73b331d46cce433 (diff)
haproxy: Update HAProxy to v2.1.2
- Major version jump from v2.0 to v2.1 - Update haproxy download URL and hash - Add new patches (see https://www.haproxy.org/bugs/bugs-2.1.2.html) - Stop building LUA 5.3 in the haproxy build-process and use liblua5.3 as a dependency instead Signed-off-by: Christian Lachner <gladiac@gmail.com>
Diffstat (limited to 'net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch')
-rw-r--r--net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch b/net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch
new file mode 100644
index 000000000..8dec92fa9
--- /dev/null
+++ b/net/haproxy/patches/008-BUG-MINOR-channel-inject-output-data-at-the-end-of-output.patch
@@ -0,0 +1,34 @@
+commit a96cbaa1e30e23bf91b7a4fb46857b4b2823deea
+Author: Christopher Faulet <cfaulet@haproxy.com>
+Date: Tue Jan 7 10:01:57 2020 +0100
+
+ BUG/MINOR: channel: inject output data at the end of output
+
+ In co_inject(), data must be inserted at the end of output, not the end of
+ input. For the record, this function does not take care of input data which are
+ supposed to not exist. But the caller may reset input data after or before the
+ call. It is its own choice.
+
+ This bug, among other effects, is visible when a redirect is performed on
+ the response path, on legacy HTTP mode (so for HAProxy < 2.1). The redirect
+ response is appended after the server response when it should overwrite it.
+
+ Thanks to Kevin Zhu <ip0tcp@gmail.com> to report the bug. It must be backported
+ as far as 1.9.
+
+ (cherry picked from commit 584348be636fcc9f41b80ef0fde03c7899d75cd7)
+ Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
+
+diff --git a/src/channel.c b/src/channel.c
+index d4a46ffed..8b0854ef5 100644
+--- a/src/channel.c
++++ b/src/channel.c
+@@ -96,7 +96,7 @@ int co_inject(struct channel *chn, const char *msg, int len)
+ if (len > max)
+ return max;
+
+- memcpy(ci_tail(chn), msg, len);
++ memcpy(co_tail(chn), msg, len);
+ b_add(&chn->buf, len);
+ c_adv(chn, len);
+ chn->total += len;