Skip to content

Releases: cs3org/reva

v2.19.7

13 May 10:44
v2.19.7
8e1594a
Compare
Choose a tag to compare

Changelog for reva 2.19.7 (2024-05-13)

The following sections list the changes in reva 2.19.7 relevant to
reva users. The changes are ordered by importance.

Summary

  • Enh #4673: Add virus filter to list uploads sessions

Details

  • Enhancement #4673: Add virus filter to list uploads sessions

Adds a filter for filtering for infected uploads

#4673

v2.19.6

29 Apr 13:51
v2.19.6
Compare
Choose a tag to compare

Changelog for reva 2.19.6 (2024-04-29)

The following sections list the changes in reva 2.19.6 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4654: Write blob based on session id
  • Fix #4666: Fix uploading via a public link
  • Fix #4665: Fix creating documents in nested folders of public shares
  • Enh #4655: Bump mockery to v2.40.2
  • Enh #4664: Add ScanData to Uploadsession

Details

  • Bugfix #4654: Write blob based on session id

Decomposedfs now uses the session id and size when moving an uplode to the blobstore. This fixes
a cornercase that prevents an upload session from correctly being finished when another
upload session to the file was started and already finished.

#4654
#4615

  • Bugfix #4666: Fix uploading via a public link

Fix http error when uploading via a public link

owncloud/ocis#8699
#4666
#4589

  • Bugfix #4665: Fix creating documents in nested folders of public shares

We fixed a bug that prevented creating new documented in a nested folder of a public share.

owncloud/ocis#8957
#4665
#4660

  • Enhancement #4655: Bump mockery to v2.40.2

We switched to the latest mockery and changed to .mockery.yaml based mock generation.

#4655
#4614

  • Enhancement #4664: Add ScanData to Uploadsession

Adds virus scan results to the upload session.

#4664
#4657

v2.19.5

17 Apr 10:11
Compare
Choose a tag to compare

Changelog for reva 2.19.5 (2024-04-17)

The following sections list the changes in reva 2.19.5 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4626: Fix public share update
  • Fix #4634: Fix access to files withing a public link targeting a space root

Details

  • Bugfix #4626: Fix public share update

We fixed the permission check for updating public shares. When updating the permissions of a
public share while not providing a password, the check must be against the new permissions to
take into account that users can opt out only for view permissions.

#4626
#4622

  • Bugfix #4634: Fix access to files withing a public link targeting a space root

We fixed an issue that prevented users from opening documents within a public share that
targets a space root.

owncloud/ocis#8691
#4634
#4632

v2.19.3

04 Apr 14:19
v2.19.3
b60e3bd
Compare
Choose a tag to compare

Changelog for reva 2.19.3 (2024-04-04)

The following sections list the changes in reva 2.19.3 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4607: Mask user email in output

Details

  • Bugfix #4607: Mask user email in output

We have fixed a bug where the user email was not masked in the output and the user emails could be
enumerated through the sharee search.

owncloud/ocis#8726
#4607
#4603

v2.16.4

22 Mar 12:13
v2.16.4
edc7102
Compare
Choose a tag to compare

Changelog for reva 2.16.4 (2024-03-22)

The following sections list the changes in reva 2.16.4 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4398: Fix ceph build
  • Fix #4396: Allow an empty credentials chain in the auth middleware
  • Fix #4423: Fix disconnected traces
  • Fix #4590: Fix uploading via a public link
  • Fix #4470: Keep failed processing status
  • Enh #4397: Introduce UploadSessionLister interface

Details

  • Bugfix #4398: Fix ceph build

Fix ceph build as already fixed in edge

#4398
#4147

  • Bugfix #4396: Allow an empty credentials chain in the auth middleware

When running with ocis, all external http-authentication is handled by the proxy service. So
the reva auth middleware should not try to do any basic or bearer auth.

owncloud/ocis#6692
#4396
#4241

  • Bugfix #4423: Fix disconnected traces

We fixed a problem where the appctx logger was using a new traceid instead of picking up the one
from the trace parent.

#4423

  • Bugfix #4590: Fix uploading via a public link

Fix http error when uploading via a public link

