]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: lua: bad error processing
authorThierry FOURNIER <tfournier@arpalert.org>
Wed, 19 Aug 2015 08:42:42 +0000 (10:42 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 19 Aug 2015 08:54:06 +0000 (10:54 +0200)
When the lua actions (http|tcp)-(request|rersponse) fails a yield is
returned. this patch fix the behavior and returns a continue.

src/hlua.c

index 83e3058cdfed85ad14560400f8058d6a9286b395..ac9e631e4f5721133b5067f0f68d509b40712b77 100644 (file)
@@ -4284,7 +4284,7 @@ static int hlua_request_act_wrapper(struct hlua_rule *rule, struct proxy *px,
                send_log(px, LOG_ERR, "Lua action '%s': can't initialize Lua context.", rule->fcn.name);
                if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE))
                        Alert("Lua action '%s': can't initialize Lua context.\n", rule->fcn.name);
-               return 0;
+               return 1;
        }
 
        /* If it is the first run, initialize the data for the call. */
@@ -4294,7 +4294,7 @@ static int hlua_request_act_wrapper(struct hlua_rule *rule, struct proxy *px,
                        send_log(px, LOG_ERR, "Lua function '%s': full stack.", rule->fcn.name);
                        if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE))
                                Alert("Lua function '%s': full stack.\n", rule->fcn.name);
-                       return 0;
+                       return 1;
                }
 
                /* Restore the function in the stack. */
@@ -4305,7 +4305,7 @@ static int hlua_request_act_wrapper(struct hlua_rule *rule, struct proxy *px,
                        send_log(px, LOG_ERR, "Lua function '%s': full stack.", rule->fcn.name);
                        if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE))
                                Alert("Lua function '%s': full stack.\n", rule->fcn.name);
-                       return 0;
+                       return 1;
                }
                s->hlua.nargs = 1;
 
@@ -4315,7 +4315,7 @@ static int hlua_request_act_wrapper(struct hlua_rule *rule, struct proxy *px,
                                send_log(px, LOG_ERR, "Lua function '%s': full stack.", rule->fcn.name);
                                if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE))
                                        Alert("Lua function '%s': full stack.\n", rule->fcn.name);
-                               return 0;
+                               return 1;
                        }
                        lua_pushstring(s->hlua.T, *arg);
                        s->hlua.nargs++;