]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: lua: Abort when txn:done() is called from a Lua action
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 5 Mar 2020 10:07:31 +0000 (11:07 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 6 Mar 2020 13:12:59 +0000 (14:12 +0100)
When a lua action aborts a transaction calling txn:done() function, the action
must return ACT_RET_ABRT instead of ACT_RET_DONE. It is mandatory to
abort the message analysis.

This patch must be backported everywhere the commit 7716cdf45 ("MINOR: lua: Get
the action return code on the stack when an action finishes") was
backported. For now, no backport needed.

src/hlua.c

index 4043e29c2d1b584e9a0ba459c1270248e794d141..e6878974d79008d6662cd23732d891c34c291375 100644 (file)
@@ -5584,7 +5584,7 @@ __LJMP static int hlua_txn_done(lua_State *L)
        if (!(s->flags & SF_FINST_MASK))
                s->flags |= finst;
 
-       lua_pushinteger(L, ACT_RET_DONE);
+       lua_pushinteger(L, ACT_RET_ABRT);
        WILL_LJMP(hlua_done(L));
        return 0;
 }