owncloud/ocis#8658
owncloud/ocis#8629
#4590

  • Bugfix #4470: Keep failed processing status

We now keep the postprocessing status when a blob could not be copied to the blobstore.

#4470
#4449

  • Enhancement #4397: Introduce UploadSessionLister interface

We introduced a new UploadSessionLister interface that allows better control of upload
sessions. Upload sessions include the processing state and can be used to filter and purge the
list of currently ongoing upload sessions.

#4397
#4375

v2.19.2

13 Mar 11:31
v2.19.2
Compare
Choose a tag to compare

Changelog for reva 2.19.2 (2024-03-13)

The following sections list the changes in reva 2.19.2 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4557: Fix ceph build
  • Fix #4570: Fix sharing invite on virtual drive
  • Fix #4559: Fix graph drive invite
  • Fix #4518: Fix an error when lock/unlock a file
  • Fix #4566: Fix public link previews
  • Fix #4561: Fix Stat() by Path on re-created resource
  • Enh #4556: Allow tracing requests by giving util functions a context
  • Enh #4545: Extend service account permissions
  • Enh #4564: Send file locked/unlocked events

Details

  • Bugfix #4557: Fix ceph build

#4557

  • Bugfix #4570: Fix sharing invite on virtual drive

We fixed the issue when sharing of virtual drive with other users was allowed

owncloud/ocis#8495
#4570

  • Bugfix #4559: Fix graph drive invite

We fixed the issue when sharing of personal drive is allowed via graph

owncloud/ocis#8494
#4559

  • Bugfix #4518: Fix an error when lock/unlock a file

We fixed a bug when anonymous user with viewer role in public link of a folder can lock/unlock a
file inside it

owncloud/ocis#7785
#4518

  • Bugfix #4566: Fix public link previews

Fixes previews for public links

#4566

  • Bugfix #4561: Fix Stat() by Path on re-created resource

We fixed bug that caused Stat Requests using a Path reference to a mount point in the sharejail to
not resolve correctly, when a share using the same mount point to an already deleted resource
was still existing.

owncloud/ocis#7895
#4561

  • Enhancement #4556: Allow tracing requests by giving util functions a context

We deprecated GetServiceUserContext with GetServiceUserContextWithContext and GetUser
with GetUserWithContext to allow passing in a trace context.

#4556

  • Enhancement #4545: Extend service account permissions

Adds CreateContainer permisson and improves cs3 storage pkg

#4545

  • Enhancement #4564: Send file locked/unlocked events

Emit an event when a file is locked or unlocked

#4564

v2.19.1

29 Feb 10:31
v2.19.1
8f0bcdd
Compare
Choose a tag to compare

Changelog for reva 2.19.1 (2024-02-29)

The following sections list the changes in reva 2.19.1 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4534: Fix remove/update share permissions
  • Fix #4539: Fix a typo

Details

  • Bugfix #4534: Fix remove/update share permissions

This is a workaround that should prevent removing or changing the share permissions when the
file is locked. These limitations have to be removed after the wopi server will be able to unlock
the file properly. These limitations are not spread on the files inside the shared folder.

owncloud/ocis#8273
#4534

  • Bugfix #4539: Fix a typo

We fixed a typo

#4539

v1.28.0

27 Feb 16:33
Compare
Choose a tag to compare

Changelog for reva 1.28.0 (2024-02-27)

