Merge pull request #6447 from owncloud/update-reva

[full-ci] update reva to latest edge
This commit is contained in:
Michael Barz
2023-06-05 20:46:05 +02:00
committed by GitHub
18 changed files with 70 additions and 22 deletions

View File

@@ -2,4 +2,5 @@ Enhancement: Bump Reva
bumps reva
https://github.com/owncloud/ocis/pull/6447
https://github.com/owncloud/ocis/pull/6381

2
go.mod
View File

@@ -13,7 +13,7 @@ require (
github.com/coreos/go-oidc v2.2.1+incompatible
github.com/coreos/go-oidc/v3 v3.6.0
github.com/cs3org/go-cs3apis v0.0.0-20230516150832-730ac860c71d
github.com/cs3org/reva/v2 v2.13.4-0.20230531122629-be4a2122a96c
github.com/cs3org/reva/v2 v2.13.4-0.20230605144031-0003b7fa1f2d
github.com/disintegration/imaging v1.6.2
github.com/dutchcoders/go-clamd v0.0.0-20170520113014-b970184f4d9e
github.com/egirna/icap-client v0.1.1

4
go.sum
View File

@@ -629,8 +629,8 @@ github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo
github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3pglZ5oH4=
github.com/crewjam/saml v0.4.13 h1:TYHggH/hwP7eArqiXSJUvtOPNzQDyQ7vwmwEqlFWhMc=
github.com/crewjam/saml v0.4.13/go.mod h1:igEejV+fihTIlHXYP8zOec3V5A8y3lws5bQBFsTm4gA=
github.com/cs3org/reva/v2 v2.13.4-0.20230531122629-be4a2122a96c h1:gv0m1qVAkUtF/9PAP9xwp+jkjtajCAeGEhiO6dDOMcI=
github.com/cs3org/reva/v2 v2.13.4-0.20230531122629-be4a2122a96c/go.mod h1:vMQqSn30fEPHO/GKC2WmGimlOPqvfSy4gdhRSpbvrWc=
github.com/cs3org/reva/v2 v2.13.4-0.20230605144031-0003b7fa1f2d h1:QDaei8xHXB/K7OBUqYS9eJOvk3zmrKHhpki7dxqt9fs=
github.com/cs3org/reva/v2 v2.13.4-0.20230605144031-0003b7fa1f2d/go.mod h1:vMQqSn30fEPHO/GKC2WmGimlOPqvfSy4gdhRSpbvrWc=
github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 h1:Z9lwXumT5ACSmJ7WGnFl+OMLLjpz5uR2fyz7dC255FI=
github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8/go.mod h1:4abs/jPXcmJzYoYGF91JF9Uq9s/KL5n1jvFDix8KcqY=
github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=

View File

@@ -10,6 +10,7 @@ import (
userv1beta1 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
"github.com/cs3org/reva/v2/pkg/events"
"github.com/cs3org/reva/v2/pkg/store"
"github.com/cs3org/reva/v2/pkg/utils"
"github.com/google/uuid"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
@@ -66,7 +67,7 @@ var _ = Describe("EventHistoryService", func() {
},
},
Failed: false,
Timestamp: time.Time{},
Timestamp: utils.TimeToTS(time.Time{}),
})
ids[1] = bus.Publish(events.UserCreated{
UserID: "another-id",

View File

@@ -9,7 +9,6 @@ import (
"net/http"
"path/filepath"
"strconv"
"time"
gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
@@ -129,7 +128,7 @@ func (g Graph) GatherPersonalData(usr *user.User, ref *provider.Reference, token
if err := events.Publish(g.eventsPublisher, events.PersonalDataExtracted{
Executant: usr.GetId(),
Timestamp: time.Now(),
Timestamp: utils.TSNow(),
ErrorMsg: errmsg,
}); err != nil {
g.logger.Error().Err(err).Msg("cannot publish event")

View File

@@ -118,8 +118,7 @@ func convertToWebDAVPermissions(isShared, isMountpoint, isDir bool, p *provider.
if isMountpoint {
fmt.Fprintf(&b, "M")
}
if p.Delete &&
p.PurgeRecycle {
if p.Delete {
fmt.Fprintf(&b, "D")
}
if p.InitiateFileUpload &&

View File

@@ -37,6 +37,7 @@ func ContainerCreated(r *provider.CreateContainerResponse, req *provider.CreateC
SpaceOwner: spaceOwner,
Executant: executant,
Ref: req.Ref,
Timestamp: utils.TSNow(),
}
}
@@ -166,6 +167,7 @@ func LinkAccessFailed(r *link.GetPublicShareByTokenResponse, req *link.GetPublic
Executant: executant,
Status: r.Status.Code,
Message: r.Status.Message,
Timestamp: utils.TSNow(),
}
if r.Share != nil {
e.ShareID = r.Share.Id
@@ -180,6 +182,7 @@ func LinkRemoved(r *link.RemovePublicShareResponse, req *link.RemovePublicShareR
Executant: executant,
ShareID: req.Ref.GetId(),
ShareToken: req.Ref.GetToken(),
Timestamp: utils.TSNow(),
}
}
@@ -189,6 +192,7 @@ func FileTouched(r *provider.TouchFileResponse, req *provider.TouchFileRequest,
SpaceOwner: spaceOwner,
Executant: executant,
Ref: req.Ref,
Timestamp: utils.TSNow(),
}
}
@@ -198,6 +202,7 @@ func FileUploaded(r *provider.InitiateFileUploadResponse, req *provider.Initiate
SpaceOwner: spaceOwner,
Executant: executant,
Ref: req.Ref,
Timestamp: utils.TSNow(),
}
}
@@ -206,6 +211,7 @@ func FileDownloaded(r *provider.InitiateFileDownloadResponse, req *provider.Init
return events.FileDownloaded{
Executant: executant,
Ref: req.Ref,
Timestamp: utils.TSNow(),
}
}
@@ -221,6 +227,7 @@ func ItemTrashed(r *provider.DeleteResponse, req *provider.DeleteRequest, spaceO
SpaceId: req.Ref.GetResourceId().GetSpaceId(),
OpaqueId: opaqueID,
},
Timestamp: utils.TSNow(),
}
}
@@ -231,6 +238,7 @@ func ItemMoved(r *provider.MoveResponse, req *provider.MoveRequest, spaceOwner,
Executant: executant,
Ref: req.Destination,
OldReference: req.Source,
Timestamp: utils.TSNow(),
}
}
@@ -239,6 +247,7 @@ func ItemPurged(r *provider.PurgeRecycleResponse, req *provider.PurgeRecycleRequ
return events.ItemPurged{
Executant: executant,
Ref: req.Ref,
Timestamp: utils.TSNow(),
}
}
@@ -254,6 +263,7 @@ func ItemRestored(r *provider.RestoreRecycleItemResponse, req *provider.RestoreR
Ref: ref,
OldReference: req.Ref,
Key: req.Key,
Timestamp: utils.TSNow(),
}
}
@@ -264,6 +274,7 @@ func FileVersionRestored(r *provider.RestoreFileVersionResponse, req *provider.R
Executant: executant,
Ref: req.Ref,
Key: req.Key,
Timestamp: utils.TSNow(),
}
}
@@ -288,6 +299,7 @@ func SpaceRenamed(r *provider.UpdateStorageSpaceResponse, req *provider.UpdateSt
ID: r.StorageSpace.Id,
Owner: extractOwner(r.StorageSpace.Owner),
Name: r.StorageSpace.Name,
Timestamp: utils.TSNow(),
}
}
@@ -297,6 +309,7 @@ func SpaceUpdated(r *provider.UpdateStorageSpaceResponse, req *provider.UpdateSt
Executant: executant,
ID: r.StorageSpace.Id,
Space: r.StorageSpace,
Timestamp: utils.TSNow(),
}
}
@@ -306,6 +319,7 @@ func SpaceEnabled(r *provider.UpdateStorageSpaceResponse, req *provider.UpdateSt
Executant: executant,
ID: r.StorageSpace.Id,
Owner: extractOwner(r.StorageSpace.Owner),
Timestamp: utils.TSNow(),
}
}

