Skip to content

v1.24.0

Compare
Choose a tag to compare
@github-actions github-actions released this 11 May 14:46
· 242 commits to master since this release

Changelog for reva 1.24.0 (2023-05-11)

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

Summary

  • Fix #3805: Apps: fixed viewMode resolution
  • Fix #3771: Fix files sharing capabilities
  • Fix #3749: Fix persisting updates of received shares in json driver
  • Fix #3723: Fix revad docker images by enabling CGO
  • Fix #3765: Fix create version folder in EOS driver
  • Fix #3786: Fix listing directory for a read-only shares for EOS storage driver
  • Fix #3787: Fix application flag for EOS binary
  • Fix #3780: Fix Makefile error on Ubuntu
  • Fix #3873: Fix parsing of grappa response
  • Fix #3794: Fix unshare for EOS storage driver
  • Fix #3838: Fix upload in a single file share for lightweight accounts
  • Fix #3878: Fix creator/initiator in public and user shares
  • Fix #3813: Fix propfind URL for OCM shares
  • Fix #3770: Fixed default protocol on ocm-share-create
  • Fix #3852: Pass remote share id and shared secret in OCM call
  • Fix #3859: Fix inconsistency between data transfer protocol naming
  • Enh #3847: Update data transfers for current OCM shares implementation
  • Enh #3869: Datatx tutorial
  • Enh #3762: Denial and Resharing Default capabilities
  • Enh #3717: Disable sharing on low level paths
  • Enh #3766: Download file revisions
  • Enh #3733: Add support for static linking
  • Enh #3778: Add support to tag eos traffic
  • Enh #3868: Implement historical way of constructing OCM WebDAV URL
  • Enh #3719: Skip computing groups when fetching all groups from grappa
  • Enh #3783: Updated OCM tutorial
  • Enh #3750: New metadata flags
  • Enh #3839: Support multiple issuer in OIDC auth driver
  • Enh #3772: New OCM discovery endpoint
  • Enh #3619: Tests for invitation manager SQL driver
  • Enh #3757: Support OCM v1.0 schema
  • Enh #3695: Create OCM share from sciencemesh service
  • Enh #3722: List only valid OCM tokens
  • Enh #3821: Revamp user/group drivers and fix user type
  • Enh #3724: Send invitation link from mesh directory
  • Enh #3824: Serverless Services

