]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: httpclient/lua: infinite appctx loop with POST
authorWilliam Lallemand <wlallemand@haproxy.org>
Wed, 2 Mar 2022 15:18:26 +0000 (16:18 +0100)
committerWilliam Lallemand <wlallemand@haproxy.org>
Wed, 2 Mar 2022 15:32:47 +0000 (16:32 +0100)
When POSTing a request with a payload, and reusing the same httpclient
lua instance, one could encounter a spinning of the httpclient appctx.

Indeed the sent counter is not reset between 2 POSTs and the condition
for sending the EOM flag is never met.

Must fixed issue #1593.

To be backported in 2.5.

src/hlua.c

index 3ca698e6646829125cfe0c3e4aba1dbd2d367ec0..ea6fcba3d651486fcf3be735bf40c81e6d18dfed 100644 (file)
@@ -7284,6 +7284,7 @@ __LJMP static int hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
                return 0;
        }
 
+       hlua_hc->sent = 0;
 
        hlua_hc->hc->req.url = istdup(ist(url_str));
        hlua_hc->hc->req.meth = meth;