From 9812084909a390feca8b8726ac3d4f5ec7d031f2 Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Tue, 2 Jun 2026 11:20:33 +0200 Subject: [PATCH] bump reva Signed-off-by: Christian Richter --- go.mod | 2 +- go.sum | 4 +-- .../grpc/services/gateway/authprovider.go | 30 +++++++++++-------- .../grpc/services/gateway/storageprovider.go | 25 ++++++++++++---- vendor/modules.txt | 2 +- 5 files changed, 41 insertions(+), 22 deletions(-) diff --git a/go.mod b/go.mod index 438fd46067..0f4cb8b256 100644 --- a/go.mod +++ b/go.mod @@ -64,7 +64,7 @@ require ( github.com/open-policy-agent/opa v1.15.2 github.com/opencloud-eu/icap-client v0.0.0-20250930132611-28a2afe62d89 github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d - github.com/opencloud-eu/reva/v2 v2.46.1 + github.com/opencloud-eu/reva/v2 v2.46.2-0.20260602061404-0e975e5456eb github.com/opensearch-project/opensearch-go/v4 v4.6.0 github.com/orcaman/concurrent-map v1.0.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index 7a96ad429d..c4d3575a21 100644 --- a/go.sum +++ b/go.sum @@ -952,8 +952,8 @@ github.com/opencloud-eu/inotifywaitgo v0.0.0-20251111171128-a390bae3c5e9 h1:dIft github.com/opencloud-eu/inotifywaitgo v0.0.0-20251111171128-a390bae3c5e9/go.mod h1:JWyDC6H+5oZRdUJUgKuaye+8Ph5hEs6HVzVoPKzWSGI= github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d h1:JcqGDiyrcaQwVyV861TUyQgO7uEmsjkhfm7aQd84dOw= github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d/go.mod h1:pzatilMEHZFT3qV7C/X3MqOa3NlRQuYhlRhZTL+hN6Q= -github.com/opencloud-eu/reva/v2 v2.46.1 h1:V4bUOD2phDIc1NQO50RNI0hTtc2G/COf+0YZiGNR+tk= -github.com/opencloud-eu/reva/v2 v2.46.1/go.mod h1:V1bwCQXM1pGmswtjdSJVIweA9Vv5EmtUZr/7Cm5086A= +github.com/opencloud-eu/reva/v2 v2.46.2-0.20260602061404-0e975e5456eb h1:7LXIqaeVQqOghfTw44kyLSak+cR0TIBl55M4+Tb08f8= +github.com/opencloud-eu/reva/v2 v2.46.2-0.20260602061404-0e975e5456eb/go.mod h1:V1bwCQXM1pGmswtjdSJVIweA9Vv5EmtUZr/7Cm5086A= github.com/opencloud-eu/secure v0.0.0-20260312082735-b6f5cb2244e4 h1:l2oB/RctH+t8r7QBj5p8thfEHCM/jF35aAY3WQ3hADI= github.com/opencloud-eu/secure v0.0.0-20260312082735-b6f5cb2244e4/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/authprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/authprovider.go index 379ca29e9e..afbbc897c9 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/authprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/authprovider.go @@ -28,12 +28,14 @@ import ( userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" storageprovider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" + "github.com/opencloud-eu/reva/v2/pkg/appctx" ctxpkg "github.com/opencloud-eu/reva/v2/pkg/ctx" "github.com/opencloud-eu/reva/v2/pkg/errtypes" "github.com/opencloud-eu/reva/v2/pkg/rgrpc/status" "github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool" "github.com/opencloud-eu/reva/v2/pkg/sharedconf" + "github.com/pkg/errors" "google.golang.org/grpc/metadata" "google.golang.org/protobuf/proto" @@ -123,20 +125,22 @@ func (s *svc) Authenticate(ctx context.Context, req *gateway.AuthenticateRequest ctx = metadata.AppendToOutgoingContext(ctx, ctxpkg.TokenHeader, token) // TODO(jfd): hardcoded metadata key. use PerRPCCredentials? // create home directory - createHomeRes, err := s.CreateHome(ctx, &storageprovider.CreateHomeRequest{}) - if err != nil { - log.Err(err).Msg("error calling CreateHome") - return &gateway.AuthenticateResponse{ - Status: status.NewInternal(ctx, "error creating user home"), - }, nil - } + if res.User.GetId().GetType() != userpb.UserType_USER_TYPE_SERVICE && res.User.GetId().GetType() != userpb.UserType_USER_TYPE_LIGHTWEIGHT { + createHomeRes, err := s.CreateHome(ctx, &storageprovider.CreateHomeRequest{}) + if err != nil { + log.Err(err).Msg("error calling CreateHome") + return &gateway.AuthenticateResponse{ + Status: status.NewInternal(ctx, "error creating user home"), + }, nil + } - if createHomeRes.Status.Code != rpc.Code_CODE_OK && createHomeRes.Status.Code != rpc.Code_CODE_ALREADY_EXISTS { - err := status.NewErrorFromCode(createHomeRes.Status.Code, "gateway") - log.Err(err).Msg("error calling Createhome") - return &gateway.AuthenticateResponse{ - Status: status.NewInternal(ctx, "error creating user home"), - }, nil + if createHomeRes.Status.Code != rpc.Code_CODE_OK && createHomeRes.Status.Code != rpc.Code_CODE_ALREADY_EXISTS { + err := status.NewErrorFromCode(createHomeRes.Status.Code, "gateway") + log.Err(err).Msg("error calling Createhome") + return &gateway.AuthenticateResponse{ + Status: status.NewInternal(ctx, "error creating user home"), + }, nil + } } gwRes := &gateway.AuthenticateResponse{ diff --git a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/storageprovider.go b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/storageprovider.go index 69bed97c6b..bd505e0f65 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/storageprovider.go +++ b/vendor/github.com/opencloud-eu/reva/v2/internal/grpc/services/gateway/storageprovider.go @@ -28,20 +28,17 @@ import ( "strings" "time" - "github.com/BurntSushi/toml" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" + userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" collaborationv1beta1 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1" linkv1beta1 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" registry "github.com/cs3org/go-cs3apis/cs3/storage/registry/v1beta1" typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" - "github.com/opencloud-eu/reva/v2/pkg/conversions" - "github.com/rs/zerolog/log" - "google.golang.org/grpc/codes" - "github.com/golang-jwt/jwt/v5" "github.com/opencloud-eu/reva/v2/pkg/appctx" + "github.com/opencloud-eu/reva/v2/pkg/conversions" ctxpkg "github.com/opencloud-eu/reva/v2/pkg/ctx" "github.com/opencloud-eu/reva/v2/pkg/errtypes" "github.com/opencloud-eu/reva/v2/pkg/publicshare" @@ -51,7 +48,12 @@ import ( "github.com/opencloud-eu/reva/v2/pkg/share" "github.com/opencloud-eu/reva/v2/pkg/storagespace" "github.com/opencloud-eu/reva/v2/pkg/utils" + + "github.com/BurntSushi/toml" + "github.com/golang-jwt/jwt/v5" "github.com/pkg/errors" + "github.com/rs/zerolog/log" + "google.golang.org/grpc/codes" gstatus "google.golang.org/grpc/status" ) @@ -114,6 +116,19 @@ func (s *svc) CreateHome(ctx context.Context, req *provider.CreateHomeRequest) ( }, nil } + + if u.GetId().GetType() == userpb.UserType_USER_TYPE_SERVICE { + return &provider.CreateHomeResponse{ + Status: status.NewInvalid(ctx, "gateway: refusing to create home for service user"), + }, nil + } + + if u.GetId().GetType() == userpb.UserType_USER_TYPE_LIGHTWEIGHT { + return &provider.CreateHomeResponse{ + Status: status.NewInvalid(ctx, "gateway: refusing to create home for lightweight user"), + }, nil + } + quotaStr := utils.ReadPlainFromOpaque(req.Opaque, "quota") var quota *provider.Quota if quotaStr != "" { diff --git a/vendor/modules.txt b/vendor/modules.txt index 18930bd8cd..f1b3fbaa8c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1363,7 +1363,7 @@ github.com/opencloud-eu/icap-client # github.com/opencloud-eu/libre-graph-api-go v1.0.8-0.20260310090739-853d972b282d ## explicit; go 1.18 github.com/opencloud-eu/libre-graph-api-go -# github.com/opencloud-eu/reva/v2 v2.46.1 +# github.com/opencloud-eu/reva/v2 v2.46.2-0.20260602061404-0e975e5456eb ## explicit; go 1.25.0 github.com/opencloud-eu/reva/v2/cmd/revad/internal/grace github.com/opencloud-eu/reva/v2/cmd/revad/runtime