diff options
author | stevesk <stevesk> | 2001-02-05 13:24:35 +0000 |
---|---|---|
committer | stevesk <stevesk> | 2001-02-05 13:24:35 +0000 |
commit | 0bc2285b312b49b425f9260085b52a70c7dfec33 (patch) | |
tree | d0b8f1fb92c3680230408c2661571c1395a9e789 /sftp-server.c | |
parent | f4de84d0805289218d877ba316cf77a5f3ba0304 (diff) | |
download | openssh-0bc2285b312b49b425f9260085b52a70c7dfec33.tar.gz |
- stevesk@cvs.openbsd.org 2001/02/04 15:21:19
[sftp-server.c]
SSH2_FILEXFER_ATTR_UIDGID support; ok markus@
Diffstat (limited to 'sftp-server.c')
-rw-r--r-- | sftp-server.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sftp-server.c b/sftp-server.c index 51026de4..ade2663e 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); } |