From ce9bbf523cbad15832f6fbe1ed1853691918dc80 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 13 May 2019 08:32:31 +0200 Subject: [PATCH] BUG/MINOR: htx: make sure to always initialize the HTTP method when parsing a buffer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit smp_prefetch_htx() is used when trying to access the contents of an HTTP buffer from the TCP rulesets. The method was not properly set in this case, which will cause the sample fetch methods relying on the method to randomly fail in this case. Thanks to Tim Düsterhus for reporting this issue (#97). This fix must be backported to 1.9. --- src/http_fetch.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/http_fetch.c b/src/http_fetch.c index 3e6f4d1bc..2d3a381c4 100644 --- a/src/http_fetch.c +++ b/src/http_fetch.c @@ -270,6 +270,7 @@ struct htx *smp_prefetch_htx(struct sample *smp, struct channel *chn, int vol) sl = htx_add_stline(htx, HTX_BLK_REQ_SL, flags, h1sl.rq.m, h1sl.rq.u, h1sl.rq.v); if (!sl || !htx_add_all_headers(htx, hdrs)) return NULL; + sl->info.req.meth = h1sl.rq.meth; } /* OK we just got a valid HTTP message. If not already done by