The following sections list the changes in reva 1.28.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4369: Carefully use root credentials to perform system level ops
  • Fix #4306: Correctly treat EOS urls containing # chars
  • Fix #4510: Propagates traceID to EOS
  • Fix #4321: Reworked List() to support version folder tricks
  • Fix #4400: Fix group-based capabilities
  • Fix #4319: Fixed registration of custom extensions in the mime registry
  • Fix #4287: Fixes registration and naming of services
  • Fix #4310: Restore changes to ceph driver
  • Fix #4294: Sciencemesh fixes
  • Fix #4307: Dynamic storage registry storage_id aliases
  • Fix #4497: Removed stat to all storage providers on Depth:0 PROPFIND to "/"
  • Enh #4280: Implementation of Locks for the CephFS driver
  • Enh #4282: Support multiple templates in config entries
  • Enh #4304: Disable open in app for given paths
  • Enh #4455: Limit max number of entries returned by ListRecycle in eos
  • Enh #4309: Get the logger in the grpcMDResponseToFileInfo func, log the stat
  • Enh #4311: Init time logger for eosgrpc storage driver
  • Enh #4301: Added listversions command
  • Enh #4493: Removed notification capability
  • Enh #4288: Print plugins' version
  • Enh #4508: Add pprof http service
  • Enh #4376: Removed cback from upstream codebase
  • Enh #4391: CERNBox setup for ScienceMesh tests
  • Enh #4246: Revamp ScienceMesh integration tests
  • Enh #4240: Reworked protocol with ScienceMesh NC/OC apps
  • Enh #4370: Storage registry: fail at init if config is missing any providers

Details

  • Bugfix #4369: Carefully use root credentials to perform system level ops

    This PR ensures that system level ops like setlock, setattr, stat... work when invoked from a
    gateway This is relevant for eosgrpc, as eosbinary exploited the permissivity of the eos
    cmdline

    #4369

  • Bugfix #4306: Correctly treat EOS urls containing # chars

    #4306

  • Bugfix #4510: Propagates traceID to EOS

    This PR fixes the cases where the EOS trace ID was always a bunch of zeroes.

    #4510

  • Bugfix #4321: Reworked List() to support version folder tricks

    #4321

  • Bugfix #4400: Fix group-based capabilities

    The group-based capabilities require an authenticated endpoint, as we must query the
    logged-in user's groups to get those. This PR moves them to the getSelf endpoint in the user
    handler.

    #4400

  • Bugfix #4319: Fixed registration of custom extensions in the mime registry

    This PR ensures custom extensions/mime-types are registered by trimming any eventual
    leading '.' from the extension.

    #4319

  • Bugfix #4287: Fixes registration and naming of services

    #4287

  • Bugfix #4310: Restore changes to ceph driver

    PR 4166 accidentally reverted the ceph
    driver changes. This PR recovers them.

    #4310

  • Bugfix #4294: Sciencemesh fixes

    Fixes different issues introduced with the recent changes, in ocm/sciencemesh, in
    particular the GetAccepetdUser and /sciencemesh/find-accepted-users endpoints.

    #4294

  • Bugfix #4307: Dynamic storage registry storage_id aliases

    Fixes the bug where the dynamic storage registry would not be able to resolve storage ids like
    eoshome-a, as those are aliased and need to be resolved into the proper storage-id
    (eoshome-i01).

    #4307

  • Bugfix #4497: Removed stat to all storage providers on Depth:0 PROPFIND to "/"

    This PR removes an unnecessary and potentially problematic call, which would fail if any of the
    configured storage providers has an issue.

    #4497

  • Enhancement #4280: Implementation of Locks for the CephFS driver

    This PR brings CS3APIs Locks for CephFS

    #4280

  • Enhancement #4282: Support multiple templates in config entries

    This PR introduces support for config entries with multiple templates, such as parameter = "{{ vars.v1 }} foo {{ vars.v2 }}". Previously, only one {{ template }} was allowed in a given
    configuration entry.

    #4282

  • Enhancement #4304: Disable open in app for given paths

    #4304

  • Enhancement #4455: Limit max number of entries returned by ListRecycle in eos

    The idea is to query first how many entries we'd have from eos recycle ls and bail out if "too
    many".

    #4455

  • Enhancement #4309: Get the logger in the grpcMDResponseToFileInfo func, log the stat

    #4309

  • Enhancement #4311: Init time logger for eosgrpc storage driver

    Before the eosgrpc driver was using a custom logger. Now that the reva logger is available at
    init time, the driver will use this.

    #4311

  • Enhancement #4301: Added listversions command

    #4301

  • Enhancement #4493: Removed notification capability

    This is not needed any longer, the code was simplified to enable notifications if they are
    configured

    #4493

  • Enhancement #4288: Print plugins' version

    #4288

  • Enhancement #4508: Add pprof http service

    This service is useful to trigger diagnostics on running processes

    #4508

  • Enhancement #4376: Removed cback from upstream codebase

    The code has been moved to as a CERNBox plugin.

    #4376

  • Enhancement #4391: CERNBox setup for ScienceMesh tests

    This PR includes a bundled CERNBox-like web UI and backend to test the ScienceMesh workflows
    with OC10 and NC

    #4391

  • Enhancement #4246: Revamp ScienceMesh integration tests

    This extends the ScienceMesh tests by running a wopiserver next to each EFSS/IOP, and by
    including a CERNBox-like minimal configuration. The latter is based on local storage and
    in-memory shares (no db dependency).

    #4246

  • Enhancement #4240: Reworked protocol with ScienceMesh NC/OC apps

    This ensures full OCM 1.1 coverage

    #4240

  • Enhancement #4370: Storage registry: fail at init if config is missing any providers

    This change makes the dynamic storage registry fail at startup if there are missing rules in the
    config file. That is, any mount_id in the routing table must have a corresponding
    storage_id/address pair in the config, otherwise the registry will fail to start.

    #4370

