Skip to content

Releases: cs3org/reva

v2.5.1

08 Jun 12:27
f56e59c
Compare
Choose a tag to compare

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

  • Fix #2931: Allow listing share jail space
  • Fix #3704: Fix propfinds with depth 0

Details

  • Bugfix #2931: Allow listing share jail space

    Clients can now list the share jail content via PROPFIND /dav/spaces/{sharejailid}

    #2931

  • Bugfix #3704: Fix propfinds with depth 0

    Fixed the response for propfinds with depth 0. The response now doesn't contain the shares jail
    anymore.

    owncloud/ocis#3704
    #2918

v2.5.0

07 Jun 16:33
9c6c4a6
Compare
Choose a tag to compare

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.

    #2909

  • Bugfix #2899: Empty meta requests should return body

    Meta requests with no resourceID should return a multistatus response body with a 404 part.

    #2899

  • Bugfix #2928: Fix mkcol response code

    We now return the correct response code when an mkcol fails.

    #2928

  • 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.

    #2907

  • Bugfix #3810: Fix unlimitted quota in spaces

    Fixed the quota check when unlimitting a space, i.e. when setting the quota to "0".

    owncloud/ocis#3810
    #2895

  • 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.

    owncloud/ocis#3498
    #3900

  • 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.

    #2904

  • Bugfix #2903: User owncloudsql now uses the correct userid

    #2903

  • Change #2920: Clean up the propfind code

    Cleaned up the ocdav propfind code to make it more readable.

    #2920

  • 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

    #2913

  • Enhancement #2919: EOS Spaces implementation

    #2919

  • 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 for root when trying to forward id or path based requests.

    #2888

  • Enhancement #2922: Refactor webdav error handling

    We made more webdav handlers return a status code and error to unify error rendering

    #2922

v2.4.1

24 May 18:28
v2.4.1
354aebb
Compare
Choose a tag to compare

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

  • Bugfix #2891: Add missing http status code

    This Fix adds a missing status code to the InsufficientStorage error in reva, to allow tus to
    pass it through.

    #2891

v2.4.0

24 May 09:07
v2.4.0
3b1a5f1
Compare
Choose a tag to compare

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.

    #2854

  • Bugfix #2853: Filter CS3 share manager listing

    The cs3 share manager driver now correctly filters user and group queries

    #2853

  • 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

    #2868

  • 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.

    #2882

  • Bugfix #2848: Fix storage id in the references in the ItemTrashed events

    #2848

  • Bugfix #2852: Fix rcbox dependency on reva 1.18

    The cbox package no longer depends on reva 1.18.

    #2852

  • Bugfix #3505: Fix creating a new file with wopi

    Fixed a bug in the appprovider which prevented creating new files.

    owncloud/ocis#3505
    #2869

  • Bugfix #2885: Move stat out of usershareprovider

    The sharesstorageprovider now only stats the acceptet shares when necessary.

    #2885

  • 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.

    #2883

  • Bugfix #2864: Fix Grant Space IDs

    The opaqueID for a grant space was incorrectly overwritten with the root space id.

    #2864

  • Bugfix #2870: Update quota calculation

    We now render the free and definition quota properties, taking into account the remaining
    bytes reported from the storage space and calculating relative only when possible.

    #2870

  • 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 field productversion for the actual version of the product.

    #2876
    #2889

  • Bugfix #2829: Don't include versions in quota

    Fixed the quota check to not count the quota of previous versions.

    owncloud/ocis#2829
    #2863

  • Change #2856: Do not allow to edit disabled spaces

    Previously managers could still upload to disabled spaces. This is now forbidden

    #2856

  • Enhancement #3741: Add download endpoint to ocdav versions API

    Added missing endpoints to the ocdav versions API. This enables downloads of previous file
    versions.

    owncloud/ocis#3741
    #2855

  • 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.

    owncloud/ocis#3719
    #2884

  • 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

    #2792

v2.3.1

08 May 19:40
v2.3.1
c5b8bbc
Compare
Choose a tag to compare

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)

    #2827

  • 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.

    #2830

  • 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.

    #2831

  • Enhancement #2833: Make status.php values configurable

    We've added an option to set the status values for product, productname, version,
    versionstring and edition.

    #2833

  • 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.

    #2832

v2.3.0

