[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.
This commit is contained in:
Willy Tarreau 2011-04-13 09:32:41 +02:00
parent 04df1125cf
commit a164fb5721

View File

@ -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;