v1.3.0

Changelog for Reva v1.3.0 (2020-10-08)

Changelog for reva 1.3.0 (2020-10-08)

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

Summary

  • Fix #1140: Call the gateway stat method from appprovider
  • Fix #1170: Up and download of file shares
  • Fix #1177: Fix ocis move
  • Fix #1178: Fix litmus failing on ocis storage
  • Fix #237: Fix missing quotes on OCIS-Storage
  • Fix #1210: No longer swallow permissions errors in the gateway
  • Fix #1183: Handle eos EPERM as permission denied
  • Fix #1206: No longer swallow permissions errors
  • Fix #1207: No longer swallow permissions errors in ocdav
  • Fix #1161: Cache display names in ocs service
  • Fix #1216: Add error handling for invalid references
  • Enh #1205: Allow using the username when accessing the users home
  • Enh #1131: Use updated cato to display nested package config in parent docs
  • Enh #1213: Check permissions in ocis driver
  • Enh #1202: Check permissions in owncloud driver
  • Enh #1228: Add GRPC stubs for CreateSymlink method
  • Enh #1174: Add logic in EOS FS for maintaining same inode across file versions
  • Enh #1142: Functionality to map home directory to different storage providers
  • Enh #1190: Add Blackbox Exporter support to Mentix
  • Enh #1229: New gateway datatx service
  • Enh #1225: Allow setting the owner when using the ocis driver
  • Enh #1180: Introduce ocis driver treetime accounting
  • Enh #1208: Calculate etags on-the-fly for shares directory and home folder

Details

  • Bugfix #1140: Call the gateway stat method from appprovider

The appprovider service used to directly pass the stat request to the storage provider bypassing the gateway, which resulted in errors while handling share children as they are resolved in the gateway path.

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

  • Bugfix #1170: Up and download of file shares

The shared folder logic in the gateway storageprovider was not allowing file up and downloads for single file shares. We now check if the reference is actually a file to determine if up / download should be allowed.

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

  • Bugfix #1177: Fix ocis move

When renaming a file we updating the name attribute on the wrong node, causing the path construction to use the wrong name. This fixes the litmus move_coll test.

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

  • Bugfix #1178: Fix litmus failing on ocis storage

We now ignore the no data available error when removing a non existing metadata attribute, which is ok because we are trying to delete it anyway.

https://github.com/cs3org/reva/issues/1178 https://github.com/cs3org/reva/pull/1179

  • Bugfix #237: Fix missing quotes on OCIS-Storage

Etags have to be enclosed in quotes “. Return correct etags on OCIS-Storage.

https://github.com/owncloud/product/issues/237 https://github.com/cs3org/reva/pull/1232

  • Bugfix #1210: No longer swallow permissions errors in the gateway

The gateway is no longer ignoring permissions errors. It will now check the status for rpc.Code_CODE_PERMISSION_DENIED codes and report them properly using status.NewPermissionDenied or status.NewInternal instead of reusing the original response status.

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

  • Bugfix #1183: Handle eos EPERM as permission denied

We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied error.

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

  • Bugfix #1206: No longer swallow permissions errors

The storageprovider is no longer ignoring permissions errors. It will now report them properly using status.NewPermissionDenied(...) instead of status.NewInternal(...)

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

  • Bugfix #1207: No longer swallow permissions errors in ocdav

The ocdav api is no longer ignoring permissions errors. It will now check the status for rpc.Code_CODE_PERMISSION_DENIED codes and report them properly using http.StatusForbidden instead of http.StatusInternalServerError

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

  • Bugfix #1161: Cache display names in ocs service

The ocs list shares endpoint may need to fetch the displayname for multiple different users. We are now caching the lookup fo 60 seconds to save redundant RPCs to the users service.

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

  • Bugfix #1216: Add error handling for invalid references

https://github.com/cs3org/reva/pull/1216 https://github.com/cs3org/reva/pull/1218

  • Enhancement #1205: Allow using the username when accessing the users home

We now allow using the userid and the username when accessing the users home on the /dev/files endpoint.

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

  • Enhancement #1131: Use updated cato to display nested package config in parent docs

Previously, in case of nested packages, we just had a link pointing to the child package. Now we copy the nested package’s documentation to the parent itself to make it easier for devs.

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

  • Enhancement #1213: Check permissions in ocis driver

We are now checking grant permissions in the ocis storage driver.

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

  • Enhancement #1202: Check permissions in owncloud driver

We are now checking grant permissions in the owncloud storage driver.

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

  • Enhancement #1228: Add GRPC stubs for CreateSymlink method

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

  • Enhancement #1174: Add logic in EOS FS for maintaining same inode across file versions

This PR adds the functionality to maintain the same inode across various versions of a file by returning the inode of the version folder which remains constant. It requires extra metadata operations so a flag is provided to disable it.

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

  • Enhancement #1142: Functionality to map home directory to different storage providers

We hardcode the home path for all users to /home. This forbids redirecting requests for different users to multiple storage providers. This PR provides the option to map the home directories of different users using user attributes.

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

  • Enhancement #1190: Add Blackbox Exporter support to Mentix

This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter which will be used for initial health monitoring. Usually, Prometheus requires its targets to only consist of the target’s hostname; the BBE though expects a full URL here. This makes exporting two distinct files necessary.

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

  • Enhancement #1229: New gateway datatx service

Represents the CS3 datatx module in the gateway.

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

  • Enhancement #1225: Allow setting the owner when using the ocis driver

To support the metadata storage we allow setting the owner of the root node so that subsequent requests with that owner can be used to manage the storage.

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

  • Enhancement #1180: Introduce ocis driver treetime accounting

We added tree time accounting to the ocis storage driver which is modeled after eos synctime accounting. It can be enabled using the new treetime_accounting option, which defaults to false The tmtime is stored in an extended attribute user.ocis.tmtime. The treetime accounting is enabled for nodes which have the user.ocis.propagation extended attribute set to "1". Currently, propagation is in sync.

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

  • Enhancement #1208: Calculate etags on-the-fly for shares directory and home folder

We create references for accepted shares in the shares directory, but these aren’t updated when the original resource is modified. This PR adds the functionality to generate the etag for the shares directory and correspondingly, the home directory, based on the actual resources which the references point to, enabling the sync functionality.

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


Last modified October 8, 2020: v1.3.0 (48f922a1)