Releases: cs3org/reva
v2.5.1
Changelog for reva 2.5.1 (2022-06-08)
The following sections list the changes in reva 2.5.1 relevant to
reva users. The changes are ordered by importance.
Summary
Details
v2.5.0
Changelog for reva 2.5.0 (2022-06-07)
The following sections list the changes in reva 2.5.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2909: The decomposedfs now checks the GetPath permission
- Fix #2899: Empty meta requests should return body
- Fix #2928: Fix mkcol response code
- Fix #2907: Correct share jail child aggregation
- Fix #3810: Fix unlimitted quota in spaces
- Fix #3498: Check user permissions before updating/removing public shares
- Fix #2904: Share jail now works properly when accessed as a space
- Fix #2903: User owncloudsql now uses the correct userid
- Chg #2920: Clean up the propfind code
- Chg #2913: Rename ocs parameter "space_ref"
- Enh #2919: EOS Spaces implementation
- Enh #2888: Introduce spaces field mask
- Enh #2922: Refactor webdav error handling
Details
-
Bugfix #2909: The decomposedfs now checks the GetPath permission
After fixing the meta endpoint and introducing the fieldmask the GetPath call is made directly
to the storageprovider. The decomposedfs now checks if the current user actually has the
permission to get the path. Before the two previous PRs this was covered by the list storage
spaces call which used a stat request and the stat permission. -
Bugfix #2899: Empty meta requests should return body
Meta requests with no resourceID should return a multistatus response body with a 404 part.
-
Bugfix #2928: Fix mkcol response code
We now return the correct response code when an mkcol fails.
-
Bugfix #2907: Correct share jail child aggregation
We now add up the size of all mount points when aggregating the size for a child with the same name.
Furthermore, the listing should no longer contain duplicate entries. -
Bugfix #3810: Fix unlimitted quota in spaces
Fixed the quota check when unlimitting a space, i.e. when setting the quota to "0".
-
Bugfix #3498: Check user permissions before updating/removing public shares
Added permission checks before updating or deleting public shares. These methods previously
didn't enforce the users permissions. -
Bugfix #2904: Share jail now works properly when accessed as a space
When accessing shares via the virtual share jail we now build correct relative references
before forwarding the requests to the correct storage provider. -
Bugfix #2903: User owncloudsql now uses the correct userid
-
Change #2920: Clean up the propfind code
Cleaned up the ocdav propfind code to make it more readable.
-
Change #2913: Rename ocs parameter "space_ref"
We decided to deprecate the parameter "space_ref". We decided to use "space" parameter
instead. The difference is that "space" must not contain a "path". The "path" parameter can be
used in combination with "space" to create a relative path request -
Enhancement #2919: EOS Spaces implementation
-
Enhancement #2888: Introduce spaces field mask
We now use a field mask to select which properties to retrieve when looking up storage spaces.
This allows the gateway to only ask forroot
when trying to forward id or path based requests. -
Enhancement #2922: Refactor webdav error handling
We made more webdav handlers return a status code and error to unify error rendering
v2.4.1
Changelog for reva 2.4.1 (2022-05-24)
The following sections list the changes in reva 2.4.1 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2891: Add missing http status code
Details
v2.4.0
Changelog for reva 2.4.0 (2022-05-24)
The following sections list the changes in reva 2.4.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2854: Handle non uuid space and nodeid in decomposedfs
- Fix #2853: Filter CS3 share manager listing
- Fix #2868: Actually remove blobs when purging
- Fix #2882: Fix FileUploaded event being emitted too early
- Fix #2848: Fix storage id in the references in the ItemTrashed events
- Fix #2852: Fix rcbox dependency on reva 1.18
- Fix #3505: Fix creating a new file with wopi
- Fix #2885: Move stat out of usershareprovider
- Fix #2883: Fix role consideration when updating a share
- Fix #2864: Fix Grant Space IDs
- Fix #2870: Update quota calculation
- Fix #2876: Fix version number in status page
- Fix #2829: Don't include versions in quota
- Chg #2856: Do not allow to edit disabled spaces
- Enh #3741: Add download endpoint to ocdav versions API
- Enh #2884: Show mounted shares in virtual share jail root
- Enh #2792: Use storageproviderid for spaces routing
Details
-
Bugfix #2854: Handle non uuid space and nodeid in decomposedfs
The decomposedfs no longer panics when trying to look up spaces with a non uuid length id.
-
Bugfix #2853: Filter CS3 share manager listing
The cs3 share manager driver now correctly filters user and group queries
-
Bugfix #2868: Actually remove blobs when purging
Blobs were not being deleted properly on purge. Now if a folder gets purged all its children will
be deleted -
Bugfix #2882: Fix FileUploaded event being emitted too early
We fixed a problem where the FileUploaded event was emitted before the upload had actually
finished. -
Bugfix #2848: Fix storage id in the references in the ItemTrashed events
-
Bugfix #2852: Fix rcbox dependency on reva 1.18
The cbox package no longer depends on reva 1.18.
-
Bugfix #3505: Fix creating a new file with wopi
Fixed a bug in the appprovider which prevented creating new files.
-
Bugfix #2885: Move stat out of usershareprovider
The sharesstorageprovider now only stats the acceptet shares when necessary.
-
Bugfix #2883: Fix role consideration when updating a share
Previously when updating a share the endpoint only considered the permissions, now this also
respects a given role. -
Bugfix #2864: Fix Grant Space IDs
The opaqueID for a grant space was incorrectly overwritten with the root space id.
-
Bugfix #2870: Update quota calculation
We now render the
free
anddefinition
quota properties, taking into account the remaining
bytes reported from the storage space and calculatingrelative
only when possible. -
Bugfix #2876: Fix version number in status page
We needed to undo the version number changes on the status page to keep compatibility for legacy
clients. We added a new fieldproductversion
for the actual version of the product. -
Bugfix #2829: Don't include versions in quota
Fixed the quota check to not count the quota of previous versions.
-
Change #2856: Do not allow to edit disabled spaces
Previously managers could still upload to disabled spaces. This is now forbidden
-
Enhancement #3741: Add download endpoint to ocdav versions API
Added missing endpoints to the ocdav versions API. This enables downloads of previous file
versions. -
Enhancement #2884: Show mounted shares in virtual share jail root
The virtual share jail now shows the mounted shares to allow the desktop client to sync that
collection. -
Enhancement #2792: Use storageproviderid for spaces routing
We made the spaces registry aware of storageprovider ids and use them to route directly to the
correct storageprovider
v2.3.1
Changelog for reva 2.3.1 (2022-05-08)
The following sections list the changes in reva 2.3.1 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2827: Check permissions when deleting spaces
- Fix #2830: Correctly render response when accepting merged shares
- Fix #2831: Fix uploads to owncloudsql storage when no mtime is provided
- Enh #2833: Make status.php values configurable
- Enh #2832: Add version option for ocdav go-micro service
Details
-
Bugfix #2827: Check permissions when deleting spaces
Do not allow viewers and editors to delete a space (you need to be manager) Block deleting a space
via dav service (should use graph to avoid accidental deletes) -
Bugfix #2830: Correctly render response when accepting merged shares
We now only return the data for the accepted share instead of concatenating data for all
affected shares. -
Bugfix #2831: Fix uploads to owncloudsql storage when no mtime is provided
We've fixed uploads to owncloudsql storage when no mtime is provided. We now just use the
current timestamp. Previously the upload did fail. -
Enhancement #2833: Make status.php values configurable
We've added an option to set the status values for
product
,productname
,version
,
versionstring
andedition
. -
Enhancement #2832: Add version option for ocdav go-micro service
We've added an option to set a version for the ocdav go-micro registry. This enables you to set a
version queriable by from the go-micro registry.
v2.3.0
Changelog for reva 2.3.0 (2022-05-02)
The following sections list the changes in reva 2.3.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2693: Support editnew actions from MS Office
- Fix #2588: Dockerfile.revad-ceph to use the right base image
- Fix #2499: Removed check DenyGrant in resource permission
- Fix #2285: Accept new userid idp format
- Fix #2802: Fix the resource id handling for space shares
- Fix #2800: Fix spaceid parsing in spaces trashbin API
- Fix #2608: Respect the tracing_service_name config variable
- Fix #2742: Use exact match in login filter
- Fix #2759: Made uid, gid claims parsing more robust in OIDC auth provider
- Fix #2788: Return the correct file IDs on public link resources
- Fix #2322: Use RFC3339 for parsing dates
- Fix #2784: Disable storageprovider cache for the share jail
- Fix #2555: Fix site accounts endpoints
- Fix #2675: Updates Makefile according to latest go standards
- Fix #2572: Wait for nats server on middleware start
- Chg #2735: Avoid user enumeration
- Chg #2737: Bump go-cs3api
- Chg #2763: Change the oCIS and S3NG storage driver blob store layout
- Chg #2596: Remove hash from public link urls
- Chg #2785: Implement workaround for chi.RegisterMethod
- Chg #2559: Do not encode webDAV ids to base64
- Chg #2740: Rename oc10 share manager driver
- Chg #2561: Merge oidcmapping auth manager into oidc
- Enh #2698: Make capabilities endpoint public, authenticate users is present
- Enh #2515: Enabling tracing by default if not explicitly disabled
- Enh #2686: Features for favorites xattrs in EOS, cache for scope expansion
- Enh #2494: Use sys ACLs for file permissions
- Enh #2522: Introduce events
- Enh #2811: Add event for created directories
- Enh #2798: Add additional fields to events to enable search
- Enh #2790: Fake providerids so API stays stable after beta
- Enh #2685: Enable federated account access
- Enh #1787: Add support for HTTP TPC
- Enh #2799: Add flag to enable unrestriced listing of spaces
- Enh #2560: Mentix PromSD extensions
- Enh #2741: Meta path for user
- Enh #2613: Externalize custom mime types configuration for storage providers
- Enh #2163: Nextcloud-based share manager for pkg/ocm/share
- Enh #2696: Preferences driver refactor and cbox sql implementation
- Enh #2052: New CS3API datatx methods
- Enh #2743: Add capability for public link single file edit
- Enh #2738: Site accounts site-global settings
- Enh #2672: Further Site Accounts improvements
- Enh #2549: Site accounts improvements
- Enh #2795: Add feature flags "projects" and "share_jail" to spaces capability
- Enh #2514: Reuse ocs role objects in other drivers
- Enh #2781: In memory user provider
- Enh #2752: Refactor the rest user and group provider drivers
Details
-
Bugfix #2693: Support editnew actions from MS Office
This fixes the incorrect behavior when creating new xlsx and pptx files, as MS Office supports
the editnew action and it must be used for newly created files instead of the normal edit action. -
Bugfix #2588: Dockerfile.revad-ceph to use the right base image
In Aug2021 https://hub.docker.com/r/ceph/daemon-base was moved to quay.ceph.io and the
builds for this image were failing for some weeks after January. -
Bugfix #2499: Removed check DenyGrant in resource permission
When adding a denial permission
-
Bugfix #2285: Accept new userid idp format
The format for userid idp changed and
this broke the ocmd
tutorial
This PR makes the provider authorizer interceptor accept both the old and the new string
format. -
Bugfix #2802: Fix the resource id handling for space shares
Adapt the space shares to the new id format.
-
Bugfix #2800: Fix spaceid parsing in spaces trashbin API
Added proper space id parsing to the spaces trashbin API endpoint.
-
Bugfix #2608: Respect the tracing_service_name config variable
-
Bugfix #2742: Use exact match in login filter
After the recent config changes the auth-provider was accidently using a substring match for
the login filter. It's no fixed to use an exact match. -
Bugfix #2759: Made uid, gid claims parsing more robust in OIDC auth provider
This fix makes sure the uid and gid claims are defined at init time, and that the necessary
typecasts are performed correctly when authenticating users. A comment was added that in case
the uid/gid claims are missing AND that no mapping takes place, a user entity is returned with
uid = gid = 0. -
Bugfix #2788: Return the correct file IDs on public link resources
Resources in public shares should return the real resourceids from the storage of the owner.
-
Bugfix #2322: Use RFC3339 for parsing dates
We have used the RFC3339 format for parsing dates to be consistent with oC Web.
-
Bugfix #2784: Disable storageprovider cache for the share jail
The share jail should not be cached in the provider cache because it is a virtual collection of
resources from different storage providers. -
Bugfix #2555: Fix site accounts endpoints
This PR fixes small bugs in the site accounts endpoints.
-
Bugfix #2675: Updates Makefile according to latest go standards
Earlier, we were using go get to install packages. Now, we are using go install to install
packages -
Bugfix #2572: Wait for nats server on middleware start
Use a retry mechanism to connect to the nats server when it is not ready yet
-
Change #2735: Avoid user enumeration
Sending PROPFIND requests to
../files/admin
did return a different response than sending
the same request to../files/notexists
. This allowed enumerating users. This response was
changed to be the same always -
Change #2737: Bump go-cs3api
Bumped version of the go-cs3api
-
Change #2763: Change the oCIS and S3NG storage driver blob store layout
We've optimized the oCIS and S3NG storage driver blob store layout.
For the oCIS storage driver, blobs will now be stored inside the folder of a space, next to the
nodes. This allows admins to easily archive, backup and restore spaces as a whole with UNIX
tooling. We also moved from a single folder for blobs to multiple folders for blobs, to make the
filesystem interactions more performant for large numbers of files.The previous layout on disk looked like this:
partitioned space id | |-- nodes | |-- .. | |-- xx | |-- xx | |-- xx | |-- xx | |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned node id |-- blobs |-- .. |-- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- blob id ``` Now it looks like this: ```markdown |-- spaces | |-- .. | | |-- .. |-- xx |-- xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned space id |-- nodes | |-- .. | |-- xx | |-- xx | |-- xx | |-- xx | |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned node id |-- blobs |-- .. |-- xx |-- xx |-- xx |-- xx |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned blob id ``` For the S3NG storage driver, blobs will now be prefixed with the space id and also a part of the blob id will be used as prefix. This creates a better prefix partitioning and mitigates S3 api performance drops for large buckets (https://aws.amazon.com/de/premiumsupport/knowledge-center/s3-prefix-nested-folders-difference/). The previous S3 bucket (blobs only looked like this): ```markdown |-- .. |-- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- blob id ``` Now it looks like this: ```markdown |-- .. |-- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- space id |-- .. |-- xx |-- xx |-- xx |-- xx |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned blob id ``` https://github.com/owncloud/ocis/issues/3557 https://github.com/cs3org/reva/pull/2763
-
Change #2596: Remove hash from public link urls
Public link urls do not contain the hash anymore, this is needed to support the ocis and web
history mode. -
Change #2785: Implement workaround for chi.RegisterMethod
Implemented a workaround for
chi.RegisterMethod
because of a concurrent map read write
issue. This needs to be fixed upstream in go-chi. -
Change #2559: Do not encode webDAV ids to base64
We removed the base64 encoding of the IDs and use the format ! with a
!
delimiter. As a reserved delimiter it is URL safe. The IDs will be XML and JSON encoded as
necessary. -
Change #2740: Rename oc10 share manager driver
We aligned the oc10 SQL share manager driver name with all other owncloud spacific SQL drivers
by renaming the packagepkg/share/manager/sql
to `pkg/...
v2.2.0
Changelog for reva 2.2.0 (2022-04-12)
The following sections list the changes in reva 2.2.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #3373: Fix the permissions attribute in propfind responses
- Fix #2721: Fix locking and public link scope checker to make the WOPI server work
- Fix #2668: Minor cleanup
- Fix #2692: Ensure that the host in the ocs config endpoint has no protocol
- Fix #2709: Decomposed FS: return precondition failed if already locked
- Chg #2687: Allow link with no or edit permission
- Chg #2658: Small clean up of the ocdav code
- Enh #2691: Decomposed FS: return a reference to the parent
- Enh #2708: Rework LDAP configuration of user and group providers
- Enh #2665: Add embeddable ocdav go micro service
- Enh #2715: Introduced quicklinks
- Enh #3370: Enable all spaces members to list public shares
- Enh #3370: Enable space members to list shares inside the space
- Enh #2717: Add definitions for user and group events
Details
-
Bugfix #3373: Fix the permissions attribute in propfind responses
Fixed the permissions that are returned when doing a propfind on a project space.
-
Bugfix #2721: Fix locking and public link scope checker to make the WOPI server work
We've fixed the locking implementation to use the CS3api instead of the temporary opaque
values. We've fixed the scope checker on public links to allow the OpenInApp actions.These fixes have been done to use the cs3org/wopiserver with REVA edge.
-
Bugfix #2668: Minor cleanup
- The
chunk_folder
config option is unused - Prevent a panic when looking up spaces
- The
-
Bugfix #2692: Ensure that the host in the ocs config endpoint has no protocol
We've fixed the host info in the ocs config endpoint so that it has no protocol, as ownCloud 10
doesn't have it. -
Bugfix #2709: Decomposed FS: return precondition failed if already locked
We've fixed the return code from permission denied to precondition failed if a user tries to
lock an already locked file. -
Change #2687: Allow link with no or edit permission
Allow the creation of links with no permissions. These can be used to navigate to a file that a
user has access to. Allow setting edit permission on single file links (create and delete are
still blocked) Introduce endpoint to get information about a given token -
Change #2658: Small clean up of the ocdav code
Cleaned up the ocdav code to make it more readable and in one case a bit faster.
-
Enhancement #2691: Decomposed FS: return a reference to the parent
We've implemented the changes from cs3org/cs3apis#167 in the DecomposedFS, so that a stat on a
resource always includes a reference to the parent of the resource. -
Enhancement #2708: Rework LDAP configuration of user and group providers
We reworked to LDAP configuration of the LDAP user and group provider to share a common
configuration scheme. Additionally the LDAP configuration no longer relies on templating
LDAP filters in the configuration which is error prone and can be confusing. Additionally the
providers are now somewhat more flexible about the group membership schema. Instead of only
supporting RFC2307 (posixGroup) style groups. It's now possible to also use standard LDAP
groups (groupOfName/groupOfUniqueNames) which track group membership by DN instead of
username (the behaviour is switched automatically depending on the group_objectclass
setting).The new LDAP configuration basically looks this:
insecure=true user_base_dn="ou=testusers,dc=owncloud,dc=com" group_base_dn="ou=testgroups,dc=owncloud,dc=com" user_filter="" user_objectclass="posixAccount" group_filter="" group_objectclass="posixGroup" bind_username="cn=admin,dc=owncloud,dc=com" bind_password="admin" idp="http://localhost:20080" [grpc.services.userprovider.drivers.ldap.user_schema] id="entryuuid" displayName="displayName" userName="cn" [grpc.services.userprovider.drivers.ldap.group_schema] id="entryuuid" displayName="cn" groupName="cn" member="memberUID" ``` `uri` defines the LDAP URI of the destination Server `insecure` allows to disable TLS Certifictate Validation (for development setups) `user_base_dn`/`group_base_dn` define the search bases for users and groups `user_filter`/`group_filter` allow to define additional LDAP filter of users and groups. This could be e.g. `(objectclass=owncloud)` to match for an additional objectclass. `user_objectclass`/`group_objectclass` define the main objectclass of Users and Groups. These are used to construct the LDAP filters `bind_username`/`bind_password` contain the authentication information for the LDAP connections The `user_schema` and `group_schema` sections define the mapping from CS3 user/group attributes to LDAP Attributes https://github.com/cs3org/reva/issues/2122 https://github.com/cs3org/reva/issues/2124 https://github.com/cs3org/reva/pull/2708
-
Enhancement #2665: Add embeddable ocdav go micro service
The new
pkg/micro/ocdav
package implements a go micro compatible version of the ocdav
service. -
Enhancement #2715: Introduced quicklinks
We now support Quicklinks. When creating a link with flag "quicklink=true", no new link will be
created when a link already exists. -
Enhancement #3370: Enable all spaces members to list public shares
Enhanced the json and cs3 public share manager so that it lists shares in spaces for all members.
-
Enhancement #3370: Enable space members to list shares inside the space
If there are shared resources in a space then all members are allowed to see those shares. The
json share manager was enhanced to check if the user is allowed to see a share by checking the
grants on a resource. -
Enhancement #2717: Add definitions for user and group events
Enhance the events package with definitions for user and group events.
v2.1.0
Changelog for reva 2.1.0 (2022-03-29)
The following sections list the changes in reva 2.1.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2636: Delay reconnect log for events
- Fix #2645: Avoid warning about missing .flock files
- Fix #2625: Fix locking on publik links and the decomposed filesystem
- Fix #2643: Emit linkaccessfailed event when share is nil
- Fix #2646: Replace public mountpoint fileid with grant fileid in ocdav
- Fix #2612: Adjust the scope handling to support the spaces architecture
- Fix #2621: Send events only if response code is
OK
- Chg #2574: Switch NATS backend
- Chg #2667: Allow LDAP groups to have no gidNumber
- Chg #3233: Improve quota handling
- Chg #2600: Use the cs3 share api to manage spaces
- Enh #2644: Add new public share manager
- Enh #2626: Add new share manager
- Enh #2624: Add etags to virtual spaces
- Enh #2639: File Events
- Enh #2627: Add events for sharing action
- Enh #2664: Add grantID to mountpoint
- Enh #2622: Allow listing shares in spaces via the OCS API
- Enh #2623: Add space aliases
- Enh #2647: Add space specific events
- Enh #3345: Add the spaceid to propfind responses
- Enh #2616: Add etag to spaces response
- Enh #2628: Add spaces aware trash-bin API
Details
-
Bugfix #2636: Delay reconnect log for events
Print reconnect information log only when reconnect time is bigger than a second
-
Bugfix #2645: Avoid warning about missing .flock files
These flock files appear randomly because of file locking. We can savely ignore them.
-
Bugfix #2625: Fix locking on publik links and the decomposed filesystem
We've fixed the behavior of locking on the decomposed filesystem, so that now app based locks
can be modified user independently (needed for WOPI integration). Also we added a check, if a
lock is already expired and if so, we lazily delete the lock. The InitiateUploadRequest now
adds the Lock to the upload metadata so that an upload to an locked file is possible.We'v added the locking api requests to the public link scope checks, so that locking also can be
used on public links (needed for WOPI integration). -
Bugfix #2643: Emit linkaccessfailed event when share is nil
The code no longer panics when a link access failed event has no share.
-
Bugfix #2646: Replace public mountpoint fileid with grant fileid in ocdav
We now show the same resoucre id for resources when accessing them via a public links as when
using a logged in user. This allows the web ui to start a WOPI session with the correct resource
id. -
Bugfix #2612: Adjust the scope handling to support the spaces architecture
The scope authentication interceptors weren't updated to the spaces architecture and
couldn't authenticate some requests. -
Bugfix #2621: Send events only if response code is
OK
Before events middleware was sending events also when the resulting status code was not
OK
.
This is clearly a bug. -
Change #2574: Switch NATS backend
We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is
depreciated. -
Change #2667: Allow LDAP groups to have no gidNumber
Similar to the user-provider allow a group to have no gidNumber. Assign a default in that case.
-
Change #3233: Improve quota handling
GetQuota now returns 0 when no quota was set instead of the disk size. Also added a new return
value for the remaining space which will either be quota - used bytes or if no quota was set the
free disk size. -
Change #2600: Use the cs3 share api to manage spaces
We now use the cs3 share Api to manage the space roles. We do not send the request to the share
manager, the permissions are stored in the storage provider -
Enhancement #2644: Add new public share manager
We added a new public share manager which uses the new metadata storage backend for persisting
the public share information. -
Enhancement #2626: Add new share manager
We added a new share manager which uses the new metadata storage backend for persisting the
share information. -
Enhancement #2624: Add etags to virtual spaces
The shares storage provider didn't include the etag in virtual spaces like the shares jail or
mountpoints. -
Enhancement #2639: File Events
Adds file based events. See
pkg/events/files.go
for full list -
Enhancement #2627: Add events for sharing action
Includes lifecycle events for shares and public links doesn't include federated sharing
events for now see full list of events inpkg/events/types.go
-
Enhancement #2664: Add grantID to mountpoint
We distinguish between the mountpoint of a share and the grant where the original file is
located on the storage. -
Enhancement #2622: Allow listing shares in spaces via the OCS API
Added a
space_ref
parameter to the list shares endpoints so that one can list shares inside of
spaces. -
Enhancement #2623: Add space aliases
Space aliases can be used to resolve spaceIDs in a client.
-
Enhancement #2647: Add space specific events
See
pkg/events/spaces.go
for full list -
Enhancement #3345: Add the spaceid to propfind responses
Added the spaceid to propfind responses so that clients have the necessary data to send
subsequent requests. -
Enhancement #2616: Add etag to spaces response
Added the spaces etag to the response when listing spaces.
-
Enhancement #2628: Add spaces aware trash-bin API
Added the webdav trash-bin endpoint for spaces.
v2.0.0
Changelog for reva 2.0.0 (2022-03-03)
The following sections list the changes in reva 2.0.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2457: Do not swallow error
- Fix #2422: Handle non existing spaces correctly
- Fix #2327: Enable changelog on edge branch
- Fix #2370: Fixes for apps in public shares, project spaces for EOS driver
- Fix #2464: Pass spacegrants when adding member to space
- Fix #2430: Fix aggregated child folder id
- Fix #2348: Make archiver handle spaces protocol
- Fix #2452: Fix create space error message
- Fix #2445: Don't handle ids containing "/" in decomposedfs
- Fix #2285: Accept new userid idp format
- Fix #2503: Remove the protection from /v?.php/config endpoints
- Fix #2462: Public shares path needs to be set
- Fix #2427: Fix registry caching
- Fix #2298: Remove share refs from trashbin
- Fix #2433: Fix shares provider filter
- Fix #2351: Fix Statcache removing
- Fix #2374: Fix webdav copy of zero byte files
- Fix #2336: Handle sending all permissions when creating public links
- Fix #2440: Add ArbitraryMetadataKeys to statcache key
- Fix #2582: Keep lock structs in a local map protected by a mutex
- Fix #2372: Make owncloudsql work with the spaces registry
- Fix #2416: The registry now returns complete space structs
- Fix #3066: Fix propfind listing for files
- Fix #2428: Remove unused home provider from config
- Fix #2334: Revert fix decomposedfs upload
- Fix #2415: Services should never return transport level errors
- Fix #2419: List project spaces for share recipients
- Fix #2501: Fix spaces stat
- Fix #2432: Use space reference when listing containers
- Fix #2572: Wait for nats server on middleware start
- Fix #2454: Fix webdav paths in PROPFINDS
- Chg #2329: Activate the statcache
- Chg #2596: Remove hash from public link urls
- Chg #2495: Remove the ownCloud storage driver
- Chg #2527: Store space attributes in decomposedFS
- Chg #2581: Update hard-coded status values
- Chg #2524: Use description during space creation
- Chg #2554: Shard nodes per space in decomposedfs
- Chg #2576: Harden xattrs errors
- Chg #2436: Replace template in GroupFilter for UserProvider with a simple string
- Chg #2429: Make archiver id based
- Chg #2340: Allow multiple space configurations per provider
- Chg #2396: The ocdav handler is now spaces aware
- Chg #2349: Require
ListRecycle
when listing trashbin - Chg #2353: Reduce log output
- Chg #2542: Do not encode webDAV ids to base64
- Chg #2519: Remove the auto creation of the .space folder
- Chg #2394: Remove logic from gateway
- Chg #2023: Add a sharestorageprovider
- Chg #2234: Add a spaces registry
- Chg #2339: Fix static registry regressions
- Chg #2370: Fix static registry regressions
- Chg #2354: Return not found when updating non existent space
- Chg #2589: Remove deprecated linter modules
- Chg #2016: Move wrapping and unwrapping of paths to the storage gateway
- Enh #2591: Set up App Locks with basic locks
- Enh #1209: Reva CephFS module v0.2.1
- Enh #2511: Error handling cleanup in decomposed FS
- Enh #2516: Cleaned up some code
- Enh #2512: Consolidate xattr setter and getter
- Enh #2341: Use CS3 permissions API
- Enh #2343: Allow multiple space type fileters on decomposedfs
- Enh #2460: Add locking support to decomposedfs
- Enh #2540: Refactored the xattrs package in the decomposedfs
- Enh #2463: Do not log whole nodes
- Enh #2350: Add file locking methods to the storage and filesystem interfaces
- Enh #2379: Add new file url of the app provider to the ocs capabilities
- Enh #2369: Implement TouchFile from the CS3apis
- Enh #2385: Allow to create new files with the app provider on public links
- Enh #2397: Product field in OCS version
- Enh #2393: Update tus/tusd to version 1.8.0
- Enh #2522: Introduce events
- Enh #2528: Use an exclcusive write lock when writing multiple attributes
- Enh #2595: Add integration test for the groupprovider
- Enh #2439: Ignore handled errors when creating spaces
- Enh #2500: Invalidate listproviders cache
- Enh #2345: Don't assume that the LDAP groupid in reva matches the name
- Enh #2525: Allow using AD UUID as userId values
- Enh #2584: Allow running userprovider integration tests for the LDAP driver
- Enh #2585: Add metadata storage layer and indexer
- Enh #2163: Nextcloud-based share manager for pkg/ocm/share
- Enh #2278: OIDC driver changes for lightweight users
- Enh #2315: Add new attributes to public link propfinds
- Enh #2431: Delete shares when purging spaces
- Enh #2434: Refactor ocdav into smaller chunks
- Enh #2524: Add checks when removing space members
- Enh #2457: Restore spaces that were previously deleted
- Enh #2498: Include grants in list storage spaces response
- Enh #2344: Allow listing all storage spaces
- Enh #2547: Add an if-match check to the storage provider
- Enh #2486: Update cs3apis to include lock api changes
- Enh #2526: Upgrade ginkgo to v2
Details
-
Bugfix #2457: Do not swallow error
Decomposedfs not longer swallows errors when creating a node fails.
-
Bugfix #2422: Handle non existing spaces correctly
When looking up a space by id we returned the wrong status code.
-
Bugfix #2327: Enable changelog on edge branch
We added a
branch
flag to thetools/check-changelog/main.go
to fix changelog checks on
the edge branch. -
Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver
-
Bugfix #2464: Pass spacegrants when adding member to space
When creating a space grant there should not be created a new space. Unfortunately SpaceGrant
didn't work when adding members to a space. Now a value is placed in the ctx of the
storageprovider on which decomposedfs reacts -
Bugfix #2430: Fix aggregated child folder id
Propfind now returns the correct id and correctly aggregates the mtime and etag.
-
Bugfix #2348: Make archiver handle spaces protocol
The archiver can now handle the spaces protocol
-
Bugfix #2452: Fix create space error message
Create space no longer errors with list spaces error messages.
-
Bugfix #2445: Don't handle ids containing "/" in decomposedfs
The storageprovider previously checked all ids without checking their validity this lead to
flaky test because it shouldn't check ids that are used from the public storage provider -
Bugfix #2285: Accept new userid idp format
The format for userid idp changed and
this broke the ocmd
tutorial
This PR makes the provider authorizer interceptor accept both the old and the new string
format. -
Bugfix #2503: Remove the protection from /v?.php/config endpoints
We've removed the protection from the "/v1.php/config" and "/v2.php/config" endpoints to be
API compatible with ownCloud 10. -
Bugfix #2462: Public shares path needs to be set
We need to set the relative path to the space root for public link shares to identify them in the
shares list. -
Bugfix #2427: Fix registry caching
We now cache space lookups per user.
-
Bugfix #2298: Remove share refs from trashbin
-
Bugfix #2433: Fix shares provider filter
The shares storage provider now correctly filters space types
-
Bugfix #2351: Fix Statcache removing
Removing from statcache didn't work correctly with different setups. Unified and fixed
-
Bugfix #2374: Fix webdav copy of zero byte files
We've fixed the webdav copy action of zero byte files, which was not performed because the
webdav api assumed, that zero byte uploads are created when initiating the upload, which was
recently removed from all storage drivers. Therefore the webdav api also uploads zero byte
files after initiating the upload. -
Bugfix #2336: Handle sending all permissions when creating public links
For backwards compatability we now reduce permissions to readonly when a create public link
carries all permissions. -
Bugfix #2440: Add ArbitraryMetadataKeys to statcache key
Otherwise stating with and without them would return the same result (because it is cached)
-
Bugfix #2582: Keep lock structs in a local map protected by a mutex
Make sure that only one go routine or process can get the lock.
-
Bugfix #2372: Make owncloudsql work with the spaces registry
Owncloudsql now works properly with the spaces registry.
-
Bugfix #2416: The registry now returns complete space structs
We now return the complete space info, including name, path, owner, etc. instead of only path
and id. -
Bugfix #3066: Fix propfind li...
v1.18.0
Changelog for reva 1.18.0 (2022-02-11)
The following sections list the changes in reva 1.18.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #2370: Fixes for apps in public shares, project spaces for EOS driver
- Fix #2374: Fix webdav copy of zero byte files
- Fix #2478: Use ocs permission objects in the reva GRPC client
- Fix #2368: Return wrapped paths for recycled items in storage provider
- Chg #2354: Return not found when updating non existent space
- Enh #1209: Reva CephFS module v0.2.1
- Enh #2341: Use CS3 permissions API
- Enh #2350: Add file locking methods to the storage and filesystem interfaces
- Enh #2379: Add new file url of the app provider to the ocs capabilities
- Enh #2369: Implement TouchFile from the CS3apis
- Enh #2385: Allow to create new files with the app provider on public links
- Enh #2397: Product field in OCS version
- Enh #2393: Update tus/tusd to version 1.8.0
- Enh #2205: Modify group and user managers to skip fetching specified metadata
- Enh #2232: Make ocs resource info cache interoperable across drivers
- Enh #2233: Populate owner data in the ocs and ocdav services
- Enh #2278: OIDC driver changes for lightweight users
Details
-
Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver
-
Bugfix #2374: Fix webdav copy of zero byte files
We've fixed the webdav copy action of zero byte files, which was not performed because the
webdav api assumed, that zero byte uploads are created when initiating the upload, which was
recently removed from all storage drivers. Therefore the webdav api also uploads zero byte
files after initiating the upload. -
Bugfix #2478: Use ocs permission objects in the reva GRPC client
There was a bug introduced by differing CS3APIs permission definitions for the same role
across services. This is a first step in making all services use consistent definitions. -
Bugfix #2368: Return wrapped paths for recycled items in storage provider
-
Change #2354: Return not found when updating non existent space
If a spaceid of a space which is updated doesn't exist, handle it as a not found error.
-
Enhancement #1209: Reva CephFS module v0.2.1
-
Enhancement #2341: Use CS3 permissions API
Added calls to the CS3 permissions API to the decomposedfs in order to check the user
permissions. -
Enhancement #2350: Add file locking methods to the storage and filesystem interfaces
We've added the file locking methods from the CS3apis to the storage and filesystem
interfaces. As of now they are dummy implementations and will only return "unimplemented"
errors. -
Enhancement #2379: Add new file url of the app provider to the ocs capabilities
We've added the new file capability of the app provider to the ocs capabilities, so that clients
can discover this url analogous to the app list and file open urls. -
Enhancement #2369: Implement TouchFile from the CS3apis
We've updated the CS3apis and implemented the TouchFile method.
-
Enhancement #2385: Allow to create new files with the app provider on public links
We've added the option to create files with the app provider on public links.
-
Enhancement #2397: Product field in OCS version
We've added a new field to the OCS Version, which is supposed to announce the product name. The
web ui as a client will make use of it to make the backend product and version available (e.g. for
easier bug reports). -
Enhancement #2393: Update tus/tusd to version 1.8.0
We've update tus/tusd to version 1.8.0.
-
Enhancement #2205: Modify group and user managers to skip fetching specified metadata
-
Enhancement #2232: Make ocs resource info cache interoperable across drivers
-
Enhancement #2233: Populate owner data in the ocs and ocdav services
-
Enhancement #2278: OIDC driver changes for lightweight users