version 1.229, 2021/08/09 23:56:36 |
version 1.230, 2021/08/10 03:33:34 |
|
|
const char *errstr; |
const char *errstr; |
extern char *optarg; |
extern char *optarg; |
extern int optind; |
extern int optind; |
/* For now, keep SCP as default */ |
|
enum scp_mode_e mode = MODE_SCP; |
enum scp_mode_e mode = MODE_SCP; |
char *sftp_direct = NULL; |
char *sftp_direct = NULL; |
|
|
|
|
|
|
fflag = Tflag = tflag = 0; |
fflag = Tflag = tflag = 0; |
while ((ch = getopt(argc, argv, |
while ((ch = getopt(argc, argv, |
"12346ABCTdfpqRrtvD:F:J:M:P:S:c:i:l:o:")) != -1) { |
"12346ABCTdfOpqRrstvD:F:J:M:P:S:c:i:l:o:")) != -1) { |
switch (ch) { |
switch (ch) { |
/* User-visible flags. */ |
/* User-visible flags. */ |
case '1': |
case '1': |
|
|
addargs(&args, "-%c", ch); |
addargs(&args, "-%c", ch); |
addargs(&args, "%s", optarg); |
addargs(&args, "%s", optarg); |
break; |
break; |
|
case 'O': |
|
mode = MODE_SCP; |
|
break; |
|
case 's': |
|
mode = MODE_SFTP; |
|
break; |
case 'P': |
case 'P': |
sshport = a2port(optarg); |
sshport = a2port(optarg); |
if (sshport <= 0) |
if (sshport <= 0) |
|
|
addargs(&remote_remote_args, "-oBatchmode=yes"); |
addargs(&remote_remote_args, "-oBatchmode=yes"); |
addargs(&args, "-oBatchmode=yes"); |
addargs(&args, "-oBatchmode=yes"); |
break; |
break; |
case 'M': |
|
if (strcmp(optarg, "sftp") == 0) |
|
mode = MODE_SFTP; |
|
else if (strcmp(optarg, "scp") == 0) |
|
mode = MODE_SCP; |
|
else |
|
usage(); |
|
break; |
|
case 'l': |
case 'l': |
limit_kbps = strtonum(optarg, 1, 100 * 1024 * 1024, |
limit_kbps = strtonum(optarg, 1, 100 * 1024 * 1024, |
&errstr); |
&errstr); |
|
|
usage(void) |
usage(void) |
{ |
{ |
(void) fprintf(stderr, |
(void) fprintf(stderr, |
"usage: scp [-346ABCpqRrTv] [-c cipher] [-D sftp_server_path] [-F ssh_config]\n" |
"usage: scp [-346ABCOpqRrsTv] [-c cipher] [-D sftp_server_path] [-F ssh_config]\n" |
" [-i identity_file] [-J destination] [-l limit] [-M scp|sftp]\n" |
" [-i identity_file] [-J destination] [-l limit]\n" |
" [-o ssh_option] [-P port] [-S program] source ... target\n"); |
" [-o ssh_option] [-P port] [-S program] source ... target\n"); |
exit(1); |
exit(1); |
} |
} |