MINOR: sample: rename the "len" converter to "length"
This converter was recently introduced by commit ed0d24e
("MINOR:
sample: add len converter").
As found by Cyril, it causes an issue in "http-request capture"
statements. The non-obvious problem is that an old syntax for sample
expressions and converters used to support a series of words, each
representing a converter. This used to be how the "stick" directives
were created initially. By having a converter called "len", a
statement such as "http-request capture foo len 10" considers "len"
as a converter and not as the capture length.
This obsolete syntax needs to be changed in 1.9 but it's too late
for other versions. It's worth noting that the same problem can
happen if converters are registered on the fly using Lua. Other
language keywords that currently have to be avoided in converters
include "id", "table", "if", "unless".
This commit is contained in:
parent
9fc9e53763
commit
60a2ee7945
|
@ -12941,7 +12941,7 @@ language(<value>[,<default>])
|
|||
use_backend english if en
|
||||
default_backend choose_your_language
|
||||
|
||||
len
|
||||
length
|
||||
Get the length of the string. This can only be placed after a string
|
||||
sample fetch function or after a transformation keyword returning a string
|
||||
type. The result is of type integer.
|
||||
|
|
|
@ -1568,7 +1568,7 @@ static int sample_conv_djb2(const struct arg *arg_p, struct sample *smp, void *p
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int sample_conv_strlen(const struct arg *arg_p, struct sample *smp, void *private)
|
||||
static int sample_conv_length(const struct arg *arg_p, struct sample *smp, void *private)
|
||||
{
|
||||
int i = smp->data.u.str.len;
|
||||
smp->data.u.sint = i;
|
||||
|
@ -2796,7 +2796,7 @@ static struct sample_conv_kw_list sample_conv_kws = {ILH, {
|
|||
{ "base64", sample_conv_bin2base64,0, NULL, SMP_T_BIN, SMP_T_STR },
|
||||
{ "upper", sample_conv_str2upper, 0, NULL, SMP_T_STR, SMP_T_STR },
|
||||
{ "lower", sample_conv_str2lower, 0, NULL, SMP_T_STR, SMP_T_STR },
|
||||
{ "len", sample_conv_strlen, 0, NULL, SMP_T_STR, SMP_T_SINT },
|
||||
{ "length", sample_conv_length, 0, NULL, SMP_T_STR, SMP_T_SINT },
|
||||
{ "hex", sample_conv_bin2hex, 0, NULL, SMP_T_BIN, SMP_T_STR },
|
||||
{ "hex2i", sample_conv_hex2int, 0, NULL, SMP_T_STR, SMP_T_SINT },
|
||||
{ "ipmask", sample_conv_ipmask, ARG1(1,MSK4), NULL, SMP_T_IPV4, SMP_T_IPV4 },
|
||||
|
|
Loading…
Reference in New Issue