Start adding some expanded error conversion of libssh2 errors.
This commit is contained in:
@@ -174,14 +174,15 @@ static CURLcode sftp_libssh2_error_to_CURLE(unsigned long err)
|
|||||||
not return or even depend on libssh2 errors in the public libcurl API */
|
not return or even depend on libssh2 errors in the public libcurl API */
|
||||||
|
|
||||||
if (err == LIBSSH2_FX_NO_SUCH_FILE)
|
if (err == LIBSSH2_FX_NO_SUCH_FILE)
|
||||||
return CURLE_REMOTE_FILE_NOT_FOUND;
|
return CURLE_REMOTE_FILE_NOT_FOUND;
|
||||||
|
|
||||||
return CURLE_SSH;
|
return CURLE_SSH;
|
||||||
}
|
}
|
||||||
|
|
||||||
static CURLcode libssh2_session_error_to_CURLE(int err)
|
static CURLcode libssh2_session_error_to_CURLE(int err)
|
||||||
{
|
{
|
||||||
(void)err;
|
if (err == LIBSSH2_ERROR_ALLOC)
|
||||||
|
return CURLE_OUT_OF_MEMORY;
|
||||||
return CURLE_SSH;
|
return CURLE_SSH;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -350,12 +351,12 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
|
|||||||
strlen(sftp_scp->user));
|
strlen(sftp_scp->user));
|
||||||
|
|
||||||
if (!sshc->authlist) {
|
if (!sshc->authlist) {
|
||||||
if (libssh2_session_last_errno(sftp_scp->ssh_session) ==
|
if ((err = libssh2_session_last_errno(sftp_scp->ssh_session)) ==
|
||||||
LIBSSH2_ERROR_EAGAIN) {
|
LIBSSH2_ERROR_EAGAIN) {
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
state(conn, SSH_SESSION_FREE);
|
state(conn, SSH_SESSION_FREE);
|
||||||
sshc->actualCode = CURLE_OUT_OF_MEMORY;
|
sshc->actualCode = libssh2_session_error_to_CURLE(err);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user