diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2021-08-07 00:08:53 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2021-08-07 00:08:53 +0000 |
commit | d16e40c437dfbc0bde3354a97a5d1b4db2dd98fc (patch) | |
tree | f354344ee974f315fe3825e245e1d03ac0571394 | |
parent | 01a33a0bbe7bd39a6402782d346c889f00102bef (diff) |
make scp(1) in SFTP mode output better match original scp(1) by
suppressing "Retrieving [path]" lines that were emitted to support
the interactive sftp(1) client. ok markus@
-rw-r--r-- | usr.bin/ssh/scp.c | 7 | ||||
-rw-r--r-- | usr.bin/ssh/sftp-client.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/sftp-client.h | 7 |
3 files changed, 13 insertions, 7 deletions
diff --git a/usr.bin/ssh/scp.c b/usr.bin/ssh/scp.c index 0db5435067d..7aa6cdbb41e 100644 --- a/usr.bin/ssh/scp.c +++ b/usr.bin/ssh/scp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.219 2021/08/07 00:06:30 djm Exp $ */ +/* $OpenBSD: scp.c,v 1.220 2021/08/07 00:08:52 djm Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -1256,7 +1256,8 @@ source_sftp(int argc, char *src, char *targ, debug3_f("copying local %s to remote %s", src, abs_dst); if (local_is_dir(src) && iamrecursive) { - if (upload_dir(conn, src, abs_dst, pflag, 1, 0, 0) != 0) { + if (upload_dir(conn, src, abs_dst, pflag, + SFTP_PROGRESS_ONLY, 0, 0) != 0) { fatal("failed to upload directory %s to %s", src, abs_dst); } @@ -1488,7 +1489,7 @@ sink_sftp(int argc, char *dst, const char *src, struct sftp_conn *conn) debug("Fetching %s to %s\n", g.gl_pathv[i], abs_dst); if (globpath_is_dir(g.gl_pathv[i]) && iamrecursive) { if (download_dir(conn, g.gl_pathv[i], abs_dst, NULL, - pflag, 1, 0, 0) == -1) + pflag, SFTP_PROGRESS_ONLY, 0, 0) == -1) err = -1; } else { if (do_download(conn, g.gl_pathv[i], abs_dst, NULL, diff --git a/usr.bin/ssh/sftp-client.c b/usr.bin/ssh/sftp-client.c index 7386cf93d5d..ebb9c381cd5 100644 --- a/usr.bin/ssh/sftp-client.c +++ b/usr.bin/ssh/sftp-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.c,v 1.146 2021/08/07 00:07:18 djm Exp $ */ +/* $OpenBSD: sftp-client.c,v 1.147 2021/08/07 00:08:52 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> * @@ -1615,7 +1615,7 @@ download_dir_internal(struct sftp_conn *conn, const char *src, const char *dst, error("\"%s\" is not a directory", src); return -1; } - if (print_flag) + if (print_flag && print_flag != SFTP_PROGRESS_ONLY) mprintf("Retrieving %s\n", src); if (dirattrib->flags & SSH2_FILEXFER_ATTR_PERMISSIONS) { @@ -1938,7 +1938,7 @@ upload_dir_internal(struct sftp_conn *conn, const char *src, const char *dst, error("\"%s\" is not a directory", src); return -1; } - if (print_flag) + if (print_flag && print_flag != SFTP_PROGRESS_ONLY) mprintf("Entering %s\n", src); attrib_clear(&a); diff --git a/usr.bin/ssh/sftp-client.h b/usr.bin/ssh/sftp-client.h index 5b94d86a2f2..03fe96b10c8 100644 --- a/usr.bin/ssh/sftp-client.h +++ b/usr.bin/ssh/sftp-client.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-client.h,v 1.31 2021/08/07 00:02:41 djm Exp $ */ +/* $OpenBSD: sftp-client.h,v 1.32 2021/08/07 00:08:52 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> @@ -55,6 +55,11 @@ struct sftp_limits { u_int64_t open_handles; }; +/* print flag values */ +#define SFTP_QUIET 0 /* be quiet during transfers */ +#define SFTP_PRINT 1 /* list files and show progress bar */ +#define SFTP_PROGRESS_ONLY 2 /* progress bar only */ + /* * Initialise a SSH filexfer connection. Returns NULL on error or * a pointer to a initialized sftp_conn struct on success. |