From 401d1e5b242ec3ad2bbc626bc9b75de2e2b9d65f Mon Sep 17 00:00:00 2001 From: Michael Barz Date: Mon, 17 Jul 2023 17:20:58 +0200 Subject: [PATCH] bump reva, adapt changelog --- changelog/unreleased/bump-reva.md | 39 +++++++++++++++++-- go.mod | 2 +- go.sum | 4 +- .../http/services/owncloud/ocdav/move.go | 14 +++++++ vendor/modules.txt | 2 +- 5 files changed, 53 insertions(+), 8 deletions(-) diff --git a/changelog/unreleased/bump-reva.md b/changelog/unreleased/bump-reva.md index 0ed21c7254f..20a7b1a63d1 100644 --- a/changelog/unreleased/bump-reva.md +++ b/changelog/unreleased/bump-reva.md @@ -1,7 +1,20 @@ -Enhancement: Update reva - -Update reva to latest edge +Enhancement: Update reva to v2.15.0 +* Bugfix [cs3org/reva#4004](https://github.com/cs3org/reva/pull/4004): Add path to public link POST +* Bugfix [cs3org/reva#3993](https://github.com/cs3org/reva/pull/3993): Add token to LinkAccessedEvent +* Bugfix [cs3org/reva#4007](https://github.com/cs3org/reva/pull/4007): Close archive writer properly +* Bugfix [cs3org/reva#3982](https://github.com/cs3org/reva/pull/3982): Fixed couple of smaller space lookup issues +* Bugfix [cs3org/reva#4003](https://github.com/cs3org/reva/pull/4003): Don't connect ldap on startup +* Bugfix [cs3org/reva#4032](https://github.com/cs3org/reva/pull/4032): Temporarily exclude ceph-iscsi when building revad-ceph image +* Bugfix [cs3org/reva#4042](https://github.com/cs3org/reva/pull/4042): Fix writing 0 byte msgpack metadata +* Bugfix [cs3org/reva#3970](https://github.com/cs3org/reva/pull/3970): Fix enforce-password issue +* Bugfix [cs3org/reva#4057](https://github.com/cs3org/reva/pull/4057): Properly handle not-found errors when getting a public share +* Bugfix [cs3org/reva#4048](https://github.com/cs3org/reva/pull/4048): Fix messagepack propagation +* Bugfix [cs3org/reva#4056](https://github.com/cs3org/reva/pull/4056): Fix destroys data destination when moving issue +* Bugfix [cs3org/reva#4012](https://github.com/cs3org/reva/pull/4012): Fix mtime if 0 size file uploaded +* Bugfix [cs3org/reva#4010](https://github.com/cs3org/reva/pull/4010): Omit spaceroot when archiving +* Bugfix [cs3org/reva#4047](https://github.com/cs3org/reva/pull/4047): Publish events synchrously +* Bugfix [cs3org/reva#4039](https://github.com/cs3org/reva/pull/4039): Restart Postprocessing * Bugfix [cs3org/reva#3963](https://github.com/cs3org/reva/pull/3963): Treesize interger overflows * Bugfix [cs3org/reva#3943](https://github.com/cs3org/reva/pull/3943): When removing metadata always use correct database and table * Bugfix [cs3org/reva#3978](https://github.com/cs3org/reva/pull/3978): Decomposedfs no longer os.Stats when reading node metadata @@ -23,10 +36,28 @@ Update reva to latest edge * Enhancement [cs3org/reva#3965](https://github.com/cs3org/reva/pull/3965): ResumePostprocessing Event * Enhancement [cs3org/reva#3981](https://github.com/cs3org/reva/pull/3981): We have updated the UserFeatureChangedEvent to reflect value changes * Enhancement [cs3org/reva#3986](https://github.com/cs3org/reva/pull/3986): Allow disabling wopi chat +* Enhancement [cs3org/reva#4060](https://github.com/cs3org/reva/pull/4060): We added a go-micro based app-provider registry +* Enhancement [cs3org/reva#4013](https://github.com/cs3org/reva/pull/4013): Add new WebDAV permissions +* Enhancement [cs3org/reva#3987](https://github.com/cs3org/reva/pull/3987): Cache space indexes +* Enhancement [cs3org/reva#3973](https://github.com/cs3org/reva/pull/3973): More logging for metadata propagation +* Enhancement [cs3org/reva#4059](https://github.com/cs3org/reva/pull/4059): Improve space index performance +* Enhancement [cs3org/reva#3994](https://github.com/cs3org/reva/pull/3994): Load matching spaces concurrently +* Enhancement [cs3org/reva#4049](https://github.com/cs3org/reva/pull/4049): Do not invalidate filemetadata cache early +* Enhancement [cs3org/reva#4040](https://github.com/cs3org/reva/pull/4040): Allow to use external trace provider in micro service +* Enhancement [cs3org/reva#4019](https://github.com/cs3org/reva/pull/4019): Allow to use external trace provider +* Enhancement [cs3org/reva#4045](https://github.com/cs3org/reva/pull/4045): Log error message in grpc interceptor +* Enhancement [cs3org/reva#3989](https://github.com/cs3org/reva/pull/3989): Parallelization of jsoncs3 operations +* Enhancement [cs3org/reva#3809](https://github.com/cs3org/reva/pull/3809): Trace decomposedfs syscalls +* Enhancement [cs3org/reva#4067](https://github.com/cs3org/reva/pull/4067): Trace upload progress +* Enhancement [cs3org/reva#3887](https://github.com/cs3org/reva/pull/3887): Trace requests through datagateway +* Enhancement [cs3org/reva#4052](https://github.com/cs3org/reva/pull/4052): Update go-ldap to v3.4.5 +* Enhancement [cs3org/reva#4065](https://github.com/cs3org/reva/pull/4065): Upload directly to dataprovider +* Enhancement [cs3org/reva#4046](https://github.com/cs3org/reva/pull/4046): Use correct tracer name +* Enhancement [cs3org/reva#3986](https://github.com/cs3org/reva/pull/3986): Allow disabling wopi chat writer properly https://github.com/owncloud/ocis/pull/6529 https://github.com/owncloud/ocis/pull/6544 https://github.com/owncloud/ocis/pull/6507 https://github.com/owncloud/ocis/pull/6572 https://github.com/owncloud/ocis/pull/6590 -https://github.com/owncloud/ocis/pull/6812 \ No newline at end of file +https://github.com/owncloud/ocis/pull/6812 diff --git a/go.mod b/go.mod index ebc5d3b597a..f392cc529a5 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.20230714140226-283ecff63fe4 + github.com/cs3org/reva/v2 v2.15.0 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 d7a590305d9..d43af74dbf3 100644 --- a/go.sum +++ b/go.sum @@ -625,8 +625,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.20230714140226-283ecff63fe4 h1:9hbfPVNRrrCpHNGZQwF39ymkVEZjbp7T9KxS6vmPfgk= -github.com/cs3org/reva/v2 v2.14.1-0.20230714140226-283ecff63fe4/go.mod h1:4z5EQghS2LhSWZWocH51Dw9VAs16No1zSFvFgQtgS7w= +github.com/cs3org/reva/v2 v2.15.0 h1:saU2Heig/HswkNdDHh2Jttmhsn0nfTkvaYbXUspcNOM= +github.com/cs3org/reva/v2 v2.15.0/go.mod h1:4z5EQghS2LhSWZWocH51Dw9VAs16No1zSFvFgQtgS7w= 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/internal/http/services/owncloud/ocdav/move.go b/vendor/github.com/cs3org/reva/v2/internal/http/services/owncloud/ocdav/move.go index 10ccb32ac56..65d298c2446 100644 --- a/vendor/github.com/cs3org/reva/v2/internal/http/services/owncloud/ocdav/move.go +++ b/vendor/github.com/cs3org/reva/v2/internal/http/services/owncloud/ocdav/move.go @@ -141,6 +141,12 @@ func (s *svc) handleSpacesMove(w http.ResponseWriter, r *http.Request, srcSpaceI } func (s *svc) handleMove(ctx context.Context, w http.ResponseWriter, r *http.Request, src, dst *provider.Reference, log zerolog.Logger) { + // do not allow overwriting spaces + if err := s.validateDestination(dst); err != nil { + log.Error().Err(err) + w.WriteHeader(http.StatusPreconditionFailed) // 412, see https://tools.ietf.org/html/rfc4918#section-9.9.4 + return + } isChild, err := s.referenceIsChildOf(ctx, s.gatewaySelector, dst, src) if err != nil { switch err.(type) { @@ -305,3 +311,11 @@ func (s *svc) handleMove(ctx context.Context, w http.ResponseWriter, r *http.Req w.Header().Set(net.HeaderOCETag, info.Etag) w.WriteHeader(successCode) } + +func (s *svc) validateDestination(dstStatRes *provider.Reference) error { + // do not allow overwriting spaces + if dstStatRes.GetPath() == "." && dstStatRes.GetResourceId().GetOpaqueId() == dstStatRes.GetResourceId().GetSpaceId() { + return fmt.Errorf("overwriting is not allowed") + } + return nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index daf6183bf5c..bba17d65993 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.20230714140226-283ecff63fe4 +# github.com/cs3org/reva/v2 v2.15.0 ## explicit; go 1.20 github.com/cs3org/reva/v2/cmd/revad/internal/grace github.com/cs3org/reva/v2/cmd/revad/runtime