aboutsummaryrefslogtreecommitdiff
path: root/lib/sendf.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-11-02 21:56:40 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-11-02 21:56:40 +0000
commit2147284cad624325f5b0034c2f394db62086d9e6 (patch)
tree4a874303150609f63388ada95e308f79c023519d /lib/sendf.c
parent7f1870da5f5fa114c461bc8d4651961ad0d370f0 (diff)
James Housley brought support for SCP transfers
Diffstat (limited to 'lib/sendf.c')
-rw-r--r--lib/sendf.c17
1 files changed, 15 insertions, 2 deletions
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 <curl/mprintf.h>
@@ -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,