v1.4.0

Changelog for Reva v1.4.0 (2020-11-17)

Changelog for reva 1.4.0 (2020-11-17)

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

Summary

  • Fix #1316: Fix listing shares for nonexisting path
  • Fix #1274: Let the gateway filter invalid references
  • Fix #1269: Handle more eos errors
  • Fix #1297: Check the err and the response status code
  • Fix #1260: Fix file descriptor leak on ocdav put handler
  • Fix #1253: Upload file to storage provider after assembling chunks
  • Fix #1264: Fix etag propagation in ocis driver
  • Fix #1255: Check current node when iterating over path segments
  • Fix #1265: Stop setting propagation xattr on new files
  • Fix #260: Filter share with me requests
  • Fix #1317: Prevent nil pointer when listing shares
  • Fix #1259: Fix propfind response code on forbidden files
  • Fix #1294: Fix error type in read node when file was not found
  • Fix #1258: Update share grants on share update
  • Enh #1257: Add a test user to all sites
  • Enh #1234: Resolve a WOPI bridge appProviderURL by extracting its redirect
  • Enh #1239: Add logic for finding groups to user provider service
  • Enh #1280: Add a Reva SDK
  • Enh #1237: Setup of grpc transfer service and cli
  • Enh #1224: Add SQL driver for share manager
  • Enh #1285: Refactor the uploading files workflow from various clients
  • Enh #1233: Add support for custom CodiMD mimetype

Details

  • Bugfix #1316: Fix listing shares for nonexisting path

When trying to list shares for a not existing file or folder the ocs sharing implementation no longer responds with the wrong status code and broken xml.

https://github.com/cs3org/reva/pull/1316

  • Bugfix #1274: Let the gateway filter invalid references

We now filter deleted and unshared entries from the response when listing the shares folder of a user.

https://github.com/cs3org/reva/pull/1274

  • Bugfix #1269: Handle more eos errors

We now treat E2BIG, EACCES as a permission error, which occur, eg. when acl checks fail and return a permission denied error.

https://github.com/cs3org/reva/pull/1269

  • Bugfix #1297: Check the err and the response status code

The publicfile handler needs to check the response status code to return proper not pound and permission errors in the webdav api.

https://github.com/cs3org/reva/pull/1297

  • Bugfix #1260: Fix file descriptor leak on ocdav put handler

File descriptors on the ocdav service, especially on the put handler was leaking http connections. This PR addresses this.

https://github.com/cs3org/reva/pull/1260

  • Bugfix #1253: Upload file to storage provider after assembling chunks

In the PUT handler for chunked uploads in ocdav, we store the individual chunks in temporary file but do not write the assembled file to storage. This PR fixes that.

https://github.com/cs3org/reva/pull/1253

  • Bugfix #1264: Fix etag propagation in ocis driver

We now use a new synctime timestamp instead of trying to read the mtime to avoid race conditions when the stat request happens too quickly.

https://github.com/owncloud/product/issues/249 https://github.com/cs3org/reva/pull/1264

  • Bugfix #1255: Check current node when iterating over path segments

When checking permissions we were always checking the leaf instead of using the current node while iterating over path segments.

https://github.com/cs3org/reva/pull/1255

  • Bugfix #1265: Stop setting propagation xattr on new files

We no longer set the propagation flag on a file because it is only evaluated for folders anyway.

https://github.com/cs3org/reva/pull/1265

  • Bugfix #260: Filter share with me requests

The OCS API now properly filters share with me requests by path and by share status (pending, accepted, rejected, all)

https://github.com/owncloud/ocis-reva/issues/260 https://github.com/owncloud/ocis-reva/issues/311 https://github.com/cs3org/reva/pull/1301

  • Bugfix #1317: Prevent nil pointer when listing shares

We now handle cases where the grpc connection failed correctly by no longer trying to access the response status.

https://github.com/cs3org/reva/pull/1317

  • Bugfix #1259: Fix propfind response code on forbidden files

When executing a propfind to a resource owned by another user the service would respond with a HTTP 403. In ownCloud 10 the response was HTTP 207. This change sets the response code to HTTP 207 to stay backwards compatible.

https://github.com/cs3org/reva/pull/1259

  • Bugfix #1294: Fix error type in read node when file was not found

The method ReadNode in the ocis storage didn’t return the error type NotFound when a file was not found.

https://github.com/cs3org/reva/pull/1294

  • Bugfix #1258: Update share grants on share update

When a share was updated the share information in the share manager was updated but the grants set by the storage provider were not.

https://github.com/cs3org/reva/pull/1258

  • Enhancement #1257: Add a test user to all sites

For health monitoring of all mesh sites, we need a special user account that is present on every site. This PR adds such a user to each users-*.json file so that every site will have the same test user credentials.

https://github.com/cs3org/reva/pull/1257

  • Enhancement #1234: Resolve a WOPI bridge appProviderURL by extracting its redirect

Applications served by the WOPI bridge (CodiMD for the time being) require an extra redirection as the WOPI bridge itself behaves like a user app. This change returns to the client the redirected URL from the WOPI bridge, which is the real application URL.

https://github.com/cs3org/reva/pull/1234

  • Enhancement #1239: Add logic for finding groups to user provider service

To create shares with user groups, the functionality for searching for these based on a pattern is needed. This PR adds that.

https://github.com/cs3org/reva/pull/1239

  • Enhancement #1280: Add a Reva SDK

A Reva SDK has been added to make working with a remote Reva instance much easier by offering a high-level API that hides all the underlying details of the CS3API.

https://github.com/cs3org/reva/pull/1280

  • Enhancement #1237: Setup of grpc transfer service and cli

The grpc transfer service and cli for it.

https://github.com/cs3org/reva/pull/1237

  • Enhancement #1224: Add SQL driver for share manager

This PR adds an SQL driver for the shares manager which expects a schema equivalent to the one used in production for CERNBox.

https://github.com/cs3org/reva/pull/1224

  • Enhancement #1285: Refactor the uploading files workflow from various clients

Previously, we were implementing the tus client logic in the ocdav service, leading to restricting the whole of tus logic to the internal services. This PR refactors that workflow to accept incoming requests following the tus protocol while using simpler transmission internally.

https://github.com/cs3org/reva/pull/1285 https://github.com/cs3org/reva/pull/1314

  • Enhancement #1233: Add support for custom CodiMD mimetype

The new mimetype is associated with the .zmd file extension. The corresponding configuration is associated with the storageprovider.

https://github.com/cs3org/reva/pull/1233 https://github.com/cs3org/reva/pull/1284


Last modified November 17, 2020: v1.4.0 (7abafcc4)