From a785a20befeb858d47c558378e830e0f62060d21 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 3 Jan 2025 09:44:06 +0100 Subject: [PATCH] BUG/MINOR: log: Allow to use if/unless conditionnals for do-log action The do-log action does not accept argument for now. But an error was triggered if any extra arguments was found, preventing the use of if/unless conditionnals. When an action is parsed, expected arguments must be tested to detect missing ones but not unexpected extra arguments because this should be performed by the conditionnal parser. So just removing the test in the do-log parser function is enough to fix the issue. This patch must be backported to 3.1. --- src/log.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/log.c b/src/log.c index 441e69285..90b5645cb 100644 --- a/src/log.c +++ b/src/log.c @@ -6791,11 +6791,6 @@ enum act_parse_ret do_log_parse_act(enum log_orig_id id, const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err) { - if (*args[*orig_arg]) { - memprintf(err, "doesn't expects any argument"); - return ACT_RET_PRS_ERR; - } - rule->action_ptr = do_log_action; rule->action = ACT_CUSTOM; rule->release_ptr = NULL;