BUG/MINOR: rules: Preserve FLT_END analyzers on silent-drop action

When at least a filter is attached to a stream, FLT_END analyzers must be
preserved on request and response channels.

This patch should be backported as far as 1.7.
This commit is contained in:
Christopher Faulet 2020-03-06 15:10:46 +01:00
parent 5e896510a8
commit 177f480f2c

View File

@ -1264,9 +1264,8 @@ static enum act_return tcp_exec_action_silent_drop(struct act_rule *rule, struct
if (strm) { if (strm) {
channel_abort(&strm->req); channel_abort(&strm->req);
channel_abort(&strm->res); channel_abort(&strm->res);
strm->req.analysers = 0; strm->req.analysers &= AN_REQ_FLT_END;
strm->res.analysers = 0; strm->res.analysers &= AN_RES_FLT_END;
_HA_ATOMIC_ADD(&strm->be->be_counters.denied_req, 1);
if (!(strm->flags & SF_ERR_MASK)) if (!(strm->flags & SF_ERR_MASK))
strm->flags |= SF_ERR_PRXCOND; strm->flags |= SF_ERR_PRXCOND;
if (!(strm->flags & SF_FINST_MASK)) if (!(strm->flags & SF_FINST_MASK))