From 31178b26bf0d0194b26eadf126fc0dd5973d9581 Mon Sep 17 00:00:00 2001 From: Florian Schade Date: Thu, 8 Jun 2023 00:10:34 +0200 Subject: [PATCH] fix: ci APP_PROVIDER_EXTERNAL_ADDR and bump reva --- .drone.star | 2 +- changelog/unreleased/client-selector-pool.md | 1 + go.mod | 2 +- go.sum | 4 ++-- .../storage/utils/decomposedfs/decomposedfs.go | 5 +++-- .../utils/decomposedfs/spacepermissions.go | 16 +++++++++++----- vendor/modules.txt | 2 +- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.drone.star b/.drone.star index c9b608b4ab0..cefd1492da6 100644 --- a/.drone.star +++ b/.drone.star @@ -2144,7 +2144,7 @@ def ocisServer(storage, accounts_hash_difficulty = 4, volumes = [], depends_on = "IDM_ADMIN_PASSWORD": "admin", # override the random admin password from `ocis init` "FRONTEND_SEARCH_MIN_LENGTH": "2", "GATEWAY_GRPC_ADDR": "0.0.0.0:9142", # make gateway available to wopi server - "APP_PROVIDER_EXTERNAL_ADDR": "127.0.0.1:9164", + "APP_PROVIDER_EXTERNAL_ADDR": "com.owncloud.api.app-provider", "APP_PROVIDER_DRIVER": "wopi", "APP_PROVIDER_WOPI_APP_NAME": "FakeOffice", "APP_PROVIDER_WOPI_APP_URL": "http://fakeoffice:8080", diff --git a/changelog/unreleased/client-selector-pool.md b/changelog/unreleased/client-selector-pool.md index 53d3c45d4a9..975c9928eef 100644 --- a/changelog/unreleased/client-selector-pool.md +++ b/changelog/unreleased/client-selector-pool.md @@ -5,3 +5,4 @@ The service discovery now resolves reva services by name and the client selector https://github.com/owncloud/ocis/pull/6452 https://github.com/cs3org/reva/pull/3939 +https://github.com/cs3org/reva/pull/3953 diff --git a/go.mod b/go.mod index fcf3d503e32..7ec2524a42e 100644 --- a/go.mod +++ b/go.mod @@ -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.14.1-0.20230607200733-687e4bc90370 + github.com/cs3org/reva/v2 v2.14.1-0.20230607220921-238a03c2f795 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 diff --git a/go.sum b/go.sum index c05727aea8c..f7e567be78a 100644 --- a/go.sum +++ b/go.sum @@ -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.14.1-0.20230607200733-687e4bc90370 h1:d6AWJOxa98pRRi2hzlfQrQMlAYVnM1x6VyjBC3zI44M= -github.com/cs3org/reva/v2 v2.14.1-0.20230607200733-687e4bc90370/go.mod h1:E32krZG159YflDSjDWfx/QGIC2529PS5LiPnGNHu3d0= +github.com/cs3org/reva/v2 v2.14.1-0.20230607220921-238a03c2f795 h1:uyzA03PcmG7mjd+3KJrkws0IXuXQCvHEn25xXBmO2QI= +github.com/cs3org/reva/v2 v2.14.1-0.20230607220921-238a03c2f795/go.mod h1:E32krZG159YflDSjDWfx/QGIC2529PS5LiPnGNHu3d0= 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= diff --git a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/decomposedfs.go b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/decomposedfs.go index 80278f1835d..3065a168aad 100644 --- a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/decomposedfs.go +++ b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/decomposedfs.go @@ -127,12 +127,13 @@ func NewDefault(m map[string]interface{}, bs tree.Blobstore, es events.Stream) ( microstore.Database(o.IDCache.Database), microstore.Table(o.IDCache.Table), )) - permissionsClient, err := pool.GetPermissionsClient(o.PermissionsSVC, pool.WithTLSMode(o.PermTLSMode)) + + permissionsSelector, err := pool.PermissionsSelector(o.PermissionsSVC, pool.WithTLSMode(o.PermTLSMode)) if err != nil { return nil, err } - permissions := NewPermissions(node.NewPermissions(lu), permissionsClient) + permissions := NewPermissions(node.NewPermissions(lu), permissionsSelector) return New(o, lu, permissions, tp, es) } diff --git a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spacepermissions.go b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spacepermissions.go index 31043239adb..010484a0667 100644 --- a/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spacepermissions.go +++ b/vendor/github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/spacepermissions.go @@ -8,6 +8,7 @@ import ( v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" ctxpkg "github.com/cs3org/reva/v2/pkg/ctx" + "github.com/cs3org/reva/v2/pkg/rgrpc/todo/pool" "github.com/cs3org/reva/v2/pkg/storage/utils/decomposedfs/node" "github.com/cs3org/reva/v2/pkg/utils" "google.golang.org/grpc" @@ -25,13 +26,13 @@ type CS3PermissionsClient interface { // Permissions manages permissions type Permissions struct { - item PermissionsChecker // handles item permissions - space CS3PermissionsClient // handlers space permissions + item PermissionsChecker // handles item permissions + permissionsSelector pool.Selectable[cs3permissions.PermissionsAPIClient] // handlers space permissions } // NewPermissions returns a new Permissions instance -func NewPermissions(item PermissionsChecker, space CS3PermissionsClient) Permissions { - return Permissions{item: item, space: space} +func NewPermissions(item PermissionsChecker, permissionsSelector pool.Selectable[cs3permissions.PermissionsAPIClient]) Permissions { + return Permissions{item: item, permissionsSelector: permissionsSelector} } // AssemblePermissions is used to assemble file permissions @@ -96,8 +97,13 @@ func (p Permissions) DeleteAllHomeSpaces(ctx context.Context) bool { // checkPermission is used to check a users space permissions func (p Permissions) checkPermission(ctx context.Context, perm string, ref *provider.Reference) bool { + permissionsClient, err := p.permissionsSelector.Next() + if err != nil { + return false + } + user := ctxpkg.ContextMustGetUser(ctx) - checkRes, err := p.space.CheckPermission(ctx, &cs3permissions.CheckPermissionRequest{ + checkRes, err := permissionsClient.CheckPermission(ctx, &cs3permissions.CheckPermissionRequest{ Permission: perm, SubjectRef: &cs3permissions.SubjectReference{ Spec: &cs3permissions.SubjectReference_UserId{ diff --git a/vendor/modules.txt b/vendor/modules.txt index 78ab1d2bcf7..19438ac0074 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -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.14.1-0.20230607200733-687e4bc90370 +# github.com/cs3org/reva/v2 v2.14.1-0.20230607220921-238a03c2f795 ## explicit; go 1.20 github.com/cs3org/reva/v2/cmd/revad/internal/grace github.com/cs3org/reva/v2/cmd/revad/runtime