aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--lib/ssh.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 218d28df5..2557530c2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
Changelog
+James H (5 July 2007)
+- Gavrie Philipson provided a patch that will use a more specific error
+ message for an scp:// upload failure. If libssh2 has his matching
+ patch, then the error message return by the server will be used instead
+ of a more generic error.
+
Daniel S (1 July 2007)
- Thomas J. Moore provided a patch that introduces Kerberos5 support in
libcurl. This also makes the options change name to --krb (from --krb4) and
diff --git a/lib/ssh.c b/lib/ssh.c
index de3382698..6b21c5a8c 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -1142,7 +1142,13 @@ CURLcode Curl_scp_do(struct connectdata *conn, bool *done)
if (!scp->ssh_channel &&
(libssh2_session_last_errno(scp->ssh_session) !=
LIBSSH2_ERROR_EAGAIN)) {
- return CURLE_FAILED_INIT;
+ int err;
+ char *err_msg;
+
+ err = libssh2_session_error_to_CURLE(
+ libssh2_session_last_error(scp->ssh_session, &err_msg, NULL, 0));
+ failf(conn->data, "%s", err_msg);
+ return err;
}
} while (!scp->ssh_channel);
#else /* !(LIBSSH2_APINO >= 200706012030) */