v2.19.0

22 Feb 15:51
v2.19.0
Compare
Choose a tag to compare

Changelog for reva 2.19.0 (2024-02-22)

The following sections list the changes in reva 2.19.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4464: Do not lose revisions when restoring the first revision
  • Fix #4516: The sharemanager can now reject grants with resharing permissions
  • Fix #4512: Bump dependencies
  • Fix #4481: Distinguish failure and node metadata reversal
  • Fix #4456: Do not lose revisions when restoring the first revision
  • Fix #4472: Fix concurrent access to a map
  • Fix #4457: Fix concurrent map access in sharecache
  • Fix #4498: Fix Content-Disposition header in dav
  • Fix #4461: CORS handling for WebDAV requests fixed
  • Fix #4462: Prevent setting container specific permissions on files
  • Fix #4479: Fix creating documents in the approvider
  • Fix #4474: Make /dav/meta consistent
  • Fix #4446: Disallow to delete a file during the processing
  • Fix #4517: Fix duplicated items in the sharejail root
  • Fix #4473: Decomposedfs now correctly lists sessions
  • Fix #4528: Respect IfNotExist option when uploading in cs3 metadata storage
  • Fix #4503: Fix an error when move
  • Fix #4466: Fix natsjskv store
  • Fix #4533: Fix recursive trashcan purge
  • Fix #4492: Fix the resource name
  • Fix #4463: Fix the resource name
  • Fix #4448: Fix truncating existing files
  • Fix #4434: Fix the upload postprocessing
  • Fix #4469: Handle interrupted uploads
  • Fix #4532: Jsoncs3 cache fixes
  • Fix #4449: Keep failed processing status
  • Fix #4529: We aligned some OCS return codes with oc10
  • Fix #4507: Make tusd CORS headers configurable
  • Fix #4452: More efficient share jail
  • Fix #4476: No need to unmark postprocessing when it was not started
  • Fix #4454: Skip unnecessary share retrieval
  • Fix #4527: Unify datagateway method handling
  • Fix #4530: Drop unnecessary grant exists check
  • Fix #4475: Upload session specific processing flag
  • Enh #4501: Allow sending multiple user ids in one sse event
  • Enh #4485: Modify the concurrency default
  • Enh #4526: Configurable s3 put options
  • Enh #4453: Disable the password policy
  • Enh #4477: Extend ResumePostprocessing event
  • Enh #4491: Add filename incrementor for secret filedrops
  • Enh #4490: Lazy initialize public share manager
  • Enh #4494: Start implementation of a plain posix storage driver
  • Enh #4502: Add spaceindex.AddAll()

Details

  • Bugfix #4464: Do not lose revisions when restoring the first revision

We no longer prevent modifying grants on locked resources.

#4464

  • Bugfix #4516: The sharemanager can now reject grants with resharing permissions

When disabling resharing we also need to prevent grants from allowing any grant permissions.

#4516

  • Bugfix #4512: Bump dependencies

We updated the dependencies to at least match the ones used in ocis.

