diff options
author | djm@openbsd.org <djm@openbsd.org> | 2020-08-03 04:43:41 +0200 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-08-03 06:27:59 +0200 |
commit | a8732d74cb8e72f0c6366015687f1e649f60be87 (patch) | |
tree | b2d792042a526741fed21539ec6490629792b1d3 /scp.c | |
parent | upstream: clang -Wimplicit-fallthrough does not recognise /* (diff) | |
download | openssh-a8732d74cb8e72f0c6366015687f1e649f60be87.tar.xz openssh-a8732d74cb8e72f0c6366015687f1e649f60be87.zip |
upstream: allow -A to explicitly enable agent forwarding in scp and
sftp. The default remains to not forward an agent, even when ssh_config
enables it. ok jmc dtucker markus
OpenBSD-Commit-ID: 36cc526aa3b0f94e4704b8d7b969dd63e8576822
Diffstat (limited to 'scp.c')
-rw-r--r-- | scp.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.211 2020/05/29 21:22:02 millert Exp $ */ +/* $OpenBSD: scp.c,v 1.212 2020/08/03 02:43:41 djm Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -425,7 +425,6 @@ main(int argc, char **argv) args.list = remote_remote_args.list = NULL; addargs(&args, "%s", ssh_program); addargs(&args, "-x"); - addargs(&args, "-oForwardAgent=no"); addargs(&args, "-oPermitLocalCommand=no"); addargs(&args, "-oClearAllForwardings=yes"); addargs(&args, "-oRemoteCommand=none"); @@ -433,7 +432,7 @@ main(int argc, char **argv) fflag = Tflag = tflag = 0; while ((ch = getopt(argc, argv, - "dfl:prtTvBCc:i:P:q12346S:o:F:J:")) != -1) { + "12346ABCTdfpqrtvF:J:P:S:c:i:l:o:")) != -1) { switch (ch) { /* User-visible flags. */ case '1': @@ -442,6 +441,7 @@ main(int argc, char **argv) case '2': /* Ignored */ break; + case 'A': case '4': case '6': case 'C': @@ -523,6 +523,9 @@ main(int argc, char **argv) argc -= optind; argv += optind; + /* Do this last because we want the user to be able to override it */ + addargs(&args, "-oForwardAgent=no"); + if ((pwd = getpwuid(userid = getuid())) == NULL) fatal("unknown user %u", (u_int) userid); @@ -1593,7 +1596,7 @@ void usage(void) { (void) fprintf(stderr, - "usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]\n" + "usage: scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]\n" " [-J destination] [-l limit] [-o ssh_option] [-P port]\n" " [-S program] source ... target\n"); exit(1); |