04 May 15:02
v2.3.0
7e57136
Compare
Choose a tag to compare

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.

    #2693

  • 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.

    #2588

  • Bugfix #2499: Removed check DenyGrant in resource permission

    When adding a denial permission

    #2499

  • 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.

    #2285
    #2285
    See
    and

  • Bugfix #2802: Fix the resource id handling for space shares

    Adapt the space shares to the new id format.

    #2802

  • Bugfix #2800: Fix spaceid parsing in spaces trashbin API

    Added proper space id parsing to the spaces trashbin API endpoint.

    #2800

  • Bugfix #2608: Respect the tracing_service_name config variable

    #2608

  • 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.

    #2742

  • 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.

    #2759

  • 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.

    #2788

  • Bugfix #2322: Use RFC3339 for parsing dates

    We have used the RFC3339 format for parsing dates to be consistent with oC Web.

    #2322
    #2744

  • 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.

    #2784

  • Bugfix #2555: Fix site accounts endpoints

    This PR fixes small bugs in the site accounts endpoints.

    #2555

  • 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

    #2675
    #2747

  • 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

    #2572

  • 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

    #2735

  • Change #2737: Bump go-cs3api

    Bumped version of the go-cs3api

    #2737

  • 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.

    #2596
    owncloud/ocis#3109
    owncloud/web#6363

  • 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.

    #2785

  • 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.

    #2559

  • 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 package pkg/share/manager/sql to `pkg/...

Read more

v2.2.0

12 Apr 10:06
v2.2.0
75e4529
Compare
Choose a tag to compare

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.

    owncloud/ocis#3373
    #2713

  • 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.

    #2721

  • Bugfix #2668: Minor cleanup

    • The chunk_folder config option is unused - Prevent a panic when looking up spaces

    #2668

  • 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.

    #2692
    owncloud/ocis#3113

  • 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.

    #2709

  • 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

    #2687

  • 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.

    #2658

  • 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.

    #2691

  • 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.

    #2665

  • 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.

    #2715

  • 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.

    owncloud/ocis#3370
    #2697

  • 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.

    owncloud/ocis#3370
    #2674
    #2710

  • Enhancement #2717: Add definitions for user and group events

    Enhance the events package with definitions for user and group events.

    #2717
    #2724

v2.1.0

29 Mar 07:44
v2.1.0
d0e65a6
Compare
Choose a tag to compare

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

    #2636

  • Bugfix #2645: Avoid warning about missing .flock files

    These flock files appear randomly because of file locking. We can savely ignore them.

    #2645

  • 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).

    #2625

  • Bugfix #2643: Emit linkaccessfailed event when share is nil

    The code no longer panics when a link access failed event has no share.

    #2643

  • 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.

    #2635
    #2646

  • 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.

    #2612

  • 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.

    #2621

  • Change #2574: Switch NATS backend

    We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is
    depreciated.

    #2574

  • 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.

    #2667

  • 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.

    owncloud/ocis#3233
    #2666
    #2688

  • 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

    #2600
    #2620
    #2687

  • 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.

    #2644

  • Enhancement #2626: Add new share manager

    We added a new share manager which uses the new metadata storage backend for persisting the
    share information.

    #2626

  • 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.

    #2624

  • Enhancement #2639: File Events

    Adds file based events. See pkg/events/files.go for full list

    #2639

  • 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 in pkg/events/types.go

    #2627

  • 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.

    #2664

  • 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.

    #2622

  • Enhancement #2623: Add space aliases

    Space aliases can be used to resolve spaceIDs in a client.

    #2623

  • Enhancement #2647: Add space specific events

    See pkg/events/spaces.go for full list

    #2647

  • 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.

    owncloud/ocis#3345
    #2657

  • Enhancement #2616: Add etag to spaces response

    Added the spaces etag to the response when listing spaces.

    #2616

  • Enhancement #2628: Add spaces aware trash-bin API

    Added the webdav trash-bin endpoint for spaces.

    #2628

v2.0.0

03 Mar 14:05
v2.0.0
282bc4b
Compare
Choose a tag to compare

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.

    #2457

  • Bugfix #2422: Handle non existing spaces correctly

    When looking up a space by id we returned the wrong status code.

    #2422

  • Bugfix #2327: Enable changelog on edge branch

    We added a branch flag to the tools/check-changelog/main.go to fix changelog checks on
    the edge branch.

    #2327

  • Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver

    #2370

  • 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

    #2464

  • Bugfix #2430: Fix aggregated child folder id

    Propfind now returns the correct id and correctly aggregates the mtime and etag.

    #2430

  • Bugfix #2348: Make archiver handle spaces protocol

    The archiver can now handle the spaces protocol

    #2348

  • Bugfix #2452: Fix create space error message

    Create space no longer errors with list spaces error messages.

    #2452

  • 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

    #2445

  • 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.

    #2285
    #2285
    See
    and

  • 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.

    #2503
    owncloud/ocis#1338

  • 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.

    owncloud/ocis#2462
    #2580

  • Bugfix #2427: Fix registry caching

    We now cache space lookups per user.

    #2427

  • Bugfix #2298: Remove share refs from trashbin

    #2298

  • Bugfix #2433: Fix shares provider filter

    The shares storage provider now correctly filters space types

    #2433

  • Bugfix #2351: Fix Statcache removing

    Removing from statcache didn't work correctly with different setups. Unified and fixed

    #2351

  • 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.

    #2374
    #2309

  • 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.

    #2336
    owncloud/ocis#1269

  • Bugfix #2440: Add ArbitraryMetadataKeys to statcache key

    Otherwise stating with and without them would return the same result (because it is cached)

    #2440

  • 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.

    #2582

  • Bugfix #2372: Make owncloudsql work with the spaces registry

    Owncloudsql now works properly with the spaces registry.

    #2372

  • 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.

    #2416

  • Bugfix #3066: Fix propfind li...

Read more

v1.18.0

11 Feb 08:58
Compare
Choose a tag to compare

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

    #2370

  • 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.

    #2374
    #2309

  • 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.

    #2478

  • Bugfix #2368: Return wrapped paths for recycled items in storage provider

    #2368

  • 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.

    #2354

  • Enhancement #1209: Reva CephFS module v0.2.1

    #1209

  • Enhancement #2341: Use CS3 permissions API

    Added calls to the CS3 permissions API to the decomposedfs in order to check the user
    permissions.

    #2341

  • 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.

    #2350
    cs3org/cs3apis#160

  • 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.

    #2379
    owncloud/ocis#2884
    owncloud/web#5890 (comment)

  • Enhancement #2369: Implement TouchFile from the CS3apis

    We've updated the CS3apis and implemented the TouchFile method.

    #2369
    cs3org/cs3apis#154

  • 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.

    #2385

  • 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).

    #2397

  • Enhancement #2393: Update tus/tusd to version 1.8.0

    We've update tus/tusd to version 1.8.0.

    #2393
    #2224

  • Enhancement #2205: Modify group and user managers to skip fetching specified metadata

    #2205

  • Enhancement #2232: Make ocs resource info cache interoperable across drivers

    #2232

  • Enhancement #2233: Populate owner data in the ocs and ocdav services

    #2233

  • Enhancement #2278: OIDC driver changes for lightweight users

    #2278