summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-10-26 11:08:43 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-12-01 17:35:15 +0100
commit75427291e5e06afed7aff0de992cad2cbec5a214 (patch)
tree9ad7d689224c9320ad3a2ee178e57844d2e3191c /lib
parentc92d2e14cfb0db662f958effd2ac86f995cf1b5a (diff)
downloadcurl-75427291e5e06afed7aff0de992cad2cbec5a214.tar.gz
libssh2: send the correct CURLE error code on scp file not found
That also updates tests to expect the right error code libssh2 back-end returns CURLE_SSH error if the remote file is not found. Expect instead CURLE_REMOTE_FILE_NOT_FOUND which is sent by the libssh backend. Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/ssh.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index 54f08edf7..e0e88632d 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -261,6 +261,11 @@ static CURLcode libssh2_session_error_to_CURLE(int err)
case LIBSSH2_ERROR_NONE:
return CURLE_OK;
+ /* This is the error returned by libssh2_scp_recv2
+ * on unknown file */
+ case LIBSSH2_ERROR_SCP_PROTOCOL:
+ return CURLE_REMOTE_FILE_NOT_FOUND;
+
case LIBSSH2_ERROR_SOCKET_NONE:
return CURLE_COULDNT_CONNECT;