diff --git a/CHANGES b/CHANGES index e81a270ff21742..e8883c4719092f 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,12 @@ Changelog +Daniel Stenberg (1 Apr 2010) +- Matt Wixson found and fixed a bug in the SCP/SFTP area where the code + treated a 0 return code from libssh2 to be the same as EAGAIN while in + reality it isn't. The problem caused a hang in SFTP transfers from a + MessageWay server. + Daniel Stenberg (28 Mar 2010) - Ben Greear: If you pass a URL to pop3 that does not contain a message ID as part of the URL, it would previously ask for 'INBOX' which just causes the diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 743116bc373c07..4a0742678aaed6 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -44,6 +44,7 @@ This release includes the following bugfixes: o multi interface HTTP POST over a proxy using PROXYTUNNEL o RTSP GET_PARAMETER o timeout after last data chunk was handled + o SFTP download hang This release includes the following known bugs: @@ -57,6 +58,6 @@ advice from friends like these: Ryan Chan, Markus Duft, Andrei Benea, Jacob Moshenko, Daniel Johnson, Constantine Sapuntzakis, Douglas Steinwand, Thomas Lopatic, Hauke Duden, Akos Pasztory, Kenny To, Christopher Conroy, Massimo Callegari, - Bob Richmond + Bob Richmond, Matt Wixson Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/sendf.c b/lib/sendf.c index 964c9ed62aabd0..7f7c2cb9d9ec19 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -549,7 +549,7 @@ int Curl_read(struct connectdata *conn, /* connection data */ else if(conn->protocol & PROT_SFTP) nread = Curl_sftp_recv(conn, num, buffertofill, bytesfromsocket); #ifdef LIBSSH2CHANNEL_EAGAIN - if((nread == LIBSSH2CHANNEL_EAGAIN) || (nread == 0)) + if(nread == LIBSSH2CHANNEL_EAGAIN) /* EWOULDBLOCK */ return -1; #endif