From 850a787b91663215c15eac507ab2e4908551ce31 Mon Sep 17 00:00:00 2001 From: Ishank Arora Date: Tue, 12 Oct 2021 09:36:46 +0200 Subject: [PATCH] Change condition for setting sharing permissions from EOS ACLs --- pkg/cbox/storage/eoswrapper/eoswrapper.go | 3 ++- pkg/storage/utils/grants/grants.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/cbox/storage/eoswrapper/eoswrapper.go b/pkg/cbox/storage/eoswrapper/eoswrapper.go index dfecfc73a6d..451f384518f 100644 --- a/pkg/cbox/storage/eoswrapper/eoswrapper.go +++ b/pkg/cbox/storage/eoswrapper/eoswrapper.go @@ -149,14 +149,15 @@ func (w *wrapper) setProjectSharingPermissions(ctx context.Context, r *provider. if strings.HasPrefix(w.config.Namespace, eosProjectsNamespace) && (perm.AddGrant || perm.RemoveGrant || perm.UpdateGrant) { var userHasSharingAccess bool user := ctxpkg.ContextMustGetUser(ctx) - for _, g := range user.Groups { + for _, g := range user.Groups { // Check if user is present in the admins or writers groups if strings.HasPrefix(g, projectSpaceGroupsPrefix) && (strings.HasSuffix(g, projectSpaceAdminGroups) || strings.HasSuffix(g, projectSpaceWriterGroups)) { userHasSharingAccess = true break } } + if !userHasSharingAccess { r.PermissionSet.AddGrant = false r.PermissionSet.RemoveGrant = false diff --git a/pkg/storage/utils/grants/grants.go b/pkg/storage/utils/grants/grants.go index 32f18a8d8a3..aa65e83c896 100644 --- a/pkg/storage/utils/grants/grants.go +++ b/pkg/storage/utils/grants/grants.go @@ -96,7 +96,7 @@ func GetGrantPermissionSet(perm string, isDir bool) *provider.ResourcePermission rp.Delete = false } - if strings.Contains(perm, "m") && !strings.Contains(perm, "!m") { + if strings.Contains(perm, "w") && strings.Contains(perm, "x") && !strings.Contains(perm, "!m") { rp.AddGrant = true rp.ListGrants = true rp.RemoveGrant = true