1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 09:27:59 +00:00

Update from Joris van Rantwijk: command line options to specify

port and password in scp

[originally from svn r312]
This commit is contained in:
Simon Tatham 1999-11-16 09:26:19 +00:00
parent cda9171850
commit 1d837144c4

33
scp.c
View File

@ -1,6 +1,6 @@
/*
* scp.c - Scp (Secure Copy) client for PuTTY.
* Joris van Rantwijk, Aug 1999.
* Joris van Rantwijk, Aug 1999, Nov 1999.
*
* This is mainly based on ssh-1.2.26/scp.c by Timo Rinne & Tatu Ylonen.
* They, in turn, used stuff from BSD rcp.
@ -27,6 +27,8 @@ static int recursive = 0;
static int preserve = 0;
static int targetshouldbedirectory = 0;
static int statistics = 1;
static int portnumber = 0;
static char *password = NULL;
static int errs = 0;
static int connection_open = 0;
@ -70,8 +72,14 @@ static void bump(char *fmt, ...)
void ssh_get_password(char *prompt, char *str, int maxlen)
{
HANDLE hin, hout;
DWORD savemode;
int i;
DWORD savemode, i;
if (password) {
strncpy(str, password, maxlen);
str[maxlen-1] = '\0';
password = NULL;
return;
}
hin = GetStdHandle(STD_INPUT_HANDLE);
hout = GetStdHandle(STD_OUTPUT_HANDLE);
@ -112,6 +120,9 @@ static void do_cmd(char *host, char *user, char *cmd)
cfg.port = 22;
}
if (portnumber)
cfg.port = portnumber;
/* Set username */
if (user != NULL && user[0] != '\0') {
strncpy(cfg.username, user, sizeof(cfg.username)-1);
@ -727,9 +738,15 @@ static void usage()
{
printf("PuTTY Secure Copy client\n");
printf("%s\n", ver);
printf("usage: scp [-p] [-q] [-r] [-v] [user@]host:source target\n");
printf(" scp [-p] [-q] [-r] [-v] source [source..]"
" [user@]host:target\n");
printf("Usage: scp [options] [user@]host:source target\n");
printf(" scp [options] source [source...] [user@]host:target\n");
printf("Options:\n");
printf(" -p preserve file attributes\n");
printf(" -q quiet, don't show statistics\n");
printf(" -r copy directories recursively\n");
printf(" -v show verbose messages\n");
printf(" -P port connect to specified port\n");
printf(" -pw passw login with specified password\n");
exit(1);
}
@ -756,6 +773,10 @@ int main(int argc, char *argv[])
else if (strcmp(argv[i], "-h") == 0 ||
strcmp(argv[i], "-?") == 0)
usage();
else if (strcmp(argv[i], "-P") == 0 && i+1 < argc)
portnumber = atoi(argv[++i]);
else if (strcmp(argv[i], "-pw") == 0 && i+1 < argc)
password = argv[++i];
else if (strcmp(argv[i], "--") == 0)
{ i++; break; }
else