mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-09-25 10:58:56 +02:00
address scp's sftp mode buf len limitations
This commit is contained in:
parent
9231e35bcc
commit
6c431e889c
17
scp.c
17
scp.c
@ -184,7 +184,12 @@ pid_t do_cmd_pid = -1;
|
|||||||
pid_t do_cmd_pid2 = -1;
|
pid_t do_cmd_pid2 = -1;
|
||||||
|
|
||||||
/* SFTP copy parameters */
|
/* SFTP copy parameters */
|
||||||
|
#ifdef WINDOWS
|
||||||
|
// match DEFAULT_COPY_BUFLEN from sftp-client.c unless overriden below with -X input
|
||||||
|
size_t sftp_copy_buflen = 32768;
|
||||||
|
#else
|
||||||
size_t sftp_copy_buflen;
|
size_t sftp_copy_buflen;
|
||||||
|
#endif // WINDOWS
|
||||||
size_t sftp_nrequests;
|
size_t sftp_nrequests;
|
||||||
|
|
||||||
/* Needed for sftp */
|
/* Needed for sftp */
|
||||||
@ -770,6 +775,16 @@ main(int argc, char **argv)
|
|||||||
optarg + 7, strerror(errno));
|
optarg + 7, strerror(errno));
|
||||||
}
|
}
|
||||||
sftp_copy_buflen = (size_t)llv;
|
sftp_copy_buflen = (size_t)llv;
|
||||||
|
#ifdef WINDOWS
|
||||||
|
size_t max_sftp_buf_len = 204800;
|
||||||
|
if (sftp_copy_buflen > max_sftp_buf_len) {
|
||||||
|
if (verbose_mode)
|
||||||
|
fmprintf(stderr,
|
||||||
|
"Buffer value of %d is too large for Win32-OpenSSH. Setting buffer to %d\n",
|
||||||
|
sftp_copy_buflen, max_sftp_buf_len);
|
||||||
|
sftp_copy_buflen = max_sftp_buf_len;
|
||||||
|
}
|
||||||
|
#endif // WINDOWS
|
||||||
} else if (strncmp(optarg, "nrequests=", 10) == 0) {
|
} else if (strncmp(optarg, "nrequests=", 10) == 0) {
|
||||||
llv = strtonum(optarg + 10, 1, 256 * 1024,
|
llv = strtonum(optarg + 10, 1, 256 * 1024,
|
||||||
&errstr);
|
&errstr);
|
||||||
@ -1199,7 +1214,7 @@ do_sftp_connect(char *host, char *user, int port, char *sftp_direct,
|
|||||||
get_zone_identifier(host);
|
get_zone_identifier(host);
|
||||||
#endif // WINDOWS
|
#endif // WINDOWS
|
||||||
return do_init(*reminp, *remoutp,
|
return do_init(*reminp, *remoutp,
|
||||||
sftp_copy_buflen, sftp_nrequests, limit_kbps);
|
sftp_copy_buflen, sftp_nrequests, limit_kbps);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user