]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: stream: don't ignore res.analyse_exp anymore
authorWilly Tarreau <w@1wt.eu>
Fri, 10 Nov 2017 16:14:23 +0000 (17:14 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 Nov 2017 16:14:23 +0000 (17:14 +0100)
It happens that no single analyser has ever needed to set res.analyse_exp,
so that process_stream() didn't consider it when computing the next task
expiration date. Since Lua actions were introduced in 1.6, this can be
needed on http-response actions for example, so let's ensure it's properly
handled.

Thanks to Nick Dimov for reporting this bug. The fix needs to be
backported to 1.7 and 1.6.

src/stream.c

index 48c4ba53d879f3a2a83f144f5ef3be46c0dcdac4..19d94f39b42043f604cb62adad6df14001a082e6 100644 (file)
@@ -2427,6 +2427,8 @@ struct task *process_stream(struct task *t)
 
                t->expire = tick_first(t->expire, req->analyse_exp);
 
+               t->expire = tick_first(t->expire, res->analyse_exp);
+
                if (si_f->exp)
                        t->expire = tick_first(t->expire, si_f->exp);