BUG/MEDIUM: spoe: Register pre/post analyzers in start_analyze callback function

The commit ea5199d69 ("BUG/MEDIUM: filters: Exec pre/post analysers only one
time per filter") revealed a bug in the SPOE filters if used with the legacy
HTTP mode enabled. The pre/post analyzers must be set in the start_analyze
callback function to be sure to set them for each request.

Indeed, in HTX, a new stream is created for each request. Thus it is not a
problem to set pre/post analyzers in the attach callback function, only
called when the stream is created. However, in legacy HTTP mode, the same
stream is used for all requests received on a given connection. The attach
callback function is called only once for frontend/listener filters. Since
the commit ea5199d69, the pre/post analyzers bitfields are removed during
analysis. So these bitfields must be set for each request. That means we
must move the init from attach to start_analyze callback function.

This bug only affects versions containing the legacy HTTP mode, so the 2.0
and below. Thus, this patch is directly pushed in the 2.0. There is no
upstream commit ID. It must be backported to all versions containing the
above commit.
1 file changed