From 2147284cad624325f5b0034c2f394db62086d9e6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 2 Nov 2006 21:56:40 +0000 Subject: James Housley brought support for SCP transfers --- lib/sendf.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'lib/sendf.c') diff --git a/lib/sendf.c b/lib/sendf.c index 01a23e445..59c43f5f0 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -45,6 +45,7 @@ #include "sendf.h" #include "connect.h" /* for the Curl_sockerrno() proto */ #include "sslgen.h" +#include "ssh.h" #define _MPRINTF_REPLACE /* use the internal *printf() functions */ #include @@ -326,9 +327,15 @@ CURLcode Curl_write(struct connectdata *conn, CURLcode retcode; int num = (sockfd == conn->sock[SECONDARYSOCKET]); - if (conn->ssl[num].use) + if (conn->ssl[num].use) { /* only TRUE if SSL enabled */ bytes_written = Curl_ssl_send(conn, num, mem, len); + } +#ifdef USE_LIBSSH2 + else if (conn->protocol & PROT_SCP) { + bytes_written = Curl_scp_send(conn, num, mem, len); + } +#endif /* !USE_LIBSSH2 */ else { if(conn->sec_complete) /* only TRUE if krb4 enabled */ @@ -499,9 +506,15 @@ int Curl_read(struct connectdata *conn, /* connection data */ if(conn->ssl[num].use) { nread = Curl_ssl_recv(conn, num, conn->master_buffer, bytesfromsocket); - if(nread == -1) + if(nread == -1) { return -1; /* -1 from Curl_ssl_recv() means EWOULDBLOCK */ + } + } +#ifdef USE_LIBSSH2 + else if (conn->protocol & PROT_SCP) { + nread = Curl_scp_recv(conn, num, conn->master_buffer, bytesfromsocket); } +#endif /* !USE_LIBSSH2 */ else { if(conn->sec_complete) nread = Curl_sec_read(conn, sockfd, conn->master_buffer, -- cgit v1.2.3