randy 97/02/21 16:37:20
Modified: src CHANGES http_protocol.c
Log:
Unset Content-Length if chunked (RFC-2068)
Reviewed by: Dean Gaudet, Randy Terbush, Marc Slemko
Submitted by: Petra Lampa
Revision Changes Path
1.179 +3 -1 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.178
retrieving revision 1.179
diff -C3 -r1.178 -r1.179
*** CHANGES 1997/02/22 00:33:29 1.178
--- CHANGES 1997/02/22 00:37:17 1.179
***************
*** 1,6 ****
Changes with Apache 1.2b7
! *) mod_negotiation fixes [Petr Lampa]
- replace protocol response numbers with symbols
- save variant-list into main request notes
- free allocated memory from subrequests
--- 1,8 ----
Changes with Apache 1.2b7
! *) unset Content-Length if chunked (RFC-2068) [Petr Lampa]
!
! *) mod_negotiation fixes [Petr Lampa] PR#157, PR#158, PR#159
- replace protocol response numbers with symbols
- save variant-list into main request notes
- free allocated memory from subrequests
1.105 +5 -1 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -C3 -r1.104 -r1.105
*** http_protocol.c 1997/02/20 23:36:39 1.104
--- http_protocol.c 1997/02/22 00:37:18 1.105
***************
*** 1102,1109 ****
if (!table_get(r->subprocess_env, "nokeepalive"))
set_keepalive (r);
! if (r->chunked)
bputs("Transfer-Encoding: chunked\015\012", fd);
if (r->byterange > 1)
bvputs(fd, "Content-Type: multipart/",
--- 1102,1113 ----
if (!table_get(r->subprocess_env, "nokeepalive"))
set_keepalive (r);
! if (r->chunked) {
bputs("Transfer-Encoding: chunked\015\012", fd);
+ /* RFC2068 #4.4: Messages MUST NOT include both a Content-Length
+ * header field and the "chunked" transfer coding. */
+ table_unset(r->headers_out, "Content-Length");
+ }
if (r->byterange > 1)
bvputs(fd, "Content-Type: multipart/",