DescriptionFix a hang if directory listing size is > 8K, for example,
ftp://ftp.mozilla.org/pub/addons/
The problem is that data was spooling on network stack and
after 8K data TCP Window size becomes small and no more
data is received after 8K. The fix is to change the
ERROR_CLASS_INITIATED case in the ProcessResponseLIST
function to not go back to the STATE_CTRL_READ state.
In URLRequestNewFtpJob::ProcessFtpDir. construct the
std::string from buf->data() and its length so that
buf->data() doesn't need to be null-terminated.
Author: Ibrar Ahmed <ibrar.ahmad@gmail.com>
Original review: http://codereview.chromium.org/146137
R=wtc,phajdan.jr
BUG=http://crbug.com/4965
TEST=ftp://ftp.mozilla.org/pub/addons/
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=22217
Patch Set 1 #Patch Set 2 : With wtc's edits #Patch Set 3 : Don't null-terminate data->buf() #Patch Set 4 : Upload before checkin #
Messages
Total messages: 7 (0 generated)
|