diff --git a/go.mod b/go.mod index 950ae5dee..7425b30e3 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/beevik/etree v1.5.0 github.com/blevesearch/bleve/v2 v2.4.4 github.com/cenkalti/backoff v2.2.1+incompatible - github.com/coreos/go-oidc/v3 v3.12.0 + github.com/coreos/go-oidc/v3 v3.13.0 github.com/cs3org/go-cs3apis v0.0.0-20241105092511-3ad35d174fc1 github.com/davidbyttow/govips/v2 v2.16.0 github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8 @@ -63,7 +63,7 @@ require ( github.com/onsi/ginkgo/v2 v2.23.0 github.com/onsi/gomega v1.36.2 github.com/open-policy-agent/opa v1.2.0 - github.com/opencloud-eu/reva/v2 v2.28.0 + github.com/opencloud-eu/reva/v2 v2.28.1-0.20250318095448-45dd4836c008 github.com/orcaman/concurrent-map v1.0.0 github.com/owncloud/libre-graph-api-go v1.0.5-0.20240829135935-80dc00d6f5ea github.com/pkg/errors v0.9.1 @@ -74,7 +74,7 @@ require ( github.com/rogpeppe/go-internal v1.14.1 github.com/rs/cors v1.11.1 github.com/rs/zerolog v1.33.0 - github.com/shamaton/msgpack/v2 v2.2.2 + github.com/shamaton/msgpack/v2 v2.2.3 github.com/sirupsen/logrus v1.9.3 github.com/spf13/afero v1.12.0 github.com/spf13/cobra v1.9.1 diff --git a/go.sum b/go.sum index 584dcd4e6..ef0d50cfc 100644 --- a/go.sum +++ b/go.sum @@ -220,8 +220,8 @@ github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3h github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc/v3 v3.12.0 h1:sJk+8G2qq94rDI6ehZ71Bol3oUHy63qNYmkiSjrc/Jo= -github.com/coreos/go-oidc/v3 v3.12.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0= +github.com/coreos/go-oidc/v3 v3.13.0 h1:M66zd0pcc5VxvBNM4pB331Wrsanby+QomQYjN8HamW8= +github.com/coreos/go-oidc/v3 v3.13.0/go.mod h1:HaZ3szPaZ0e4r6ebqvsLWlk2Tn+aejfmrfah6hnSYEU= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -861,8 +861,8 @@ github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= github.com/open-policy-agent/opa v1.2.0 h1:88NDVCM0of1eO6Z4AFeL3utTEtMuwloFmWWU7dRV1z0= github.com/open-policy-agent/opa v1.2.0/go.mod h1:30euUmOvuBoebRCcJ7DMF42bRBOPznvt0ACUMYDUGVY= -github.com/opencloud-eu/reva/v2 v2.28.0 h1:ai7PRIESdw2SiM/MmK8Tc+C/GDHBwzlQp4MwCnqTl5Y= -github.com/opencloud-eu/reva/v2 v2.28.0/go.mod h1:hbCaf73/SzHtbVlmVCU1Eheadds029am/X0Bff5k514= +github.com/opencloud-eu/reva/v2 v2.28.1-0.20250318095448-45dd4836c008 h1:jQCe5/m4tK6q0vJwKl+6NcqA33O+j/rroCms5kugGTM= +github.com/opencloud-eu/reva/v2 v2.28.1-0.20250318095448-45dd4836c008/go.mod h1:XWp81Uok1opSID0HeITjvxJqdorltHVx+iJv4IlWzPo= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= @@ -1002,8 +1002,8 @@ github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sethvargo/go-password v0.3.1 h1:WqrLTjo7X6AcVYfC6R7GtSyuUQR9hGyAj/f1PYQZCJU= github.com/sethvargo/go-password v0.3.1/go.mod h1:rXofC1zT54N7R8K/h1WDUdkf9BOx5OptoxrMBcrXzvs= -github.com/shamaton/msgpack/v2 v2.2.2 h1:GOIg0c9LV04VwzOOqZSrmsv/JzjNOOMxnS/HvOHGdgs= -github.com/shamaton/msgpack/v2 v2.2.2/go.mod h1:6khjYnkx73f7VQU7wjcFS9DFjs+59naVWJv1TB7qdOI= +github.com/shamaton/msgpack/v2 v2.2.3 h1:uDOHmxQySlvlUYfQwdjxyybAOzjlQsD1Vjy+4jmO9NM= +github.com/shamaton/msgpack/v2 v2.2.3/go.mod h1:6khjYnkx73f7VQU7wjcFS9DFjs+59naVWJv1TB7qdOI= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c h1:aqg5Vm5dwtvL+YgDpBcK1ITf3o96N/K7/wsRXQnUTEs= diff --git a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/trashbin/trashbin.go b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/trashbin/trashbin.go index 1ab3cf60b..b4cf11653 100644 --- a/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/trashbin/trashbin.go +++ b/vendor/github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/trashbin/trashbin.go @@ -188,22 +188,21 @@ func (tb *Trashbin) ListRecycle(ctx context.Context, spaceID string, key, relati var originalPath string var ts *typesv1beta1.Timestamp - if key != "" { + if key != "" && relativePath == "" { // this is listing a specific item/folder - base = filepath.Join(base, key+".trashitem", relativePath) + base = filepath.Join(base, key+".trashitem") var err error originalPath, ts, err = tb.readInfoFile(trashRoot, key) if err != nil { return nil, err } - originalPath = filepath.Join(originalPath, relativePath) fi, err := os.Stat(base) if err != nil { return nil, err } item := &provider.RecycleItem{ - Key: filepath.Join(key, relativePath), + Key: key, Size: uint64(fi.Size()), Ref: &provider.Reference{ ResourceId: &provider.ResourceId{ @@ -221,6 +220,15 @@ func (tb *Trashbin) ListRecycle(ctx context.Context, spaceID string, key, relati item.Type = provider.ResourceType_RESOURCE_TYPE_FILE } return []*provider.RecycleItem{item}, nil + } else if key != "" { + // this is listing a specific item/folder + base = filepath.Join(base, key+".trashitem", relativePath) + var err error + originalPath, ts, err = tb.readInfoFile(trashRoot, key) + if err != nil { + return nil, err + } + originalPath = filepath.Join(originalPath, relativePath) } items := []*provider.RecycleItem{} diff --git a/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/bin.go b/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/bin.go index bb9dcd020..ed3fce875 100644 --- a/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/bin.go +++ b/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/bin.go @@ -24,21 +24,24 @@ func (d *decoder) asBinWithCode(code byte, k reflect.Kind) ([]byte, error) { if err != nil { return emptyBytes, err } - return d.readSizeN(int(l)) + // avoid common buffer reference + return d.copySizeN(int(l)) case def.Bin16: bs, err := d.readSize2() if err != nil { return emptyBytes, err } - return d.readSizeN(int(binary.BigEndian.Uint16(bs))) + // avoid common buffer reference + return d.copySizeN(int(binary.BigEndian.Uint16(bs))) case def.Bin32: bs, err := d.readSize4() if err != nil { return emptyBytes, err } - return d.readSizeN(int(binary.BigEndian.Uint32(bs))) + // avoid common buffer reference + return d.copySizeN(int(binary.BigEndian.Uint32(bs))) } return emptyBytes, d.errorTemplate(code, k) @@ -48,3 +51,13 @@ func (d *decoder) asBinStringWithCode(code byte, k reflect.Kind) (string, error) bs, err := d.asBinWithCode(code, k) return *(*string)(unsafe.Pointer(&bs)), err } + +func (d *decoder) copySizeN(n int) ([]byte, error) { + bs, err := d.readSizeN(n) + if err != nil { + return emptyBytes, err + } + v := make([]byte, n) + copy(v, bs) + return v, nil +} diff --git a/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/string.go b/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/string.go index ec749c411..c75646505 100644 --- a/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/string.go +++ b/vendor/github.com/shamaton/msgpack/v2/internal/stream/decoding/string.go @@ -83,6 +83,7 @@ func (d *decoder) asStringByteByLength(l int, _ reflect.Kind) ([]byte, error) { if l < 1 { return emptyBytes, nil } - - return d.readSizeN(l) + + // avoid common buffer reference + return d.copySizeN(l) } diff --git a/vendor/modules.txt b/vendor/modules.txt index b01f417b9..4639a828c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -304,8 +304,8 @@ github.com/cloudflare/circl/math/mlsbset github.com/cloudflare/circl/sign github.com/cloudflare/circl/sign/ed25519 github.com/cloudflare/circl/sign/ed448 -# github.com/coreos/go-oidc/v3 v3.12.0 -## explicit; go 1.21 +# github.com/coreos/go-oidc/v3 v3.13.0 +## explicit; go 1.23.0 github.com/coreos/go-oidc/v3/oidc # github.com/coreos/go-semver v0.3.0 ## explicit @@ -1191,7 +1191,7 @@ github.com/open-policy-agent/opa/v1/types github.com/open-policy-agent/opa/v1/util github.com/open-policy-agent/opa/v1/util/decoding github.com/open-policy-agent/opa/v1/version -# github.com/opencloud-eu/reva/v2 v2.28.0 +# github.com/opencloud-eu/reva/v2 v2.28.1-0.20250318095448-45dd4836c008 ## explicit; go 1.24.1 github.com/opencloud-eu/reva/v2/cmd/revad/internal/grace github.com/opencloud-eu/reva/v2/cmd/revad/runtime @@ -1766,7 +1766,7 @@ github.com/sergi/go-diff/diffmatchpatch # github.com/sethvargo/go-password v0.3.1 ## explicit; go 1.21 github.com/sethvargo/go-password/password -# github.com/shamaton/msgpack/v2 v2.2.2 +# github.com/shamaton/msgpack/v2 v2.2.3 ## explicit; go 1.20 github.com/shamaton/msgpack/v2 github.com/shamaton/msgpack/v2/def