diff options
author | 2001-02-04 22:21:19 +0000 | |
---|---|---|
committer | 2001-02-04 22:21:19 +0000 | |
commit | 2fa84ba37c60d7885a0d24e496c45e4e42960522 (patch) | |
tree | a4dcc99695275d9fa2744b504236e9788ad67f60 | |
parent | debugging sftp: precedence and missing break. chmod, chown, chgrp (diff) | |
download | wireguard-openbsd-2fa84ba37c60d7885a0d24e496c45e4e42960522.tar.xz wireguard-openbsd-2fa84ba37c60d7885a0d24e496c45e4e42960522.zip |
SSH2_FILEXFER_ATTR_UIDGID support; ok markus@
-rw-r--r-- | usr.bin/ssh/sftp-server.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/usr.bin/ssh/sftp-server.c b/usr.bin/ssh/sftp-server.c index 3428b1c5bec..29d96150c2b 100644 --- a/usr.bin/ssh/sftp-server.c +++ b/usr.bin/ssh/sftp-server.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: sftp-server.c,v 1.17 2001/02/04 15:32:25 stevesk Exp $"); +RCSID("$OpenBSD: sftp-server.c,v 1.18 2001/02/04 22:21:19 stevesk Exp $"); #include "buffer.h" #include "bufaux.h" @@ -557,6 +557,11 @@ process_setstat(void) if (ret == -1) status = errno_to_portable(errno); } + if (a->flags & SSH2_FILEXFER_ATTR_UIDGID) { + ret = chown(name, a->uid, a->gid); + if (ret == -1) + status = errno_to_portable(errno); + } send_status(id, status); xfree(name); } @@ -587,6 +592,11 @@ process_fsetstat(void) if (ret == -1) status = errno_to_portable(errno); } + if (a->flags & SSH2_FILEXFER_ATTR_UIDGID) { + ret = fchown(fd, a->uid, a->gid); + if (ret == -1) + status = errno_to_portable(errno); + } } send_status(id, status); } |