From d91970357dd2e6717acb6fb6851d14850692557e Mon Sep 17 00:00:00 2001 From: Bastian Beier Date: Mon, 27 Jan 2025 14:10:32 +0100 Subject: [PATCH] chore: Bump reva version to 2.27.3 --- go.mod | 2 +- go.sum | 4 +-- .../pkg/storage/utils/decomposedfs/spaces.go | 33 +++++++++++++++++-- vendor/modules.txt | 2 +- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 9fa9ea2652b..982abb047f6 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible github.com/coreos/go-oidc/v3 v3.11.0 github.com/cs3org/go-cs3apis v0.0.0-20241105092511-3ad35d174fc1 - github.com/cs3org/reva/v2 v2.27.3-0.20250122154042-f9cde85df09a + github.com/cs3org/reva/v2 v2.27.3 github.com/davidbyttow/govips/v2 v2.15.0 github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8 github.com/dutchcoders/go-clamd v0.0.0-20170520113014-b970184f4d9e diff --git a/go.sum b/go.sum index 38e94d71db7..7ab8973bc96 100644 --- a/go.sum +++ b/go.sum @@ -251,8 +251,8 @@ github.com/crewjam/saml v0.4.14 h1:g9FBNx62osKusnFzs3QTN5L9CVA/Egfgm+stJShzw/c= github.com/crewjam/saml v0.4.14/go.mod h1:UVSZCf18jJkk6GpWNVqcyQJMD5HsRugBPf4I1nl2mME= github.com/cs3org/go-cs3apis v0.0.0-20241105092511-3ad35d174fc1 h1:RU6LT6mkD16xZs011+8foU7T3LrPvTTSWeTQ9OgfhkA= github.com/cs3org/go-cs3apis v0.0.0-20241105092511-3ad35d174fc1/go.mod h1:DedpcqXl193qF/08Y04IO0PpxyyMu8+GrkD6kWK2MEQ= -github.com/cs3org/reva/v2 v2.27.3-0.20250122154042-f9cde85df09a h1:OUpU5d/BkFSj2tjfDnG5cB+Y20ekfRMDX2EdLPJFLgs= -github.com/cs3org/reva/v2 v2.27.3-0.20250122154042-f9cde85df09a/go.mod h1:8yvuebW1eCKzRfzNXy+RSYYEESmMp5mCuM6MQ47zJow= +github.com/cs3org/reva/v2 v2.27.3 h1:9YZpjQNlDGxlbdKJSyJ5zdgncvdj5Pcdq9sg/k8+7ac= +github.com/cs3org/reva/v2 v2.27.3/go.mod h1:8yvuebW1eCKzRfzNXy+RSYYEESmMp5mCuM6MQ47zJow= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= diff --git a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spaces.go b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spaces.go index 0a369a61f94..2377c93758f 100644 --- a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spaces.go +++ b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spaces.go @@ -39,6 +39,7 @@ import ( ocsconv "github.com/cs3org/reva/v2/pkg/conversions" ctxpkg "github.com/cs3org/reva/v2/pkg/ctx" "github.com/cs3org/reva/v2/pkg/errtypes" + "github.com/cs3org/reva/v2/pkg/events" "github.com/cs3org/reva/v2/pkg/rgrpc/status" "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" sdk "github.com/cs3org/reva/v2/pkg/sdk/common" @@ -905,7 +906,10 @@ func (fs *Decomposedfs) StorageSpaceFromNode(ctx context.Context, n *node.Node, // This way we don't have to have a cron job checking the grants in regular intervals. // The tradeof obviously is that this code is here. if isGrantExpired(g) { - if err := n.DeleteGrant(ctx, g, true); err != nil { + var errDeleteGrant, errIndexRemove error + + errDeleteGrant = n.DeleteGrant(ctx, g, true) + if errDeleteGrant != nil { sublog.Error().Err(err).Str("grantee", id). Msg("failed to delete expired space grant") } @@ -914,19 +918,42 @@ func (fs *Decomposedfs) StorageSpaceFromNode(ctx context.Context, n *node.Node, switch { case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: // remove from user index - if err := fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), n.SpaceID); err != nil { + errIndexRemove = fs.userSpaceIndex.Remove(g.Grantee.GetUserId().GetOpaqueId(), n.SpaceID) + if errIndexRemove != nil { sublog.Error().Err(err).Str("grantee", id). Msg("failed to delete expired user space index") } case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: // remove from group index - if err := fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), n.SpaceID); err != nil { + errIndexRemove = fs.groupSpaceIndex.Remove(g.Grantee.GetGroupId().GetOpaqueId(), n.SpaceID) + if errIndexRemove != nil { sublog.Error().Err(err).Str("grantee", id). Msg("failed to delete expired group space index") } } } + // publish SpaceMembershipExpired event + if errDeleteGrant == nil && errIndexRemove == nil { + ev := events.SpaceMembershipExpired{ + SpaceOwner: n.SpaceOwnerOrManager(ctx), + SpaceID: &provider.StorageSpaceId{OpaqueId: n.SpaceID}, + SpaceName: sname, + ExpiredAt: time.Unix(int64(g.Expiration.Seconds), int64(g.Expiration.Nanos)), + Timestamp: utils.TSNow(), + } + switch { + case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_USER: + ev.GranteeUserID = g.Grantee.GetUserId() + case g.Grantee.Type == provider.GranteeType_GRANTEE_TYPE_GROUP: + ev.GranteeGroupID = g.Grantee.GetGroupId() + } + err = events.Publish(ctx, fs.stream, ev) + if err != nil { + sublog.Error().Err(err).Msg("error publishing SpaceMembershipExpired event") + } + } + continue } grantExpiration[id] = g.Expiration diff --git a/vendor/modules.txt b/vendor/modules.txt index 2b726a00d5f..eeac64b44fa 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -367,7 +367,7 @@ github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1 github.com/cs3org/go-cs3apis/cs3/storage/registry/v1beta1 github.com/cs3org/go-cs3apis/cs3/tx/v1beta1 github.com/cs3org/go-cs3apis/cs3/types/v1beta1 -# github.com/cs3org/reva/v2 v2.27.3-0.20250122154042-f9cde85df09a +# github.com/cs3org/reva/v2 v2.27.3 ## explicit; go 1.22.7 github.com/cs3org/reva/v2/cmd/revad/internal/grace github.com/cs3org/reva/v2/cmd/revad/runtime