mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 06:11:32 +01:00
This problem is already detected here: 8dc7316a6fa8cc6f3a60456376c8a13a6902a5be Another case raises. Now HAProxy sends a final message (typically with "http-request deny"). Once the the message is sent, the response channel flags are not modified. HAProxy executes a Lua sample-fecthes for building logs, and the result is ignored because the response flag remains set to the value HTTP_MSG_RPBEFORE. So the Lua function hlua_check_proto() want to guarantee the valid state of the buffer and ask for aborting the request. The function check_proto() is not the good way to ensure request consistency. The real question is not "Are the message valid ?", but "Are the validity of message unchanged ?" This patch memorize the parser state before entering int the Lua code, and perform a check when it go out of the Lua code. If the parser state change for down, the request is aborted because the HTTP message is degraded. This patch should be backported in version 1.6 and 1.7