aboutsummaryrefslogtreecommitdiff
path: root/net/haproxy/patches/005-BUG-MINOR-h1-Report-the-right-error-position-when-a-header-value-is-invalid.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net/haproxy/patches/005-BUG-MINOR-h1-Report-the-right-error-position-when-a-header-value-is-invalid.patch')
1 files changed, 0 insertions, 55 deletions
diff --git a/net/haproxy/patches/005-BUG-MINOR-h1-Report-the-right-error-position-when-a-header-value-is-invalid.patch b/net/haproxy/patches/005-BUG-MINOR-h1-Report-the-right-error-position-when-a-header-value-is-invalid.patch
deleted file mode 100644
index 4a8c2b1b8..000000000
--- a/net/haproxy/patches/005-BUG-MINOR-h1-Report-the-right-error-position-when-a-header-value-is-invalid.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit e313c1bd5901b721bdfd23714c432235625a87a8
-Author: Christopher Faulet <cfaulet@haproxy.com>
-Date: Mon Jan 6 13:41:01 2020 +0100
-
- BUG/MINOR: h1: Report the right error position when a header value is invalid
-
- During H1 messages parsing, when the parser has finished to parse a full header
- line, some tests are performed on its value, depending on its name, to be sure
- it is valid. The content-length is checked and converted in integer and the host
- header is also checked. If an error occurred during this step, the error
- position must point on the header value. But from the parser point of view, we
- are already on the start of the next header. Thus the effective reported
- position in the error capture is the beginning of the unparsed header line. It
- is a bit confusing when we try to figure out why a message is rejected.
-
- Now, the parser state is updated to point on the invalid value. This way, the
- error position really points on the right position.
-
- This patch must be backported as far as 1.9.
-
- (cherry picked from commit 1703478e2dd6bd12bb03b0a0fdcc7cd4a611dafc)
- Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
-
-diff --git a/src/h1.c b/src/h1.c
-index 15827db56..63fbee8c0 100644
---- a/src/h1.c
-+++ b/src/h1.c
-@@ -819,6 +819,7 @@ int h1_headers_to_hdr_list(char *start, const char *stop,
-
- if (ret < 0) {
- state = H1_MSG_HDR_L2_LWS;
-+ ptr = v.ptr; /* Set ptr on the error */
- goto http_msg_invalid;
- }
- else if (ret == 0) {
-@@ -841,16 +842,18 @@ int h1_headers_to_hdr_list(char *start, const char *stop,
- if (authority.len && !isteqi(v, authority)) {
- if (h1m->err_pos < -1) {
- state = H1_MSG_HDR_L2_LWS;
-+ ptr = v.ptr; /* Set ptr on the error */
- goto http_msg_invalid;
- }
- if (h1m->err_pos == -1) /* capture the error pointer */
-- h1m->err_pos = ptr - start + skip; /* >= 0 now */
-+ h1m->err_pos = v.ptr - start + skip; /* >= 0 now */
- }
- host_idx = hdr_count;
- }
- else {
- if (!isteqi(v, hdr[host_idx].v)) {
- state = H1_MSG_HDR_L2_LWS;
-+ ptr = v.ptr; /* Set ptr on the error */
- goto http_msg_invalid;
- }
- /* if the same host, skip it */