BUG/MINOR: vars: fix set-var/unset-var exclusivity in the keyword parser
The parser checks first for "set-var" then "unset-var" from the updated
offset instead of testing it only when the other one fails, so it
validates this rule as "unset-var":
http-request set-varunset-var(proc.a)
This should be backported everywhere relevant, though it's mostly harmless
as it's unlikely that some users are purposely writing this in their conf!
diff --git a/src/vars.c b/src/vars.c
index 5b35aa3..d533b18 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -736,11 +736,11 @@
const char *kw_name;
int flags, set_var = 0;
- if (!strncmp(var_name, "set-var", 7)) {
+ if (strncmp(var_name, "set-var", 7) == 0) {
var_name += 7;
set_var = 1;
}
- if (!strncmp(var_name, "unset-var", 9)) {
+ else if (strncmp(var_name, "unset-var", 9) == 0) {
var_name += 9;
set_var = 0;
}