aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ssh.c12
-rw-r--r--lib/strerror.c4
2 files changed, 10 insertions, 6 deletions
diff --git a/lib/ssh.c b/lib/ssh.c
index ee122ff06..402f6ea15 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -562,11 +562,15 @@ CURLcode Curl_scp_do(struct connectdata *conn, bool *done)
*done = TRUE; /* unconditionally */
if (conn->data->set.upload) {
+ if(conn->data->set.infilesize < 0) {
+ failf(conn->data, "SCP requries a known file size for upload");
+ return CURLE_UPLOAD_FAILED;
+ }
/*
- * NOTE!!! libssh2 requires that the destination path is a full path
- * that includes the destination file and name OR ends in a "/" .
- * If this is not done the destination file will be named the
- * same name as the last directory in the path.
+ * libssh2 requires that the destination path is a full path that includes
+ * the destination file and name OR ends in a "/" . If this is not done
+ * the destination file will be named the same name as the last directory
+ * in the path.
*/
scp->ssh_channel = libssh2_scp_send_ex(scp->ssh_session, scp->path,
LIBSSH2_SFTP_S_IRUSR|
diff --git a/lib/strerror.c b/lib/strerror.c
index b07067cec..118c98ede 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -123,8 +123,8 @@ curl_easy_strerror(CURLcode error)
case CURLE_WRITE_ERROR:
return "failed writing received data to disk/application";
- case CURLE_FTP_COULDNT_STOR_FILE:
- return "failed FTP upload (the STOR command)";
+ case CURLE_UPLOAD_FAILED:
+ return "upload failed (at start/before it took off)";
case CURLE_READ_ERROR:
return "failed to open/read local data from file/application";