On Fri, 28 Aug 2009, Kamil Dudka wrote:
- result = Curl_setup_transfer(conn, -1, -1, FALSE, NULL, + result = Curl_setup_transfer(conn, FIRSTSOCKET, -1, FALSE, NULL, FIRSTSOCKET, NULL);This breaks SFTP upload completely:
I guess I need to stop blindly editing code and suggesting changes without testing myself first....
The idea of mine is that both upload and download of SSH-based protocols need both read and write sockets set since both directions will be needed.
-#if defined(USE_LIBSSH2) - if(conn->protocol & (PROT_SCP|PROT_SFTP)) - select_res |= CURL_CSELECT_IN; -#endif /* USE_LIBSSH2 */ } else fd_read = CURL_SOCKET_BAD;This breaks SFTP *download*. Anyway it deserves a comment: 1) Why has been the exception here?
I don't remember, but I experience pain when I see it. It seems like a very weird assumption and action. I would think our waitfor bits approach should be a much better way to achieve something similar.
2) Why are you going to drop it right now?
Simply because that old #ifdef is related to the same problem we're working on, and with a "proper" fix going on I think it is also motivated to get rid of old dirty kludges.
-- / daniel.haxx.se
