From a164fb5721b8f542017147ac09b05bd11e9c3664 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 13 Apr 2011 09:32:41 +0200 Subject: [PATCH] [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. --- src/checks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/checks.c b/src/checks.c index 4285624cf..82aceaaa2 100644 --- a/src/checks.c +++ b/src/checks.c @@ -1681,6 +1681,9 @@ static int httpchk_expect(struct server *s, int done) /* 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;