mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 06:40:54 +03:00
@@ -86,7 +86,8 @@ func (c *Connection) OpenFile(name string, flag int, perm os.FileMode) (afero.Fi
|
||||
return nil, errNotImplemented
|
||||
}
|
||||
|
||||
// Remove removes a file or an empty directory
|
||||
// Remove removes a file.
|
||||
// We implements ClientDriverExtensionRemoveDir for directories
|
||||
func (c *Connection) Remove(name string) error {
|
||||
c.UpdateLastActivity()
|
||||
|
||||
@@ -102,7 +103,8 @@ func (c *Connection) Remove(name string) error {
|
||||
}
|
||||
|
||||
if fi.IsDir() && fi.Mode()&os.ModeSymlink != os.ModeSymlink {
|
||||
return c.RemoveDir(p, name)
|
||||
c.Log(logger.LevelDebug, "cannot remove %#v is not a file/symlink", p)
|
||||
return c.GetGenericError()
|
||||
}
|
||||
return c.RemoveFile(p, name, fi)
|
||||
}
|
||||
@@ -215,6 +217,18 @@ func (c *Connection) AllocateSpace(size int) error {
|
||||
return common.ErrQuotaExceeded
|
||||
}
|
||||
|
||||
// RemoveDir implements ClientDriverExtensionRemoveDir
|
||||
func (c *Connection) RemoveDir(name string) error {
|
||||
c.UpdateLastActivity()
|
||||
|
||||
p, err := c.Fs.ResolvePath(name)
|
||||
if err != nil {
|
||||
return c.GetFsError(err)
|
||||
}
|
||||
|
||||
return c.BaseConnection.RemoveDir(p, name)
|
||||
}
|
||||
|
||||
// ReadDir implements ClientDriverExtensionFilelist
|
||||
func (c *Connection) ReadDir(name string) ([]os.FileInfo, error) {
|
||||
c.UpdateLastActivity()
|
||||
|
||||
Reference in New Issue
Block a user