mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-23 06:06:54 +00:00
BUG/MEDIUM: tcp-check: don't rely on random memory contents
If "option tcp-check" is used and no "tcp-check" rule is specified, we
only look at rule->action which dereferences the proxy's memory and which
can randomly match TCPCHK_ACT_CONNECT or whatever else, causing a check
to fail. This bug is the result of an incorrect fix attempted in commit
f621bea
("BUG/MINOR: tcpcheck connect wrong behavior").
This fix must be backported into 1.5.
This commit is contained in:
parent
e7b9ed33ee
commit
d2a49592fa
@ -1442,7 +1442,7 @@ static int connect_conn_chk(struct task *t)
|
||||
set_host_port(&conn->addr.to, check->port);
|
||||
}
|
||||
|
||||
if (check->type == PR_O2_TCPCHK_CHK) {
|
||||
if (check->type == PR_O2_TCPCHK_CHK && !LIST_ISEMPTY(&s->proxy->tcpcheck_rules)) {
|
||||
struct tcpcheck_rule *r = (struct tcpcheck_rule *) s->proxy->tcpcheck_rules.n;
|
||||
/* if first step is a 'connect', then tcpcheck_main must run it */
|
||||
if (r->action == TCPCHK_ACT_CONNECT) {
|
||||
|
Loading…
Reference in New Issue
Block a user