#4512

  • Bugfix #4481: Distinguish failure and node metadata reversal

When the final blob move fails we must not remove the node metadata to be able to restart the
postprocessing process.

#4481

  • Bugfix #4456: Do not lose revisions when restoring the first revision

We fixed a problem where restoring the very first version of a file could delete the current
version.

#4456

  • Bugfix #4472: Fix concurrent access to a map

We fixed the race condition that led to concurrent map access in a publicshare manager.

owncloud/ocis#8255
#4472

  • Bugfix #4457: Fix concurrent map access in sharecache

We fixed a problem where the sharecache map would sometimes cause a panic when being accessed
concurrently.

#4457

  • Bugfix #4498: Fix Content-Disposition header in dav

We have added missing quotes to the Content-Disposition header in the dav service. This fixes
an issue with files containing special characters in their names.

owncloud/ocis#8361
#4498

  • Bugfix #4461: CORS handling for WebDAV requests fixed

We now correctly handle CORS headers for WebDAV requests.

owncloud/ocis#8231
#4461

  • Bugfix #4462: Prevent setting container specific permissions on files

It was possible to set the 'CreateContainer', 'Move' or 'Delete' permissions on file
resources with a CreateShare request. These permissions are meant to be only set on container
resources. The UpdateShare request already has a similar check.

owncloud/ocis#8131
#4462

  • Bugfix #4479: Fix creating documents in the approvider

We fixed a problem with the approvider where an error was reported to the user even though the
file was created properly.

#4479

  • Bugfix #4474: Make /dav/meta consistent

We now also return absolute paths for shares in the share jail in the /dav/meta endpoint.

#4474

  • Bugfix #4446: Disallow to delete a file during the processing

We want to disallow deleting a file during the processing to prevent collecting the orphan
uploads.

#4446

  • Bugfix #4517: Fix duplicated items in the sharejail root

We fixed a bug, that caused duplicate items to listed in the sharejail, when a user received
multiple shares for the same resource.

owncloud/ocis#8080
#4517

  • Bugfix #4473: Decomposedfs now correctly lists sessions

#4473

  • Bugfix #4528: Respect IfNotExist option when uploading in cs3 metadata storage

#4528

  • Bugfix #4503: Fix an error when move

We fixed a bug that caused Internal Server Error when move using destination id

owncloud/ocis#6739
#4503

  • Bugfix #4466: Fix natsjskv store

Small mistake in last iteration made authorization not working.

#4466

  • Bugfix #4533: Fix recursive trashcan purge

We have fixed a bug in the trashcan purge process that did not delete folder structures
recursively.

owncloud/ocis#8473
#4533

  • Bugfix #4492: Fix the resource name

We fixed a problem where after renaming resource as sharer the receiver see a new name for dav and
wedav endpoints.

owncloud/ocis#8242
#4492

  • Bugfix #4463: Fix the resource name

We fixed a problem where after renaming resource as sharer the receiver see a new name.

owncloud/ocis#8242
#4463

  • Bugfix #4448: Fix truncating existing files

We fixed a problem where existing files kept their content when being overwritten by a 0-byte
file.

#4448

  • Bugfix #4434: Fix the upload postprocessing

We fixed the upload postprocessing when the destination file does not exist anymore.

#4434

  • Bugfix #4469: Handle interrupted uploads

We fixed a bug where interrupted uploads were not discarded properly.

#4469

  • Bugfix #4532: Jsoncs3 cache fixes

The jsoncs3 share manager now retries persisting if the file already existed and picks up the
etag of the upload response in all cases.

#4532

  • Bugfix #4449: Keep failed processing status

We now keep tho postprocessing status when a blob could not be copied to the blobstore.

#4449

  • Bugfix #4529: We aligned some OCS return codes with oc10

owncloud/ocis#1233
#4529

  • Bugfix #4507: Make tusd CORS headers configurable

We bumped tusd to 1.13.0 and made CORS headers configurable via mapstructure.

#4507

  • Bugfix #4452: More efficient share jail

The share jail was stating every shared recource twice when listing the share jail root. For no
good reason. And it was not sending filters when it could.

