From d47a1bd1d7311f70c368ccb016553a0d30fb123d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 28 Nov 2016 12:36:26 +0100 Subject: [PATCH] BUG/MINOR: filters: Invert evaluation order of HTTP_XFER_BODY and XFER_DATA analyzers These 2 analyzers are responsible of the data forwarding in, respectively, HTTP mode and TCP mode. Now, the analyzer responsible of the HTTP data forwarding is called before the one responsible of the TCP data forwarding. This will allow the filtering of tunneled data in HTTP. [wt: backport desired in 1.7 - no impact right now but may impact the ability to backport future fixes] --- src/stream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stream.c b/src/stream.c index b333dec62..08f3aa9de 100644 --- a/src/stream.c +++ b/src/stream.c @@ -1839,8 +1839,8 @@ struct task *process_stream(struct task *t) FLT_ANALYZE(s, req, tcp_persist_rdp_cookie, ana_list, ana_back, AN_REQ_PRST_RDP_COOKIE); FLT_ANALYZE(s, req, process_sticking_rules, ana_list, ana_back, AN_REQ_STICKING_RULES); ANALYZE (s, req, flt_analyze_http_headers, ana_list, ana_back, AN_FLT_HTTP_HDRS); - ANALYZE (s, req, flt_xfer_data, ana_list, ana_back, AN_FLT_XFER_DATA); ANALYZE (s, req, http_request_forward_body, ana_list, ana_back, AN_REQ_HTTP_XFER_BODY); + ANALYZE (s, req, flt_xfer_data, ana_list, ana_back, AN_FLT_XFER_DATA); ANALYZE (s, req, flt_end_analyze, ana_list, ana_back, AN_FLT_END); break; } @@ -1918,8 +1918,8 @@ struct task *process_stream(struct task *t) FLT_ANALYZE(s, res, process_store_rules, ana_list, ana_back, AN_RES_STORE_RULES); FLT_ANALYZE(s, res, http_process_res_common, ana_list, ana_back, AN_RES_HTTP_PROCESS_BE, s->be); ANALYZE (s, res, flt_analyze_http_headers, ana_list, ana_back, AN_FLT_HTTP_HDRS); - ANALYZE (s, res, flt_xfer_data, ana_list, ana_back, AN_FLT_XFER_DATA); ANALYZE (s, res, http_response_forward_body, ana_list, ana_back, AN_RES_HTTP_XFER_BODY); + ANALYZE (s, res, flt_xfer_data, ana_list, ana_back, AN_FLT_XFER_DATA); ANALYZE (s, res, flt_end_analyze, ana_list, ana_back, AN_FLT_END); break; }