v1.4.0
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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.
-
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
#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. -
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. -
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. -
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. -
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. -
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. -
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. -
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. -
Enhancement #1237: Setup of grpc transfer service and cli
The grpc transfer service and cli for it.
-
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. -
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. -
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.