]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: stream: don't set backend's nor response analysers on SF_TUNNEL
authorWilly Tarreau <w@1wt.eu>
Tue, 13 Dec 2016 14:26:56 +0000 (15:26 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 27 Jun 2017 12:38:02 +0000 (14:38 +0200)
commitd62b98c6e80bd69ff80d80e90e62ab51531bc250
tree959571bc4f872823b4d0761694be6155b9e6a351
parent9c26680eb90d4f84d9967203afda03a805d4e9e5
MINOR: stream: don't set backend's nor response analysers on SF_TUNNEL

In order to implement hot-pluggable applets like we'll need for HTTP/2
which will speak a different protocol than the expected one, it will be
mandatory to be able to clear all analysers from the request and response
channel and/or to keep only the ones the applet initializer installed.

Unfortunately for now in sess_establish() we systematically place a number
of analysers inherited from the frontend, backend and some hard-coded ones.

This patch reuses the now unused SF_TUNNEL flag on the stream to indicate
we're dealing with a tunnel and don't want to add more analysers anymore.
It will be usable to install such a specific applet.

Ideally over the long term it might be nice to be able to set the mode on
the stream instead of the proxy so that we can decide to change a stream's
mode (eg: TCP, HTTP, HTTP/2) at run time. But it would require many more
changes for a gain which is not yet obvious.
src/stream.c