#4452

  • Bugfix #4476: No need to unmark postprocessing when it was not started

#4476

  • Bugfix #4454: Skip unnecessary share retrieval

#4454

  • Bugfix #4527: Unify datagateway method handling

The datagateway now unpacks and forwards all HTTP methods

#4527

  • Bugfix #4530: Drop unnecessary grant exists check

At least the jsoncs3 share manager properly returns an ALREADY_EXISTS response when trying to
add a share to a resource that has already been shared with the grantee.

#4530

  • Bugfix #4475: Upload session specific processing flag

To make every upload session have a dedicated processing status, upload sessions are now
treated as in processing when all bytes have been received instead of checking the node
metadata.

#4475

  • Enhancement #4501: Allow sending multiple user ids in one sse event

Sending multiple user ids in one sse event is now possible which reduces the number of sent
events.

#4501

  • Enhancement #4485: Modify the concurrency default

We have changed the default...

Read more

v2.18.0

22 Dec 11:34
v2.18.0
Compare
Choose a tag to compare

Changelog for reva 2.18.0 (2023-12-22)

The following sections list the changes in reva 2.18.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #4424: Fixed panic in receivedsharecache pkg
  • Fix #4425: Fix overwriting files with empty files
  • Fix #4432: Fix /dav/meta endpoint for shares
  • Fix #4422: Fix disconnected traces
  • Fix #4429: Internal link creation
  • Fix #4407: Make ocdav return correct oc:spaceid
  • Fix #4410: Improve OCM support
  • Fix #4402: Refactor upload session
  • Enh #4421: Check permissions before adding, deleting or updating shares
  • Enh #4403: Add validation to update public share
  • Enh #4409: Disable the password policy
  • Enh #4412: Allow authentication for nats connections
  • Enh #4411: Add option to configure streams non durable
  • Enh #4406: Rework cache configuration
  • Enh #4414: Track more upload session metrics

Details

  • Bugfix #4424: Fixed panic in receivedsharecache pkg

The receivedsharecache pkg would sometime run into concurrent map writes. This is fixed by
using maptimesyncedcache pkg instead of a plain map.

#4424

  • Bugfix #4425: Fix overwriting files with empty files

We fixed a bug where files could not be overwritten with empty files using the desktop client.

#4425

  • Bugfix #4432: Fix /dav/meta endpoint for shares

We fixed a bug in the /dav/meta endpoint leading to internal server errors when used with
shares.

#4432

  • Bugfix #4422: Fix disconnected traces

We fixed a problem where the appctx logger was using a new traceid instead of picking up the one
from the trace parent.

#4422

  • Bugfix #4429: Internal link creation

We fix the permission checks for creating and updating public share so that it is possible again
to create internal links for received shares.

owncloud/ocis#8039
#4429

  • Bugfix #4407: Make ocdav return correct oc:spaceid

Propfinds now return oc:spaceid in the form of {providerid}${spaceid}

#4407

  • Bugfix #4410: Improve OCM support

We fixed several bugs with OCM support.

#4410
#4333

  • Bugfix #4402: Refactor upload session

We refactored the upload session code to make it reusable, kill a lot of code and save some stat
requests

#4402

  • Enhancement #4421: Check permissions before adding, deleting or updating shares

The user share provider now checks if the user has sufficient permissions to add, delete or
update a share.

#4421
#4405

  • Enhancement #4403: Add validation to update public share

We added validation to update public share provider to move the logic from the handlers to the
implementing server.

#4403

  • Enhancement #4409: Disable the password policy

We add the environment variable that allow to disable the password policy.

#4409

  • Enhancement #4412: Allow authentication for nats connections

Allows configuring username/password for nats connections

#4412

  • Enhancement #4411: Add option to configure streams non durable

Adds an option to disable persistence of event streams

#4411

  • Enhancement #4406: Rework cache configuration

Reworks configuration of the cache package allowing easier configuration. Also adds a new
config value allow to not persist cache entries (nats only)

#4406

  • Enhancement #4414: Track more upload session metrics

We added a gauge for the number of uploads currently in postprocessing as well as counters for
different postprocessing outcomes.

#4414