BUG/MINOR: http-fetch: Ignore empty argument string for query()

query() sample fetch function takes an optional argument string. During
configuration parsing, empty string must be ignored. It is especially
important when the sample is used with empty parenthesis. The argument is
optional and it is a list of options to configure the behavior of the sample
fetch. So it is logical to ignore empty strings.

This patch should fix the issue #2815. It must be backported to 3.1.
This commit is contained in:
Christopher Faulet 2024-12-11 09:09:26 +01:00
parent 9c91b30139
commit e1525e7b8f

View File

@ -2229,6 +2229,8 @@ int val_hdr(struct arg *arg, char **err_msg)
int val_query(struct arg *args, char **err_msg)
{
int val = 0;
if (args[0].type == ARGT_STOP)
return 1;
@ -2237,14 +2239,17 @@ int val_query(struct arg *args, char **err_msg)
return 0;
}
if (chunk_strcmp(&args[0].data.str, "with_qm") != 0) {
memprintf(err_msg, "supported options are: 'with_qm'");
return 0;
if (args[0].data.str.data != 0) {
if (chunk_strcmp(&args[0].data.str, "with_qm") != 0) {
memprintf(err_msg, "supported options are: 'with_qm'");
return 0;
}
val = 1;
}
chunk_destroy(&args[0].data.str);
args[0].type = ARGT_SINT;
args[0].data.sint = 1;
args[0].data.sint = val;
return 1;
}