BUG/MINOR: proto_tcp: bidirectional fetches not supported anymore in track-sc1/2

Sample fetch capabilities indicate when the fetch may be used and not
what it requires, so we need to check if a fetch is compatible with
the direction we want and not if it works backwards.
This commit is contained in:
Willy Tarreau 2012-12-09 17:04:41 +01:00
parent 598718a7ab
commit b54b6ca483

View File

@ -1309,9 +1309,9 @@ static int tcp_parse_tcp_req(char **args, int section_type, struct proxy *curpx,
}
if ((rule->action == TCP_ACT_TRK_SC1 || rule->action == TCP_ACT_TRK_SC2) &&
(rule->act_prm.trk_ctr.expr->fetch->cap & SMP_CAP_RES)) {
!(rule->act_prm.trk_ctr.expr->fetch->cap & SMP_CAP_REQ)) {
memprintf(err,
"fetch '%s' involves some response-only criteria which will be ignored in '%s %s'",
"fetch '%s' cannot be used on requests and will be ignored in '%s %s'",
rule->act_prm.trk_ctr.expr->fetch->kw, args[0], args[1]);
warn++;
}
@ -1352,9 +1352,9 @@ static int tcp_parse_tcp_req(char **args, int section_type, struct proxy *curpx,
}
if ((rule->action == TCP_ACT_TRK_SC1 || rule->action == TCP_ACT_TRK_SC2) &&
(rule->act_prm.trk_ctr.expr->fetch->cap & SMP_CAP_RES)) {
!(rule->act_prm.trk_ctr.expr->fetch->cap & SMP_CAP_REQ)) {
memprintf(err,
"fetch '%s' involves some response-only criteria which will be ignored in '%s %s'",
"fetch '%s' cannot be used on requests and will be ignored in '%s %s'",
rule->act_prm.trk_ctr.expr->fetch->kw, args[0], args[1]);
warn++;
}