- Hans-Jurgen May pointed out that trying SCP or SFTP over a SOCKS proxy
crashed libcurl. This is now addressed by making sure we use "plain send" internally when doing the socks handshake instead of the Curl_write() function which is designed to use the "target" protocol. That's then SCP or SFTP in this case. I also took the opportunity and cleaned up some ssh- related #ifdefs in the code for readability.
This commit is contained in:
13
lib/ssh.h
13
lib/ssh.h
@@ -8,7 +8,7 @@
|
||||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
@@ -37,6 +37,17 @@ ssize_t Curl_sftp_send(struct connectdata *conn, int sockindex,
|
||||
const void *mem, size_t len);
|
||||
ssize_t Curl_sftp_recv(struct connectdata *conn, int sockindex,
|
||||
char *mem, size_t len);
|
||||
bool Curl_ssh_enabled(struct connectdata *conn,
|
||||
int prot);
|
||||
|
||||
#define Curl_ssh_enabled(conn,prot) (conn->protocol & prot)
|
||||
|
||||
#else /* USE_LIBSSH2 */
|
||||
#define Curl_ssh_enabled(x,y) 0
|
||||
#define Curl_scp_send(a,b,c,d) 0
|
||||
#define Curl_sftp_send(a,b,c,d) 0
|
||||
#define Curl_scp_recv(a,b,c,d) 0
|
||||
#define Curl_sftp_recv(a,b,c,d) 0
|
||||
|
||||
#endif /* USE_LIBSSH2 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user