From 7e31ec541775a2cc96ac47b1c909dbdd8309ce68 Mon Sep 17 00:00:00 2001 From: Anthony Goeckner Date: Tue, 2 May 2023 04:11:39 -0500 Subject: [PATCH] lib/model: Set platform data, incl. copying ownership, for new folders w/ NoPermissions flag (#8883) Platform data (ownership, xattrs, etc.) is now set correctly for newly-received folders, even if the received folder has the NoPermissions flag. --- lib/model/folder_sendrecv.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/model/folder_sendrecv.go b/lib/model/folder_sendrecv.go index f71407e31..c12377acb 100644 --- a/lib/model/folder_sendrecv.go +++ b/lib/model/folder_sendrecv.go @@ -622,7 +622,7 @@ func (f *sendReceiveFolder) handleDir(file protocol.FileInfo, snap *db.Snapshot, // not MkdirAll because the parent should already exist. mkdir := func(path string) error { err = f.mtimefs.Mkdir(path, mode) - if err != nil || f.IgnorePerms || file.NoPermissions { + if err != nil || f.IgnorePerms { return err } @@ -631,6 +631,10 @@ func (f *sendReceiveFolder) handleDir(file protocol.FileInfo, snap *db.Snapshot, return err } + if file.NoPermissions { + return nil + } + // Stat the directory so we can check its permissions. info, err := f.mtimefs.Lstat(path) if err != nil {