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