BUG/MINOR: mux-h1: Properly handle http-request and http-keep-alive timeouts

It is now the turn for the H1 mux to be fix to properly handle http-request
and http-keep-alive timeouts. It is quite surprising but it is broken since
the 2.2. For idle connections on client side, the smallest value between the
client timeout and the http-request/http-keep-alive timeout is used while
the client timeout should only be used if other ones are not defined. So, if
the client timeout is the smallest value, the keep-alive timeout is not
respected.

It is only an issue for idle client connections. The http-request timeout is
respected from the moment part of the next request was received.

This patch should fix the issue #2334. It must be backported as far as 2.2. But
be careful during the backports. The H1 mux had evolved a lot since the 2.2.

(cherry picked from commit 2c9c2f9d77b9dac5a32d33838c5bca67f61fb1f5)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit bc378bb1938149ec16cf5975577297e98697f415)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 5ce99b07e5a7fa08e43045a2daebdad18bb032c0)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 91bc63f208419193fb27368f358c3c3532f2cb77)
[cf: is_idle_conn variable was removed]
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed