From: Willy Tarreau Date: Wed, 13 Apr 2011 07:32:41 +0000 (+0200) Subject: [BUG] checks: http-check expect could fail a check on multi-packet responses X-Git-Tag: v1.5-dev8~239 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a164fb5721b8f542017147ac09b05bd11e9c3664;p=thirdparty%2Fhaproxy.git [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 4285624cf3..82aceaaa2b 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;