BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 10 Jun 2022 14:48:47 +0000 (16:48 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 13 Jun 2022 06:04:10 +0000 (08:04 +0200)
commitd1c6cfe45a267b3150af6af814bee94d30eb23c6
treedeed3b61f6f8ee76892cc99babdb61a01b2d42f0
parent43c090c1ed9d06100be1e75a87d4e372ba7fee94
BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration

When a TCP content ruleset is evaluated, we stop waiting for more data if
the inspect-delay is reached, if there is a read error or if we know no more
data will be received. This last point is only valid for ACLs. An action may
decide to yield for another reason. For instance, in the SPOE, the
"send-spoe-group" action yields while the agent response is not
received. Thus, now, an action call is final only when the inspect-delay is
reached or if there is a read error. But it is possible for an action to
yield if the buffer is full or if CF_EOI flag is set.

This patch could be backported to all supported versions.
src/tcp_rules.c