View File

@@ -231,7 +231,6 @@ func NewEditorRole(sharing bool) *Role {
ListContainer: true,
ListRecycle: true,
Move: true,
PurgeRecycle: true,
RestoreRecycleItem: true,
Stat: true,
},
@@ -255,7 +254,6 @@ func NewSpaceEditorRole() *Role {
ListGrants: true,
ListRecycle: true,
Move: true,
PurgeRecycle: true,
RestoreFileVersion: true,
RestoreRecycleItem: true,
Stat: true,
@@ -400,7 +398,6 @@ func NewLegacyRoleFromOCSPermissions(p Permissions) *Role {
}
if p.Contain(PermissionDelete) {
r.cS3ResourcePermissions.Delete = true
r.cS3ResourcePermissions.PurgeRecycle = true
}
if p.Contain(PermissionShare) {
r.cS3ResourcePermissions.AddGrant = true
@@ -446,8 +443,7 @@ func RoleFromResourcePermissions(rp *provider.ResourcePermissions, islink bool)
rp.InitiateFileUpload {
r.ocsPermissions |= PermissionCreate
}
if rp.Delete &&
rp.PurgeRecycle {
if rp.Delete {
r.ocsPermissions |= PermissionDelete
}
if rp.AddGrant {

View File

@@ -23,6 +23,7 @@ import (
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
)
// ContainerCreated is emitted when a directory has been created
@@ -31,6 +32,7 @@ type ContainerCreated struct {
Executant *user.UserId
Ref *provider.Reference
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -46,6 +48,7 @@ type FileUploaded struct {
Executant *user.UserId
Ref *provider.Reference
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -60,6 +63,7 @@ type FileTouched struct {
SpaceOwner *user.UserId
Executant *user.UserId
Ref *provider.Reference
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -74,6 +78,7 @@ type FileDownloaded struct {
Executant *user.UserId
Ref *provider.Reference
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -90,6 +95,7 @@ type ItemTrashed struct {
ID *provider.ResourceId
Ref *provider.Reference
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -106,6 +112,7 @@ type ItemMoved struct {
Ref *provider.Reference
Owner *user.UserId
OldReference *provider.Reference
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -121,6 +128,7 @@ type ItemPurged struct {
ID *provider.ResourceId
Ref *provider.Reference
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -139,6 +147,7 @@ type ItemRestored struct {
Owner *user.UserId
OldReference *provider.Reference
Key string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -155,6 +164,7 @@ type FileVersionRestored struct {
Ref *provider.Reference
Owner *user.UserId
Key string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface

View File

@@ -22,12 +22,14 @@ import (
"encoding/json"
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
)
// GroupCreated is emitted when a group was created
type GroupCreated struct {
Executant *user.UserId
GroupID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -41,6 +43,7 @@ func (GroupCreated) Unmarshal(v []byte) (interface{}, error) {
type GroupDeleted struct {
Executant *user.UserId
GroupID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -55,6 +58,7 @@ type GroupMemberAdded struct {
Executant *user.UserId
GroupID string
UserID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -69,6 +73,7 @@ type GroupMemberRemoved struct {
Executant *user.UserId
GroupID string
UserID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -80,8 +85,9 @@ func (GroupMemberRemoved) Unmarshal(v []byte) (interface{}, error) {
// GroupFeature represents a group feature
type GroupFeature struct {
Name string
Value string
Name string
Value string
Timestamp *types.Timestamp
}
// GroupFeatureChanged is emitted when a group feature was changed
@@ -89,6 +95,7 @@ type GroupFeatureChanged struct {
Executant *user.UserId
GroupID string
Features []GroupFeature
Timestamp *types.Timestamp
}
// Unmarshal to fulfill unmarshaller interface

View File

@@ -24,6 +24,7 @@ import (
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
)
type (
@@ -59,6 +60,7 @@ type BytesReceived struct {
Filename string
Filesize uint64
URL string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -80,6 +82,7 @@ type StartPostprocessingStep struct {
RevaToken string // for file retrieval in after upload case
StepToStart Postprocessingstep
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -99,6 +102,7 @@ type PostprocessingStepFinished struct {
Result interface{} // result information see VirusscanResult for example
Error error // possible error of the step
Outcome PostprocessingOutcome // some services may cause postprocessing to stop
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -128,6 +132,7 @@ type VirusscanResult struct {
Scandate time.Time
ResourceID *provider.ResourceId
ErrorMsg string // empty when no error
Timestamp *types.Timestamp
}
// PostprocessingFinished is emitted by *some* service which can decide that
@@ -138,6 +143,7 @@ type PostprocessingFinished struct {
ExecutingUser *user.User
Result map[Postprocessingstep]interface{} // it is a map[step]Event
Outcome PostprocessingOutcome
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -155,7 +161,7 @@ type UploadReady struct {
ExecutingUser *user.User
FileRef *provider.Reference
Failed bool
Timestamp time.Time
Timestamp *types.Timestamp
// add reference here? We could use it to inform client pp is finished
}

View File

@@ -206,6 +206,7 @@ type LinkAccessFailed struct {
Token string
Status rpc.Code
Message string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -221,6 +222,7 @@ type LinkRemoved struct {
// split protobuf Ref
ShareID *link.PublicShareId
ShareToken string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface

View File

@@ -53,6 +53,7 @@ type SpaceRenamed struct {
ID *provider.StorageSpaceId
Owner *user.UserId
Name string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -81,6 +82,7 @@ type SpaceEnabled struct {
Executant *user.UserId
ID *provider.StorageSpaceId
Owner *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -144,6 +146,7 @@ type SpaceUpdated struct {
Executant *user.UserId
ID *provider.StorageSpaceId
Space *provider.StorageSpace
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -162,6 +165,7 @@ type SpaceMembershipExpired struct {
// split the protobuf Grantee oneof so we can use stdlib encoding/json
GranteeUserID *user.UserId
GranteeGroupID *group.GroupId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface

View File

@@ -23,6 +23,7 @@ import (
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
)
// TagsAdded is emitted when a Tag has been added
@@ -31,6 +32,7 @@ type TagsAdded struct {
Tags string
Ref *provider.Reference
Executant *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -46,6 +48,7 @@ type TagsRemoved struct {
Tags string
Ref *provider.Reference
Executant *user.UserId
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface

View File

@@ -20,15 +20,16 @@ package events
import (
"encoding/json"
"time"
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
types "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
)
// UserCreated is emitted when a user was created
type UserCreated struct {
Executant *user.UserId
UserID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -42,6 +43,7 @@ func (UserCreated) Unmarshal(v []byte) (interface{}, error) {
type UserDeleted struct {
Executant *user.UserId
UserID string
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -53,8 +55,9 @@ func (UserDeleted) Unmarshal(v []byte) (interface{}, error) {
// UserFeature represents a user feature
type UserFeature struct {
Name string
Value string
Name string
Value string
Timestamp *types.Timestamp
}
// UserFeatureChanged is emitted when a user feature was changed
@@ -62,6 +65,7 @@ type UserFeatureChanged struct {
Executant *user.UserId
UserID string
Features []UserFeature
Timestamp *types.Timestamp
}
// Unmarshal to fulfill umarshaller interface
@@ -74,7 +78,7 @@ func (UserFeatureChanged) Unmarshal(v []byte) (interface{}, error) {
// PersonalDataExtracted is emitted when a user data extraction is finished
type PersonalDataExtracted struct {
Executant *user.UserId
Timestamp time.Time
Timestamp *types.Timestamp
ErrorMsg string
}

View File

@@ -28,6 +28,7 @@ import (
"github.com/cs3org/reva/v2/pkg/events"
"github.com/cs3org/reva/v2/pkg/storage"
"github.com/cs3org/reva/v2/pkg/storage/cache"
"github.com/cs3org/reva/v2/pkg/utils"
)
// DataTX provides an abstraction around various data transfer protocols.
@@ -46,6 +47,7 @@ func EmitFileUploadedEvent(spaceOwnerOrManager, executant *userv1beta1.UserId, r
Owner: spaceOwnerOrManager,
Executant: executant,
Ref: ref,
Timestamp: utils.TSNow(),
}
return events.Publish(publisher, uploadedEv)

View File

@@ -270,7 +270,7 @@ func (fs *Decomposedfs) Postprocessing(ch <-chan events.Event) {
},
Path: utils.MakeRelativePath(filepath.Join(up.Info.MetaData["dir"], up.Info.MetaData["filename"])),
},
Timestamp: now,
Timestamp: utils.TimeToTS(now),
SpaceOwner: n.SpaceOwnerOrManager(ctx),
},
); err != nil {

2
vendor/modules.txt vendored
View File

@@ -352,7 +352,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.13.4-0.20230531122629-be4a2122a96c
# github.com/cs3org/reva/v2 v2.13.4-0.20230605144031-0003b7fa1f2d
## explicit; go 1.19
github.com/cs3org/reva/v2/cmd/revad/internal/grace
github.com/cs3org/reva/v2/cmd/revad/runtime