mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sangjin Lee (JIRA)" <j...@apache.org>
Subject [jira] Closed: (ASYNCWEB-36) fail to parse a response line if a CRLF is at the beginning of a buffer
Date Tue, 01 Sep 2009 03:19:34 GMT

     [ https://issues.apache.org/jira/browse/ASYNCWEB-36?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Sangjin Lee closed ASYNCWEB-36.

       Resolution: Fixed
    Fix Version/s: client-1.0.0

I checked in the fix.  There was a bug in the logic that decodes lines in HTTP responses.

> fail to parse a response line if a CRLF is at the beginning of a buffer
> -----------------------------------------------------------------------
>                 Key: ASYNCWEB-36
>                 URL: https://issues.apache.org/jira/browse/ASYNCWEB-36
>             Project: Asyncweb
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: client-1.0.0
>            Reporter: Sangjin Lee
>            Assignee: Sangjin Lee
>             Fix For: client-1.0.0
> During the HTTP response decoding, if a CRLF (13 10) falls at the beginning of a ByteBuffer
that's passed to the decoder, the decoder fails to handle it properly.  An empty CRLF may
appear at the end of the response headers, as well as at the end of a chunked response.
> The methods in question are HttpDecoder.decodeLine() and HttpDecoder.decodeHeaderLine().
 These methods are supposed to return a full line, an empty string ("") if the full line is
an empty CRLF, or null if the buffer contains a partial line so it needs more data.  If an
empty CRLF falls anywhere but the beginning of the buffer, they do return an empty string.
 However, if the empty CRLF comes at the beginning, due to a bug in these methods, the methods
return null.  As a result, the decoder asks for more data to decode although the data is there,
and the response decoding cannot be completed.  If the connection gets closed, it results
in a "prematurely closed" exception.  If the connection is kept alive, nothing will happen
until a timeout happens.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message