Index: src/http.c =================================================================== RCS file: /server/cvs-server/squid/squid/src/http.c,v retrieving revision 1.384.2.10 diff -u -p -r1.384.2.10 http.c --- src/http.c 12 Jan 2004 10:51:59 -0000 1.384.2.10 +++ src/http.c 14 Jan 2004 18:34:53 -0000 @@ -476,7 +476,7 @@ httpProcessReplyHeader(HttpStateData * h if (reply->keep_alive) { if (httpState->peer) httpState->peer->stats.n_keepalives_recv++; - if (reply->content_length == -1) { + if (httpReplyBodySize(httpState->request->method, reply) == -1) { debug(11, 1) ("httpProcessReplyHeader: Impossible keep-alive header from '%s'\n", storeUrl(entry)); httpState->flags.keepalive_broken = 1; } Index: src/structs.h =================================================================== RCS file: /server/cvs-server/squid/squid/src/structs.h,v retrieving revision 1.408.2.19 diff -u -p -r1.408.2.19 structs.h --- src/structs.h 12 Jan 2004 10:51:59 -0000 1.408.2.19 +++ src/structs.h 14 Jan 2004 18:34:53 -0000 @@ -964,11 +964,11 @@ struct _HttpReply { }; struct _http_state_flags { - unsigned int keepalive_broken:1; - unsigned int abuse_detected:1; unsigned int proxying:1; unsigned int keepalive:1; unsigned int only_if_cached:1; + unsigned int keepalive_broken:1; + unsigned int abuse_detected:1; }; struct _HttpStateData {