From e7bf46eeb5e7de2ea0884b19f0ed443cb3e39dd4 Mon Sep 17 00:00:00 2001 From: Marcin Piwowarczyk Date: Tue, 18 Feb 2020 16:16:35 +0100 Subject: [PATCH] fix (s3): mv does not work for nested objects The mv operation executes CopyObject API on the root object, meanwhile CopyObject doesn't copy the nested objects. As a result, the user loses all nested objects and after the move operation gets an empty bucket that requested to move. This change disallows possibility of moving nested objects. --- server/model/backend/s3.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model/backend/s3.go b/server/model/backend/s3.go index 7d487ef3..00c20a79 100644 --- a/server/model/backend/s3.go +++ b/server/model/backend/s3.go @@ -275,7 +275,7 @@ func (s S3Backend) Mv(from string, to string) error { t := s.path(to) client := s3.New(s.createSession(f.bucket)) - if f.path == "" { + if f.path == "" || strings.HasSuffix(from, "/") { return NewError("Can't move this", 403) }