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.
This commit is contained in:
Christopher Faulet 2025-01-03 09:44:06 +01:00
parent bbd1cedefc
commit a785a20bef

View File

@ -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;