summaryrefslogtreecommitdiff
path: root/sftp-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'sftp-server.c')
-rw-r--r--sftp-server.c12
1 files changed, 11 insertions, 1 deletions
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 @@
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */ 23 */
24#include "includes.h" 24#include "includes.h"
25RCSID("$OpenBSD: sftp-server.c,v 1.15 2001/02/04 11:11:54 djm Exp $"); 25RCSID("$OpenBSD: sftp-server.c,v 1.18 2001/02/04 22:21:19 stevesk Exp $");
26 26
27#include "buffer.h" 27#include "buffer.h"
28#include "bufaux.h" 28#include "bufaux.h"
@@ -561,6 +561,11 @@ process_setstat(void)
561 if (ret == -1) 561 if (ret == -1)
562 status = errno_to_portable(errno); 562 status = errno_to_portable(errno);
563 } 563 }
564 if (a->flags & SSH2_FILEXFER_ATTR_UIDGID) {
565 ret = chown(name, a->uid, a->gid);
566 if (ret == -1)
567 status = errno_to_portable(errno);
568 }
564 send_status(id, status); 569 send_status(id, status);
565 xfree(name); 570 xfree(name);
566} 571}
@@ -601,6 +606,11 @@ process_fsetstat(void)
601 if (ret == -1) 606 if (ret == -1)
602 status = errno_to_portable(errno); 607 status = errno_to_portable(errno);
603 } 608 }
609 if (a->flags & SSH2_FILEXFER_ATTR_UIDGID) {
610 ret = fchown(fd, a->uid, a->gid);
611 if (ret == -1)
612 status = errno_to_portable(errno);
613 }
604 } 614 }
605 send_status(id, status); 615 send_status(id, status);
606} 616}