summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ssh.c4
-rw-r--r--tests/data/test6232
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index e0e88632d..ef169ade7 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -2368,6 +2368,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
failf(conn->data, "%s", err_msg);
state(conn, SSH_SCP_CHANNEL_FREE);
sshc->actualcode = libssh2_session_error_to_CURLE(ssh_err);
+ /* Map generic errors to upload failed */
+ if(sshc->actualcode == CURLE_SSH ||
+ sshc->actualcode == CURLE_REMOTE_FILE_NOT_FOUND)
+ sshc->actualcode = CURLE_UPLOAD_FAILED;
break;
}
diff --git a/tests/data/test623 b/tests/data/test623
index 1a639d69f..f4b32dcaf 100644
--- a/tests/data/test623
+++ b/tests/data/test623
@@ -37,7 +37,7 @@ for ssh upload test
disable
</valgrind>
<errorcode>
-79
+25
</errorcode>
</verify>