]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: dns: Don't yield in do-resolve action on a final evaluation
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 28 Jul 2020 08:21:54 +0000 (10:21 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 30 Jul 2020 07:31:09 +0000 (09:31 +0200)
commit385101e53816dc1b7bc1fc957adc512ce8a07cb4
treef30f239beea053a78aac934c98c323ec64887732
parent08ed98fd7963968de49593304fdd9234812845a4
BUG/MEDIUM: dns: Don't yield in do-resolve action on a final evaluation

When an action is evaluated, flags are passed to know if it is the first call
(ACT_OPT_FIRST) and if it must be the last one (ACT_OPT_FINAL). For the
do-resolve DNS action, the ACT_OPT_FINAL flag must be handled because the
action may yield. It must never yield when this flag is set. Otherwise, it may
lead to a wakeup loop of the stream because the inspected-delay of a tcp-request
content ruleset was reached without stopping the rules evaluation.

This patch is related to the issue #222. It must be backported as far as 2.0.
src/dns.c