mirror of
https://github.com/curl/curl.git
synced 2026-08-25 00:13:34 +03:00
* Finish moving sftp:// into a state machine so it won't block in multi mode
* Move scp:// into a state machine so it won't block in multi mode * When available use the full directory entry from the sftp:// server
This commit is contained in:
parent
93bd512357
commit
8026d94c07
5 changed files with 1709 additions and 559 deletions
14
lib/url.c
14
lib/url.c
|
|
@ -3361,6 +3361,10 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||
conn->curl_connect = Curl_ssh_connect; /* ssh_connect? */
|
||||
conn->curl_do = Curl_scp_do;
|
||||
conn->curl_done = Curl_scp_done;
|
||||
#if (LIBSSH2_APINO >= 200706012030)
|
||||
conn->curl_connecting = Curl_ssh_multi_statemach;
|
||||
conn->curl_doing = Curl_scp_doing;
|
||||
#endif (LIBSSH2_APINO >= 200706012030)
|
||||
conn->curl_do_more = (Curl_do_more_func)ZERO_NULL;
|
||||
#else
|
||||
failf(data, LIBCURL_NAME
|
||||
|
|
@ -3376,14 +3380,18 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||
conn->curl_connect = Curl_ssh_connect; /* ssh_connect? */
|
||||
conn->curl_do = Curl_sftp_do;
|
||||
conn->curl_done = Curl_sftp_done;
|
||||
conn->curl_do_more = (Curl_do_more_func)NULL;
|
||||
#if (LIBSSH2_APINO >= 200706012030)
|
||||
conn->curl_connecting = Curl_ssh_multi_statemach;
|
||||
conn->curl_doing = Curl_sftp_doing;
|
||||
#endif (LIBSSH2_APINO >= 200706012030)
|
||||
conn->curl_do_more = (Curl_do_more_func)ZERO_NULL;
|
||||
#else
|
||||
failf(data, LIBCURL_NAME
|
||||
" was built without LIBSSH2, scp: not supported!");
|
||||
return CURLE_UNSUPPORTED_PROTOCOL;
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
}
|
||||
else {
|
||||
/* We fell through all checks and thus we don't support the specified
|
||||
protocol */
|
||||
failf(data, "Unsupported protocol: %s", conn->protostr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue