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 {
