DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17354>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17354 some bugs in Chunked{Input|Output}Stream Summary: some bugs in Chunked{Input|Output}Stream Product: Axis Version: 1.0 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Basic Architecture AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hello, Axis developers, I found bugs in org.apache.axis.transport.http.ChunkedOutputStream and org.apache.axis.transport.http.ChunkedInputStream I fixed the bugs and tested with Coyote HTTP/1.1 server in Tomcat. Would you fix Axis source tree? ---------- [ChunkedInputStream] Line.85 (source code in Axis1.0) >>wrong>> return rc > 0 ? d[0] : rc; <<right<< return rc > 0 ? (d[0] & 0xFF) : rc; InputStream.read() method should return positive int in the range from 0 to 255. But, byte is cast to int in the range from -128 to 127. This has no problem for ASCII code, but it has some problems for UTF8, GZIP and so on. ---------- [ChunkedOutputStream] Line.116 (source code in Axis1.0) >>wrong>> out.write("\r\n0\r\n".getBytes()); <<right<< out.write("0\r\n\r\n".getBytes()); According to HTTP/1.1: section 3.6.1 Chunked Transfer Coding[1], Chunked-Body = *chunk last-chunk trailer CRLF chunk = chunk-size [ chunk-extension ] CRLF chunk-data CRLF last-chunk = 1*("0") [ chunk-extension ] CRLF chunk part is implemented in write(byte[] b, int off, int len) method, last-chunk part is implemented in eos() method. eos() should write not "CRLF 0 CRLF" but "0 CRLF CRLF". Note that this code assumes no trailer or chunk-extension. References: [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1 Thanks in advance, Toshiro TAKASE Internet Technology, Tokyo Research Laboratory, IBM Research notes ID: Toshiro Takase/Japan/[EMAIL PROTECTED], e-mail: [EMAIL PROTECTED]
