BUG/MINOR: http-rules: Always replace the response status on a return action
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 19 Feb 2021 10:41:01 +0000 (11:41 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 19 Feb 2021 17:03:59 +0000 (18:03 +0100)
commit2d36df275b1323cfae8105b5a39f6cfb96f50811
tree961b14f0c2a4f902ca518795db528b1efd4b1874
parent1d7d0f86b8a7f0d74b47e2afe08f87d9b963d9fb
BUG/MINOR: http-rules: Always replace the response status on a return action

When a HTTP return action is triggered, HAProxy is responsible to return the
response, based on the configured status code. On the request side, there is
no problem because there is no server response to replace. But on the
response side, we must take care to override the server response status
code, if any, to be sure to use the rigth status code to get the http reply
message.

In short, we must always set the configured status code of the HTTP return
action before returning the http reply to be sure to get the right reply,
the one base on the http return action status code and not a reply based on
the server response status code..

This patch should fix the issue #1139. It must be backported as far as 2.2.
src/http_act.c