From b25f5eb0d12d0f261913f19256ca818427723019 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Wed, 8 Apr 2020 15:48:57 +0100 Subject: [PATCH] serve sftp: use VFS utility functions instead of own copy --- cmd/serve/sftp/handler.go | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/cmd/serve/sftp/handler.go b/cmd/serve/sftp/handler.go index cfbcb0e16..58e34b48e 100644 --- a/cmd/serve/sftp/handler.go +++ b/cmd/serve/sftp/handler.go @@ -48,14 +48,10 @@ func (v vfsHandler) Filewrite(r *sftp.Request) (io.WriterAt, error) { func (v vfsHandler) Filecmd(r *sftp.Request) error { switch r.Method { case "Setstat": - node, err := v.Stat(r.Filepath) - if err != nil { - return err - } attr := r.Attributes() if attr.Mtime != 0 { modTime := time.Unix(int64(attr.Mtime), 0) - err := node.SetModTime(modTime) + err := v.Chtimes(r.Filepath, modTime, modTime) if err != nil { return err } @@ -67,20 +63,12 @@ func (v vfsHandler) Filecmd(r *sftp.Request) error { return err } case "Rmdir", "Remove": - node, err := v.Stat(r.Filepath) - if err != nil { - return err - } - err = node.Remove() + err := v.Remove(r.Filepath) if err != nil { return err } case "Mkdir": - dir, leaf, err := v.StatParent(r.Filepath) - if err != nil { - return err - } - _, err = dir.Mkdir(leaf) + err := v.Mkdir(r.Filepath, 0777) if err != nil { return err }