diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2020-02-26 11:46:51 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2020-02-26 23:07:02 +1100 |
commit | 9e3220b585c5be19a7431ea4ff8884c137b3a81c (patch) | |
tree | 7d9398a01cef869f65106474a8764507be9d1477 | |
parent | ade8e67bb0f07b12e5e47e7baeafbdc898de639f (diff) |
upstream: Have sftp reject "-1" in the same way as ssh(1) and
scp(1) do instead of accepting and silently ignoring it since protocol 1
support has been removed. Spotted by shivakumar2696 at gmail.com, ok
deraadt@
OpenBSD-Commit-ID: b79f95559a1c993214f4ec9ae3c34caa87e9d5de
-rw-r--r-- | sftp.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp.c,v 1.197 2020/01/23 07:10:22 dtucker Exp $ */ | 1 | /* $OpenBSD: sftp.c,v 1.198 2020/02/26 11:46:51 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -2377,7 +2377,7 @@ main(int argc, char **argv) | |||
2377 | { | 2377 | { |
2378 | int in, out, ch, err, tmp, port = -1; | 2378 | int in, out, ch, err, tmp, port = -1; |
2379 | char *host = NULL, *user, *cp, *file2 = NULL; | 2379 | char *host = NULL, *user, *cp, *file2 = NULL; |
2380 | int debug_level = 0, sshver = 2; | 2380 | int debug_level = 0; |
2381 | char *file1 = NULL, *sftp_server = NULL; | 2381 | char *file1 = NULL, *sftp_server = NULL; |
2382 | char *ssh_program = _PATH_SSH_PROGRAM, *sftp_direct = NULL; | 2382 | char *ssh_program = _PATH_SSH_PROGRAM, *sftp_direct = NULL; |
2383 | const char *errstr; | 2383 | const char *errstr; |
@@ -2445,12 +2445,10 @@ main(int argc, char **argv) | |||
2445 | debug_level++; | 2445 | debug_level++; |
2446 | break; | 2446 | break; |
2447 | case '1': | 2447 | case '1': |
2448 | sshver = 1; | 2448 | fatal("SSH protocol v.1 is no longer supported"); |
2449 | if (sftp_server == NULL) | ||
2450 | sftp_server = _PATH_SFTP_SERVER; | ||
2451 | break; | 2449 | break; |
2452 | case '2': | 2450 | case '2': |
2453 | sshver = 2; | 2451 | /* accept silently */ |
2454 | break; | 2452 | break; |
2455 | case 'a': | 2453 | case 'a': |
2456 | global_aflag = 1; | 2454 | global_aflag = 1; |
@@ -2555,7 +2553,6 @@ main(int argc, char **argv) | |||
2555 | addargs(&args, "-l"); | 2553 | addargs(&args, "-l"); |
2556 | addargs(&args, "%s", user); | 2554 | addargs(&args, "%s", user); |
2557 | } | 2555 | } |
2558 | addargs(&args, "-oProtocol %d", sshver); | ||
2559 | 2556 | ||
2560 | /* no subsystem if the server-spec contains a '/' */ | 2557 | /* no subsystem if the server-spec contains a '/' */ |
2561 | if (sftp_server == NULL || strchr(sftp_server, '/') == NULL) | 2558 | if (sftp_server == NULL || strchr(sftp_server, '/') == NULL) |