Details

  • Bugfix #3805: Apps: fixed viewMode resolution

    Currently, the viewMode passed on /app/open is taken without validating the actual user's
    permissions. This PR fixes this.

    #3805

  • Bugfix #3771: Fix files sharing capabilities

    A bug was preventing setting some capabilities (ResharingDefault and DenyAccess) for files
    sharing from the configuration file

    #3771

  • Bugfix #3749: Fix persisting updates of received shares in json driver

    #3749

  • Bugfix #3723: Fix revad docker images by enabling CGO

    #3723

  • Bugfix #3765: Fix create version folder in EOS driver

    In a read only share, a stat could fail, beacause the EOS storage driver was not able to create the
    version folder for a file in case this did not exist. This fixes this bug impersonating the owner
    of the file when creating the version folder.

    #3765

  • Bugfix #3786: Fix listing directory for a read-only shares for EOS storage driver

    In a read-only share, while listing a folder, for resources not having a version folder, the
    returned resource id was wrongly the one of the original file, instead of the version folder.
    This behavior has been fixed, where the version folder is always created on behalf of the
    resource owner.

    #3786

  • Bugfix #3787: Fix application flag for EOS binary

    #3787

  • Bugfix #3780: Fix Makefile error on Ubuntu

    I've fixed Makefile using sh which is defaulted to dash in ubuntu, dash doesn't support [[ ... ]] syntax and Makefile would throw /bin/sh: 1: [[: not found errors.

    #3773
    #3780

  • Bugfix #3873: Fix parsing of grappa response

    #3873

  • Bugfix #3794: Fix unshare for EOS storage driver

    In the EOS storage driver, the remove acl operation was a no-op. After removing a share, the
    recipient of the share was still able to operate on the shared resource. Now this has been fixed,
    removing correctly the ACL from the shared resource.

    #3794

  • Bugfix #3838: Fix upload in a single file share for lightweight accounts

    #3838

  • Bugfix #3878: Fix creator/initiator in public and user shares

    #3878

  • Bugfix #3813: Fix propfind URL for OCM shares

    #3810
    #3813

  • Bugfix #3770: Fixed default protocol on ocm-share-create

    #3770

  • Bugfix #3852: Pass remote share id and shared secret in OCM call

    #3852

  • Bugfix #3859: Fix inconsistency between data transfer protocol naming

    #3858
    #3859

  • Enhancement #3847: Update data transfers for current OCM shares implementation

    #3846
    #3847

  • Enhancement #3869: Datatx tutorial

    #3864
    #3869

  • Enhancement #3762: Denial and Resharing Default capabilities

    #3762

  • Enhancement #3717: Disable sharing on low level paths

    Sharing can be disable in the user share provider for some paths, but the storage provider was
    still sending the sharing permissions for those paths. This adds a config option in the storage
    provider, minimum_allowed_path_level_for_share, to disable sharing permissions for
    resources up to a defined path level.

    #3717

  • Enhancement #3766: Download file revisions

    Currently it is only possible to restore a file version, replacing the actual file with the
    selected version. This allows an user to download a version file, without touching/replacing
    the last version of the file

    #3766

  • Enhancement #3733: Add support for static linking

    We've added support for compiling reva with static linking enabled. It's possible to do so with
    the STATIC flag: make revad STATIC=true

    #3733

  • Enhancement #3778: Add support to tag eos traffic

    We've added support to tag eos traffic

    #3778

  • Enhancement #3868: Implement historical way of constructing OCM WebDAV URL

    Expose the expected WebDAV endpoint for OCM by OC10 and Nextcloud as described in
    cs3org/OCM-API#70 (comment) to allow reva
    providers to participate to mesh.

    #3855
    #3868

  • Enhancement #3719: Skip computing groups when fetching all groups from grappa

    #3719

  • Enhancement #3783: Updated OCM tutorial

    The OCM tutorial in the doc was missing the example on how to access the received resources. Now
    the tutorial contains all the steps to access a received resource using the WebDAV protocol.

    #3783

  • Enhancement #3750: New metadata flags

    Several new flags, like site infrastructure and service status, are now gathered and exposed
    by Mentix.

    #3750

  • Enhancement #3839: Support multiple issuer in OIDC auth driver

    The OIDC auth driver supports now multiple issuers. Users of external providers are then
    mapped to a local user by a mapping files. Only the main issuer (defined in the config with
    issuer) and the ones defined in the mapping are allowed for the verification of the OIDC
    token.

    #3839

  • Enhancement #3772: New OCM discovery endpoint

    This PR implements the new OCM v1.1 specifications for the /ocm-provider endpoint.

    #3772

  • Enhancement #3619: Tests for invitation manager SQL driver

    #3619

  • Enhancement #3757: Support OCM v1.0 schema

    Following cs3org/cs3apis#206, we add the fields to ensure backwards compatibility with OCM
    v1.0. However, if the protocol.options undocumented object is not empty, we bail out for
    now. Supporting interoperability with OCM v1.0 implementations (notably Nextcloud 25) may
    come in the future if the undocumented options are fully reverse engineered. This is reflected
    in the unit tests as well.

    Also, added viewMode to webapp protocol options (cs3org/cs3apis#207) and adapted all SQL
    code and unit tests.

    #3757

  • Enhancement #3695: Create OCM share from sciencemesh service

    pondersource/sciencemesh-php#166
    #3695

  • Enhancement #3722: List only valid OCM tokens

    #3722

  • Enhancement #3821: Revamp user/group drivers and fix user type

    For lightweight accounts

    • Fix the user type for lightweight accounts, using the source field to differentiate between a
      primary and lw account * Remove all the code with manual parsing of the json returned by the CERN
      provider * Introduce pagination for GetMembers method in the group driver * Reduced network
      transfer size by requesting only needed fields for GetMembers method

    #3821

  • Enhancement #3724: Send invitation link from mesh directory

    When generating and listing OCM tokens

    To enhance user expirience, instead of only sending the token, we send directly the URL for
    accepting the invitation workflow.

    #3724

  • Enhancement #3824: Serverless Services

    New type of service (along with http and grpc) which does not have a listening server. Useful for
    the notifications service and others in the future.

    #3824