From 4dc35148462f9c1beabdbebda0198c4cdaa84736 Mon Sep 17 00:00:00 2001 From: djm Date: Fri, 12 Feb 2021 03:49:09 +0000 Subject: [PATCH] sftp: add missing lsetstat@openssh.com documentation patch from Mike Frysinger --- usr.bin/ssh/PROTOCOL | 18 +++++++++++++++++- usr.bin/ssh/sftp-server.c | 3 ++- usr.bin/ssh/sftp.1 | 31 ++++++++++++++++++++----------- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/usr.bin/ssh/PROTOCOL b/usr.bin/ssh/PROTOCOL index 9a1567d0760..4f853d39d25 100644 --- a/usr.bin/ssh/PROTOCOL +++ b/usr.bin/ssh/PROTOCOL @@ -465,6 +465,22 @@ respond with a SSH_FXP_STATUS message. This extension is advertised in the SSH_FXP_VERSION hello with version "1". +3.7. sftp: Extension request "lsetstat@openssh.com" + +This request is like the "setstat" command, but sets file attributes on +symlinks. It is implemented as a SSH_FXP_EXTENDED request with the +following format: + + uint32 id + string "lsetstat@openssh.com" + string path + ATTRS attrs + +See the "setstat" command for more details. + +This extension is advertised in the SSH_FXP_VERSION hello with version +"1". + 4. Miscellaneous changes 4.1 Public key format @@ -496,4 +512,4 @@ OpenSSH's connection multiplexing uses messages as described in PROTOCOL.mux over a Unix domain socket for communications between a master instance and later clients. -$OpenBSD: PROTOCOL,v 1.38 2020/07/05 23:59:45 djm Exp $ +$OpenBSD: PROTOCOL,v 1.39 2021/02/12 03:49:09 djm Exp $ diff --git a/usr.bin/ssh/sftp-server.c b/usr.bin/ssh/sftp-server.c index 7bf7252840f..222d5667d0d 100644 --- a/usr.bin/ssh/sftp-server.c +++ b/usr.bin/ssh/sftp-server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp-server.c,v 1.120 2020/10/18 11:32:02 djm Exp $ */ +/* $OpenBSD: sftp-server.c,v 1.121 2021/02/12 03:49:09 djm Exp $ */ /* * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. * @@ -663,6 +663,7 @@ process_init(void) /* fsync extension */ (r = sshbuf_put_cstring(msg, "fsync@openssh.com")) != 0 || (r = sshbuf_put_cstring(msg, "1")) != 0 || /* version */ + /* lsetstat extension */ (r = sshbuf_put_cstring(msg, "lsetstat@openssh.com")) != 0 || (r = sshbuf_put_cstring(msg, "1")) != 0) /* version */ fatal_fr(r, "compose"); diff --git a/usr.bin/ssh/sftp.1 b/usr.bin/ssh/sftp.1 index 052d4d8e4ed..a1a6373029a 100644 --- a/usr.bin/ssh/sftp.1 +++ b/usr.bin/ssh/sftp.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: sftp.1,v 1.136 2021/01/26 15:40:17 naddy Exp $ +.\" $OpenBSD: sftp.1,v 1.137 2021/02/12 03:49:09 djm Exp $ .\" .\" Copyright (c) 2001 Damien Miller. All rights reserved. .\" @@ -22,7 +22,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: January 26 2021 $ +.Dd $Mdocdate: February 12 2021 $ .Dt SFTP 1 .Os .Sh NAME @@ -349,15 +349,18 @@ Change group of file .Ar path to .Ar grp . -If the -.Fl h -flag is specified, then symlinks will not be followed. .Ar path may contain .Xr glob 7 characters and may match multiple files. .Ar grp must be a numeric GID. +.Pp +If the +.Fl h +flag is specified, then symlinks will not be followed. +Note that this is only supported by servers that implement +the "lsetstat@openssh.com" extension. .It Xo Ic chmod .Op Fl h .Ar mode @@ -367,13 +370,16 @@ Change permissions of file .Ar path to .Ar mode . -If the -.Fl h -flag is specified, then symlinks will not be followed. .Ar path may contain .Xr glob 7 characters and may match multiple files. +.Pp +If the +.Fl h +flag is specified, then symlinks will not be followed. +Note that this is only supported by servers that implement +the "lsetstat@openssh.com" extension. .It Xo Ic chown .Op Fl h .Ar own @@ -383,15 +389,18 @@ Change owner of file .Ar path to .Ar own . -If the -.Fl h -flag is specified, then symlinks will not be followed. .Ar path may contain .Xr glob 7 characters and may match multiple files. .Ar own must be a numeric UID. +.Pp +If the +.Fl h +flag is specified, then symlinks will not be followed. +Note that this is only supported by servers that implement +the "lsetstat@openssh.com" extension. .It Xo Ic df .Op Fl hi .Op Ar path -- 2.20.1