From 8e74393416d9829c463c22db8243f189e5f8f474 Mon Sep 17 00:00:00 2001 From: Kevin Steves Date: Mon, 5 Feb 2001 13:24:35 +0000 Subject: - stevesk@cvs.openbsd.org 2001/02/04 15:21:19 [sftp-server.c] SSH2_FILEXFER_ATTR_UIDGID support; ok markus@ --- ChangeLog | 5 ++++- sftp-server.c | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f9ff71a23..adc970d47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,9 @@ - stevesk@cvs.openbsd.org 2001/02/04 08:32:27 [many files; did this manually to our top-level source dir] unexpand and remove end-of-line whitespace; ok markus@ + - stevesk@cvs.openbsd.org 2001/02/04 15:21:19 + [sftp-server.c] + SSH2_FILEXFER_ATTR_UIDGID support; ok markus@ 20010104 - (bal) I think this is the last of the bsd-*.h that don't belong. @@ -40,7 +43,7 @@ - (djm) Makefile.in fixes - (stevesk) add mysignal() wrapper and use it for the protocol 2 SIGCHLD handler. - - (djm) Use setvbuf() instead of setlinebuf(). Suggest from stevek@ + - (djm) Use setvbuf() instead of setlinebuf(). Suggest from stevesk@ 20010103 - (bal) Cygwin clean up by Corinna Vinschen diff --git a/sftp-server.c b/sftp-server.c index 51026de4e..ade2663e7 100644 --- a/sftp-server.c +++ b/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.15 2001/02/04 11:11:54 djm Exp $"); +RCSID("$OpenBSD: sftp-server.c,v 1.18 2001/02/04 22:21:19 stevesk Exp $"); #include "buffer.h" #include "bufaux.h" @@ -561,6 +561,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); } @@ -601,6 +606,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); } -- cgit v1.2.3