martin 00/01/11 07:51:33
Modified: src CHANGES
src/main buff.c
Log:
Thanks a lot to Dean for his chunked-code regression test! Sorry I found
this so late, apparently browsers swallowed it.
The trailing CRLF in the last chunk was not converted.
Revision Changes Path
1.1493 +3 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1492
retrieving revision 1.1493
diff -u -r1.1492 -r1.1493
--- CHANGES 2000/01/11 14:22:59 1.1492
+++ CHANGES 2000/01/11 15:51:29 1.1493
@@ -1,5 +1,8 @@
Changes with Apache 1.3.10
+ *) The end_chunk() code forgot to convert the trailing CRLF pair
+ from EBCDIC to ASCII. Fixed. [Martin Kraemer]
+
*) An Action set for a Location that didn't correspond to a file didn't
work. Fixed.
[Manoj Kasichainula, Ben Laurie]
1.94 +6 -4 apache-1.3/src/main/buff.c
Index: buff.c
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- buff.c 1999/12/09 12:05:03 1.93
+++ buff.c 2000/01/11 15:51:32 1.94
@@ -542,14 +542,16 @@
}
*strp++ = CR;
*strp = LF;
-#ifdef CHARSET_EBCDIC
- /* Chunks are an HTTP/1.1 Protocol feature. They must ALWAYS be in ASCII
*/
- ebcdic2ascii(&fb->outbase[fb->outchunk], &fb->outbase[fb->outchunk],
CHUNK_HEADER_SIZE);
-#endif /*CHARSET_EBCDIC*/
/* tack on the trailing CRLF, we've reserved room for this */
fb->outbase[fb->outcnt++] = CR;
fb->outbase[fb->outcnt++] = LF;
+
+#ifdef CHARSET_EBCDIC
+ /* Chunks are an HTTP/1.1 Protocol feature. They must ALWAYS be in ASCII
*/
+ ebcdic2ascii(&fb->outbase[fb->outchunk], &fb->outbase[fb->outchunk],
CHUNK_HEADER_SIZE);
+ ebcdic2ascii(&fb->outbase[fb->outcnt-2], &fb->outbase[fb->outcnt-2], 2);
+#endif /*CHARSET_EBCDIC*/
fb->outchunk = -1;
}