From 70e2f272127a931a7b245a95e3a022879145e1dd Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 9 Jan 2017 16:33:19 +0100 Subject: [PATCH] BUG/MINOR: stream: Fix how backend-specific analyzers are set on a stream When the stream's backend was defined, the request's analyzers flag was always set to 0 if the stream had no listener. This bug was introduced with the filter API but never triggered (I think so). Because of the commit 5820a366, it is now possible to encountered it. For example, this happens when the trace filter is enabled on a SPOE backend. The fix is pretty trivial. This fix must be backported to 1.7. --- src/proxy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proxy.c b/src/proxy.c index 2d9f06cf5..41e40e666 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -1156,7 +1156,7 @@ int stream_set_backend(struct stream *s, struct proxy *be) * be more reliable to store the list of analysers that have been run, * but what we do here is OK for now. */ - s->req.analysers |= be->be_req_ana & (strm_li(s) ? ~strm_li(s)->analysers : 0); + s->req.analysers |= be->be_req_ana & ~(strm_li(s) ? strm_li(s)->analysers : 0); /* If the target backend requires HTTP processing, we have to allocate * the HTTP transaction and hdr_idx if we did not have one.