summaryrefslogtreecommitdiff
path: root/sftp-server.c
diff options
context:
space:
mode:
authorstevesk <stevesk>2001-02-05 13:24:35 +0000
committerstevesk <stevesk>2001-02-05 13:24:35 +0000
commit0bc2285b312b49b425f9260085b52a70c7dfec33 (patch)
treed0b8f1fb92c3680230408c2661571c1395a9e789 /sftp-server.c
parentf4de84d0805289218d877ba316cf77a5f3ba0304 (diff)
downloadopenssh-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.c12
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);
}