[BUG] checks: http-check expect could fail a check on multi-packet responses
Christopher Blencowe reported that the httpchk_expect() function was
lacking a test for incomplete responses : if the server sends only the
headers in the first packet and the body in a subsequent one, there is
a risk that the check fails without waiting for more data. A failure
rate of about 1% was reported.
This fix must be backported to 1.4.
diff --git a/src/checks.c b/src/checks.c
index 4285624..82aceaa 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -1681,6 +1681,9 @@
/* Check that response body is not empty... */
if (*contentptr == '\0') {
+ if (!done)
+ return 0;
+
set_server_check_status(s, HCHK_STATUS_L7RSP,
"HTTP content check found empty response body");
return 1;