Skip to content

Releases: cs3org/reva

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

v1.17.0

09 Dec 14:19
Compare
Choose a tag to compare

Changelog for reva 1.17.0 (2021-12-09)

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

Summary

  • Fix #2305: Make sure /app/new takes target as absolute path
  • Fix #2303: Fix content disposition header for public links files
  • Fix #2316: Fix the share types in propfinds
  • Fix #2803: Fix app provider for editor public links
  • Fix #2298: Remove share refs from trashbin
  • Fix #2309: Remove early finish for zero byte file uploads
  • Fix #1941: Fix TUS uploads with transfer token only
  • Chg #2210: Fix app provider new file creation and improved error codes
  • Enh #2217: OIDC auth driver for ESCAPE IAM
  • Enh #2256: Return user type in the response of the ocs GET user call
  • Enh #2315: Add new attributes to public link propfinds
  • Enh #2740: Implement space membership endpoints
  • Enh #2252: Add the xattr sys.acl to SysACL (eosgrpc)
  • Enh #2314: OIDC: fallback if IDP doesn't provide "preferred_username" claim

Details

  • Bugfix #2305: Make sure /app/new takes target as absolute path

    A mini-PR to make the target parameter absolute (by prepending / if missing).

    #2305

  • Bugfix #2303: Fix content disposition header for public links files

    #2303
    #2297
    #2332
    #2346

  • Bugfix #2316: Fix the share types in propfinds

    The share types for public links were not correctly added to propfinds.

    #2316

  • Bugfix #2803: Fix app provider for editor public links

    Fixed opening the app provider in public links with the editor permission. The app provider
    failed to open the file in read write mode.

    owncloud/ocis#2803
    #2310

  • Bugfix #2298: Remove share refs from trashbin

    #2298

  • Bugfix #2309: Remove early finish for zero byte file uploads

    We've fixed the upload of zero byte files by removing the early upload finishing mechanism.

    #2309
    owncloud/ocis#2609

  • Bugfix #1941: Fix TUS uploads with transfer token only

    TUS uploads had been stopped when the user JWT token expired, even if only the transfer token
    should be validated. Now uploads will continue as intended.

    #1941

  • Change #2210: Fix app provider new file creation and improved error codes

    We've fixed the behavior for the app provider when creating new files. Previously the app
    provider would overwrite already existing files when creating a new file, this is now handled
    and prevented. The new file endpoint accepted a path to a file, but this does not work for spaces.
    Therefore we now use the resource id of the folder where the file should be created and a filename
    to create the new file. Also the app provider returns more useful error codes in a lot of cases.

    #2210

  • Enhancement #2217: OIDC auth driver for ESCAPE IAM

    This enhancement allows for oidc token authentication via the ESCAPE IAM service.
    Authentication relies on mappings of ESCAPE IAM groups to REVA users. For a valid token, if at
    the most one group from the groups claim is mapped to one REVA user, authentication can take
    place.

    #2217

  • Enhancement #2256: Return user type in the response of the ocs GET user call

    #2256

  • Enhancement #2315: Add new attributes to public link propfinds

    Added a new property "oc:signature-auth" to public link propfinds. This is a necessary change
    to be able to support archive downloads in password protected public links.

    #2315

  • Enhancement #2740: Implement space membership endpoints

    Implemented endpoints to add and remove members to spaces.

    owncloud/ocis#2740
    #2250

  • Enhancement #2252: Add the xattr sys.acl to SysACL (eosgrpc)

    #2252

  • Enhancement #2314: OIDC: fallback if IDP doesn't provide "preferred_username" claim

    Some IDPs don't support the "preferred_username" claim. Fallback to the "email" claim in that
    case.

    #2314

v1.16.0

19 Nov 13:53
Compare
Choose a tag to compare

Changelog for reva 1.16.0 (2021-11-19)

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

Summary

  • Fix #2245: Don't announce search-files capability
  • Fix #2247: Merge user ACLs from EOS to sys ACLs
  • Fix #2279: Return the inode of the version folder for files when listing in EOS
  • Fix #2294: Fix HTTP return code when path is invalid
  • Fix #2231: Fix share permission on a single file in sql share driver (cbox pkg)
  • Fix #2230: Fix open by default app and expose default app
  • Fix #2265: Fix nil pointer exception when resolving members of a group (rest driver)
  • Fix #1214: Fix restoring versions
  • Fix #2254: Fix spaces propfind
  • Fix #2260: Fix unset quota xattr on darwin
  • Fix #5776: Enforce permissions in public share apps
  • Fix #2767: Fix status code for WebDAV mkcol requests where an ancestor is missing
  • Fix #2287: Add public link access via mount-ID:token/relative-path to the scope
  • Fix #2244: Fix the permissions response for shared files in the cbox sql driver
  • Enh #2219: Add virtual view tests
  • Enh #2230: Add priority to app providers
  • Enh #2258: Improved error messages from the AppProviders
  • Enh #2119: Add authprovider owncloudsql
  • Enh #2211: Enhance the cbox share sql driver to store accepted group shares
  • Enh #2212: Filter root path according to the agent that makes the request
  • Enh #2237: Skip get user call in eosfs in case previous ones also failed
  • Enh #2266: Callback for the EOS UID cache to retry fetch for failed keys
  • Enh #2215: Aggregrate resource info properties for virtual views
  • Enh #2271: Revamp the favorite manager and add the cbox sql driver
  • Enh #2248: Cache whether a user home was created or not
  • Enh #2282: Return a proper NOT_FOUND error when a user or group is not found
  • Enh #2268: Add the reverseproxy http service
  • Enh #2207: Enable users to list all spaces
  • Enh #2286: Add trace ID to middleware loggers
  • Enh #2251: Mentix service inference
  • Enh #2218: Allow filtering of mime types supported by app providers
  • Enh #2213: Add public link share type to propfind response
  • Enh #2253: Support the file editor role for public links
  • Enh #2208: Reduce redundant stat calls when statting by resource ID
  • Enh #2235: Specify a list of allowed folders/files to be archived
  • Enh #2267: Restrict the paths where share creation is allowed
  • Enh #2252: Add the xattr sys.acl to SysACL (eosgrpc)
  • Enh #2239: Update toml configs

Details

  • Bugfix #2245: Don't announce search-files capability

    The dav.reports capability contained a search-files report which is currently not
    implemented. We removed it from the defaults.

    #2245

  • Bugfix #2247: Merge user ACLs from EOS to sys ACLs

    #2247

  • Bugfix #2279: Return the inode of the version folder for files when listing in EOS

    #2279

  • Bugfix #2294: Fix HTTP return code when path is invalid

    Before when a path was invalid, the archiver returned a 500 error code. Now this is fixed and
    returns a 404 code.

    #2294

  • Bugfix #2231: Fix share permission on a single file in sql share driver (cbox pkg)

    #2231

  • Bugfix #2230: Fix open by default app and expose default app

    We've fixed the open by default app name behaviour which previously only worked, if the default
    app was configured by the provider address. We also now expose the default app on the
    /app/list endpoint to clients.

    #2230
    cs3org/cs3apis#157

  • Bugfix #2265: Fix nil pointer exception when resolving members of a group (rest driver)

    #2265

  • Bugfix #1214: Fix restoring versions

    Restoring a version would not remove that version from the version list. Now the behavior is
    compatible to ownCloud 10.

    owncloud/ocis#1214
    #2270

  • Bugfix #2254: Fix spaces propfind

    Fixed the deep listing of spaces.

    #2254

  • Bugfix #2260: Fix unset quota xattr on darwin

    Unset quota attributes were creating errors in the logfile on darwin.

    #2260

  • Bugfix #5776: Enforce permissions in public share apps

    A receiver of a read-only public share could still edit files via apps like Collabora. These
    changes enforce the share permissions in apps used on publicly shared resources.

    owncloud/web#5776
    owncloud/ocis#2479
    https://github.com/cs3org/reva/pull/22142214

  • Bugfix #2767: Fix status code for WebDAV mkcol requests where an ancestor is missing

    We've fixed the status code to 409 according to the WebDAV standard for MKCOL requests where an
    ancestor is missing. Previously these requests would fail with an different error code (eg.
    500) because of storage driver limitations (eg. oCIS FS cannot handle recursive creation of
    directories).

    owncloud/ocis#2767
    #2293

  • Bugfix #2287: Add public link access via mount-ID:token/relative-path to the scope

    #2287

  • Bugfix #2244: Fix the permissions response for shared files in the cbox sql driver

    #2244

  • Enhancement #2219: Add virtual view tests

    #2219

  • Enhancement #2230: Add priority to app providers

    Before the order of the list returned by the method FindProviders of app providers depended
    from the order in which the app provider registered themselves. Now, it is possible to specify a
    priority for each app provider, and even if an app provider re-register itself (for example
    after a restart), the order is kept.

    #2230
    cs3org/cs3apis#157
    #2263

  • Enhancement #2258: Improved error messages from the AppProviders

    Some rather cryptic messages are now hidden to users, and some others are made more
    user-friendly. Support for multiple locales is still missing and out of scope for now.

    #2258

  • Enhancement #2119: Add authprovider owncloudsql

    We added an authprovider that can be configured to authenticate against an owncloud classic
    mysql database. It verifies the password from the oc_users table.

    #2119

  • Enhancement #2211: Enhance the cbox share sql driver to store accepted group shares

    #2211

  • Enhancement #2212: Filter root path according to the agent that makes the request

    #2212

  • Enhancement #2237: Skip get user call in eosfs in case previous ones also failed

    #2237

  • Enhancement #2266: Callback for the EOS UID cache to retry fetch for failed keys

    #2266

  • Enhancement #2215: Aggregrate resource info properties for virtual views

    #2215

  • Enhancement #2271: Revamp the favorite manager and add the cbox sql driver

    #2271

  • Enhancement #2248: Cache whether a user home was created or not

    Previously, on every call, we used to stat the user home to make sure that it existed. Now we cache
    it for a given amount of time so as to avoid repeated calls.

    #2248

  • Enhancement #2282: Return a proper NOT_FOUND error when a user or group is not found

    #2282

  • Enhancement #2268: Add the reverseproxy http service

    This PR adds an HTTP service which does the job of authenticating incoming requests via the reva
    middleware before forwarding them to the respective backends. This is useful for extensions
    which do not have the auth mechanisms.

    #2268

  • Enhancement #2207: Enable users to list all spaces

    Added a permission check if the user has the list-all-spaces permission. This enables users
    to list all spaces, even those which they are not members of.

    #2207

  • Enhancement #2286: Add trace ID to middleware loggers

    #2286

  • Enhancement #2251: Mentix service inference

    Previously, 4 different services per site had to be created in the GOCDB. This PR removes this
    redundancy by infering all endpoints from a single service entity, making site
    administration a lot easier.

    #2251

  • Enhancement #2218: Allow filtering of mime types supported by app providers

    #2218

  • Enhancement #2213: Add public link share type to propfind response

    Added share type for public links to propfind responses.

    #2213
    #2257

  • Enhancement #2253: Support the file editor role for public links

    #2253

  • Enhancement #2208: Reduce redundant stat calls when statting by resource ID

    #2208

  • Enhancement #2235: Specify a list of allowed folders/files to be archived

    Adds a configuration to the archiver service in order to specify a list of folders (as regex)
    that can be archived.

    #2235

  • Enhancement #2267: Restrict the paths where share creation is allowed

    This PR limits share creation to certain specified paths. These can be useful when users have
    access to global spac...

Read more

v1.15.0

26 Oct 09:56
Compare
Choose a tag to compare

Changelog for reva 1.15.0 (2021-10-26)

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

Summary

  • Fix #2168: Override provider if was previously registered
  • Fix #2173: Fix archiver max size reached error
  • Fix #2167: Handle nil quota in decomposedfs
  • Fix #2153: Restrict EOS project spaces sharing permissions to admins and writers
  • Fix #2179: Fix the returned permissions for webdav uploads
  • Fix #2177: Retrieve the full path of a share when setting as
  • Chg #2479: Make apps able to work with public shares
  • Enh #2203: Add alerting webhook to SiteAcc service
  • Enh #2190: Update CODEOWNERS
  • Enh #2174: Inherit ACLs for files from parent directories
  • Enh #2152: Add a reference parameter to the getQuota request
  • Enh #2171: Add optional claim parameter to machine auth
  • Enh #2163: Nextcloud-based share manager for pkg/ocm/share
  • Enh #2135: Nextcloud test improvements
  • Enh #2180: Remove OCDAV options namespace parameter
  • Enh #2117: Add ocs cache warmup strategy for first request from the user
  • Enh #2170: Handle propfind requests for existing files
  • Enh #2165: Allow access to recycle bin for arbitrary paths outside homes
  • Enh #2193: Filter root paths according to user agent
  • Enh #2162: Implement the UpdateStorageSpace method
  • Enh #2189: Add user setting capability

Details

  • Bugfix #2168: Override provider if was previously registered

    Previously if an AppProvider registered himself two times, for example after a failure, the
    mime types supported by the provider contained multiple times the same provider. Now this has
    been fixed, overriding the previous one.

    #2168

  • Bugfix #2173: Fix archiver max size reached error

    Previously in the total size count of the files being archived, the folders were taken into
    account, and this could cause a false max size reached error because the size of a directory is
    recursive-computed, causing the archive to be truncated. Now in the size count, the
    directories are skipped.

    #2173

  • Bugfix #2167: Handle nil quota in decomposedfs

    Do not nil pointer derefenrence when sending nil quota to decomposedfs

    #2167

  • Bugfix #2153: Restrict EOS project spaces sharing permissions to admins and writers

    #2153

  • Bugfix #2179: Fix the returned permissions for webdav uploads

    We've fixed the returned permissions for webdav uploads. It did not consider shares and public
    links for the permission calculation, but does so now.

    #2179
    #2151

  • Bugfix #2177: Retrieve the full path of a share when setting as

    Accepted or on shared by me

    #2177

  • Change #2479: Make apps able to work with public shares

    Public share receivers were not possible to use apps in public shares because the apps couldn't
    load the files in the public shares. This has now been made possible by changing the scope checks
    for public shares.

    owncloud/ocis#2479
    #2143

  • Enhancement #2203: Add alerting webhook to SiteAcc service

    To integrate email alerting with the monitoring pipeline, a Prometheus webhook has been added
    to the SiteAcc service. Furthermore account settings have been extended/modified
    accordingly.

    #2203

  • Enhancement #2190: Update CODEOWNERS

    #2190

  • Enhancement #2174: Inherit ACLs for files from parent directories

    #2174

  • Enhancement #2152: Add a reference parameter to the getQuota request

    Implementation of cs3org/cs3apis#147

    Make the cs3apis accept a Reference in the getQuota Request to limit the call to a specific
    storage space.

    #2152
    #2178
    #2187

  • Enhancement #2171: Add optional claim parameter to machine auth

    #2171
    #2176

  • Enhancement #2163: Nextcloud-based share manager for pkg/ocm/share

    Note that pkg/ocm/share is very similar to pkg/share, but it deals with cs3/sharing/ocm
    whereas pkg/share deals with cs3/sharing/collaboration

    #2163

  • Enhancement #2135: Nextcloud test improvements

    #2135

  • Enhancement #2180: Remove OCDAV options namespace parameter

    We dropped the namespace parameter, as it is not used in the options handler.

    #2180

  • Enhancement #2117: Add ocs cache warmup strategy for first request from the user

    #2117

  • Enhancement #2170: Handle propfind requests for existing files

    #2170

  • Enhancement #2165: Allow access to recycle bin for arbitrary paths outside homes

    #2165
    #2188

  • Enhancement #2193: Filter root paths according to user agent

    Adds a new rule setting in the storage registry ("allowed_user_agents"), that allows a user to
    specify which storage provider shows according to the user agent that made the request.

    #2193

  • Enhancement #2162: Implement the UpdateStorageSpace method

    Added the UpdateStorageSpace method to the decomposedfs.

    #2162
    #2195
    #2196

  • Enhancement #2189: Add user setting capability

    We've added a capability to communicate the existance of a user settings service to clients.

    owncloud/web#5926
    #2189
    owncloud/ocis#2655

v1.14.0

12 Oct 14:59
Compare
Choose a tag to compare

Changelog for reva 1.14.0 (2021-10-12)

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

Summary

  • Fix #2103: AppProvider: propagate back errors reported by WOPI
  • Fix #2149: Remove excess info from the http list app providers endpoint
  • Fix #2114: Add as default app while registering and skip unset mimetypes
  • Fix #2095: Fix app open when multiple app providers are present
  • Fix #2135: Make TUS capabilities configurable
  • Fix #2076: Fix chi routing
  • Fix #2077: Fix concurrent registration of mimetypes
  • Fix #2154: Return OK when trying to delete a non existing reference
  • Fix #2078: Fix nil pointer exception in stat
  • Fix #2073: Fix opening a readonly filetype with WOPI
  • Fix #2140: Map GRPC error codes to REVA errors
  • Fix #2147: Follow up of #2138: this is the new expected format
  • Fix #2116: Differentiate share types when retrieving received shares in sql driver
  • Fix #2074: Fix Stat() for EOS storage provider
  • Fix #2151: Fix return code for webdav uploads when the token expired
  • Chg #2121: Sharemanager API change
  • Enh #2090: Return space name during list storage spaces
  • Enh #2138: Default AppProvider on top of the providers list
  • Enh #2137: Revamp app registry and add parameter to control file creation
  • Enh #145: UI improvements for the AppProviders
  • Enh #2088: Add archiver and app provider to ocs capabilities
  • Enh #2537: Add maximum files and size to archiver capabilities
  • Enh #2100: Add support for resource id to the archiver
  • Enh #2158: Augment the Id of new spaces
  • Enh #2085: Make encoding user groups in access tokens configurable
  • Enh #146: Filter the denial shares (permission = 0) out of
  • Enh #2141: Use golang v1.17
  • Enh #2053: Safer defaults for TLS verification on LDAP connections
  • Enh #2115: Reduce code duplication in LDAP related drivers
  • Enh #1989: Add redirects from OC10 URL formats
  • Enh #2479: Limit publicshare and resourceinfo scope content
  • Enh #2071: Implement listing favorites via the dav report API
  • Enh #2091: Nextcloud share managers
  • Enh #2070: More unit tests for the Nextcloud storage provider
  • Enh #2087: More unit tests for the Nextcloud auth and user managers
  • Enh #2075: Make owncloudsql leverage existing filecache index
  • Enh #2050: Add a share types filter to the OCS API
  • Enh #2134: Use space Type from request
  • Enh #2132: Align local tests with drone setup
  • Enh #2095: Whitelisting for apps
  • Enh #2155: Pass an extra query parameter to WOPI /openinapp with a

Details

  • Bugfix #2103: AppProvider: propagate back errors reported by WOPI

    On /app/open and return base64-encoded fileids on /app/new

    #2103

  • Bugfix #2149: Remove excess info from the http list app providers endpoint

    We've removed excess info from the http list app providers endpoint. The app provider section
    contained all mime types supported by a certain app provider, which led to a very big JSON
    payload and since they are not used they have been removed again. Mime types not on the mime type
    configuration list always had application/octet-stream as a file extension and
    APPLICATION/OCTET-STREAM file as name and description. Now these information are just
    omitted.

    #2149
    owncloud/ocis#2603
    #2138

  • Bugfix #2114: Add as default app while registering and skip unset mimetypes

    We fixed that app providers will be set as default app while registering if configured. Also we
    changed the behaviour that listing supported mimetypes only displays allowed / configured
    mimetypes.

    #2114
    #2095

  • Bugfix #2095: Fix app open when multiple app providers are present

    We've fixed the gateway behavior, that when multiple app providers are present, it always
    returned that we have duplicate names for app providers. This was due the call to
    GetAllProviders() without any subsequent filtering by name. Now this filter mechanism is in
    place and the duplicate app providers error will only appear if a real duplicate is found.

    #2095
    #2117

  • Bugfix #2135: Make TUS capabilities configurable

    We've fixed the configuration for the TUS capabilities, which will now take the given
    configuration instead of always using hardcoded defaults.

    #2135

  • Bugfix #2076: Fix chi routing

    Chi routes based on the URL.RawPath, which is not updated by the shiftPath based routing used in
    reva. By setting the RawPath to an empty string chi will fall pack to URL.Path, allowing it to
    match percent encoded path segments, e.g. when trying to match emails or multibyte
    characters.

    #2076

  • Bugfix #2077: Fix concurrent registration of mimetypes

    We fixed registering mimetypes in the mime package when starting multiple storage providers
    in the same process.

    #2077

  • Bugfix #2154: Return OK when trying to delete a non existing reference

    When the gateway declines a share we can ignore a non existing reference.

    #2154
    owncloud/ocis#2603

  • Bugfix #2078: Fix nil pointer exception in stat

    #2078

  • Bugfix #2073: Fix opening a readonly filetype with WOPI

    This change fixes the opening of filetypes that are only supported to be viewed and not to be
    edited by some WOPI compliant office suites.

    #2073

  • Bugfix #2140: Map GRPC error codes to REVA errors

    We've fixed the error return behaviour in the gateway which would return GRPC error codes from
    the auth middleware. Now it returns REVA errors which other parts of REVA are also able to
    understand.

    #2140

  • Bugfix #2147: Follow up of #2138: this is the new expected format

    For the mime types configuration for the AppRegistry.

    #2147

  • Bugfix #2116: Differentiate share types when retrieving received shares in sql driver

    #2116

  • Bugfix #2074: Fix Stat() for EOS storage provider

    This change fixes the convertion between the eosclient.FileInfo to ResourceInfo, in which
    the field ArbitraryMetadata was missing. Moreover, to be consistent with
    SetArbitraryMetadata() EOS implementation, all the "user." prefix are stripped out from the
    xattrs.

    #2074

  • Bugfix #2151: Fix return code for webdav uploads when the token expired

    We've fixed the behavior webdav uploads when the token expired before the final stat.
    Previously clients would receive a http 500 error which is wrong, because the file was
    successfully uploaded and only the stat couldn't be performed. Now we return a http 200 ok and
    the clients will fetch the file info in a separate propfind request.

    Also we introduced the upload expires header on the webdav/TUS and datagateway endpoints, to
    signal clients how long an upload can be performed.

    #2151

  • Change #2121: Sharemanager API change

    This PR updates reva to reflect the share manager CS3 API changes.

    #2121

  • Enhancement #2090: Return space name during list storage spaces

    In the decomposedfs we return now the space name in the response which is stored in the extended
    attributes.

    #2090

  • Enhancement #2138: Default AppProvider on top of the providers list

    For each mime type

    Now for each mime type, when asking for the list of mime types, the default AppProvider, set both
    using the config and the SetDefaultProviderForMimeType method, is always in the top of the
    list of AppProviders. The config for the Providers and Mime Types for the AppRegistry changed,
    using a list instead of a map. In fact the list of mime types returned by ListSupportedMimeTypes
    is now ordered according the config.

    #2138

  • Enhancement #2137: Revamp app registry and add parameter to control file creation

    #2137

  • Enhancement #145: UI improvements for the AppProviders

    Mime types and their friendly names are now handled in the /app/list HTTP endpoint, and an
    additional /app/new endpoint is made available to create new files for apps.

    cs3org/cs3apis#145
    #2067

  • Enhancement #2088: Add archiver and app provider to ocs capabilities

    The archiver and app provider has been added to the ocs capabilities.

    #2088
    owncloud/ocis#2529

  • Enhancement #2537: Add maximum files and size to archiver capabilities

    We added the maximum files count and maximum archive size of the archiver to the capabilities
    endpoint. Clients can use this to generate warnings before the actual archive creation fails.

    owncloud/ocis#2537
    #2105

  • Enhancement #2100: Add support for resource id to the archiver

    Before the archiver only supported resources provided by a path. Now also the resources ID are
    supported in order to specify the content of the archive to download. The parameters accepted
    by the archiver are two: an optional list of path (containing the paths of the resources) and
    an optional list of id (containing the resources IDs of the resources).

    #2097
    https://github.com/cs...

Read more

v1.13.0

14 Sep 13:09
Compare
Choose a tag to compare

Changelog for reva 1.13.0 (2021-09-14)

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

Summary

  • Fix #2024: Fixes for http appprovider endpoints
  • Fix #2054: Fix the response after deleting a share
  • Fix #2026: Fix moving of a shared file
  • Fix #2047: Do not truncate logs on restart
  • Fix #1605: Allow to expose full paths in OCS API
  • Fix #2033: Fix the storage id of shares
  • Fix #2059: Remove "Got registration for user manager" print statements
  • Fix #2051: Remove malformed parameters from WOPI discovery URLs
  • Fix #2055: Fix uploads of empty files
  • Fix #1991: Remove share references when declining shares
  • Fix #2030: Fix superfluous WriteHeader on file upload
  • Enh #2034: Fail initialization of a WOPI AppProvider if
  • Enh #1968: Use a URL object in OpenInAppResponse
  • Enh #1698: Implement folder download as archive
  • Enh #2042: Escape ldap filters
  • Enh #2028: Machine auth provider
  • Enh #2043: Nextcloud user backend
  • Enh #2006: Move ocs API to go-chi/chi based URL routing
  • Enh #1994: Add owncloudsql driver for the userprovider
  • Enh #1971: Add documentation for runtime-plugins
  • Enh #2044: Add utility methods for creating share filters
  • Enh #2065: New sharing role Manager
  • Enh #2015: Add spaces to the list of capabilities
  • Enh #2041: Create operations for Spaces
  • Enh #2029: Tracing agent configuration

Details

  • Bugfix #2024: Fixes for http appprovider endpoints

    #2024
    #1968

  • Bugfix #2054: Fix the response after deleting a share

    Added the deleted share to the response after deleting it.

    #2054

  • Bugfix #2026: Fix moving of a shared file

    As the share receiver, moving a shared file to another share was not possible.

    #2026

  • Bugfix #2047: Do not truncate logs on restart

    This change fixes the way log files were opened. Before they were truncated and now the log file
    will be open in append mode and created it if it does not exist.

    #2047

  • Bugfix #1605: Allow to expose full paths in OCS API

    Before this fix a share file_target was always harcoded to use a base path. This fix provides the
    possiblity to expose full paths in the OCIS API and asymptotically in OCIS web.

    #1605

  • Bugfix #2033: Fix the storage id of shares

    The storageid in the share object contained an incorrect value.

    #2033

  • Bugfix #2059: Remove "Got registration for user manager" print statements

    Removed the "Got registration for user manager" print statements which spams the log output
    without respecting any log level.

    #2059

  • Bugfix #2051: Remove malformed parameters from WOPI discovery URLs

    This change fixes the parsing of WOPI discovery URLs for MSOffice /hosting/discovery
    endpoint. This endpoint is known to contain malformed query paramters and therefore this fix
    removes them.

    #2051

  • Bugfix #2055: Fix uploads of empty files

    This change fixes upload of empty files. Previously this was broken and only worked for the
    owncloud filesystem as it bypasses the semantics of the InitiateFileUpload call to touch a
    local file.

    #2055

  • Bugfix #1991: Remove share references when declining shares

    Implemented the removal of share references when a share gets declined. Now when a user
    declines a share it will no longer be listed in their Shares directory.

    #1991

  • Bugfix #2030: Fix superfluous WriteHeader on file upload

    Removes superfluous Writeheader on file upload and therefore removes the error message
    "http: superfluous response.WriteHeader call from
    github.com/cs3org/reva/internal/http/interceptors/log.(*responseLogger).WriteHeader
    (log.go:154)"

    #2030

  • Enhancement #2034: Fail initialization of a WOPI AppProvider if

    The underlying app is not WOPI-compliant nor it is supported by the WOPI bridge extensions

    #2034

  • Enhancement #1968: Use a URL object in OpenInAppResponse

    #1968

  • Enhancement #1698: Implement folder download as archive

    Adds a new http service which will create an archive (platform dependent, zip in windows and tar
    in linux) given a list of file.

    #1698
    #2066

  • Enhancement #2042: Escape ldap filters

    Added ldap filter escaping to increase the security of reva.

    #2042

  • Enhancement #2028: Machine auth provider

    Adds a new authentication method used to impersonate users, using a shared secret, called
    api-key.

    #2028

  • Enhancement #2043: Nextcloud user backend

    Adds Nextcloud as a user backend (Nextcloud drivers for 'auth' and 'user'). Also adds back the
    Nextcloud storage integration tests.

    #2043

  • Enhancement #2006: Move ocs API to go-chi/chi based URL routing

    #1986
    #2006

  • Enhancement #1994: Add owncloudsql driver for the userprovider

    We added a new backend for the userprovider that is backed by an owncloud 10 database. By default
    the user_id column is used as the reva user username and reva user opaque id. When setting
    join_username=true the reva user username is joined from the oc_preferences table
    (appid='core' AND configkey='username') instead. When setting
    join_ownclouduuid=true the reva user opaqueid is joined from the oc_preferences table
    (appid='core' AND configkey='ownclouduuid') instead. This allows more flexible
    migration strategies. It also supports a enable_medial_search config option when
    searching users that will enclose the query with %.

    #1994

  • Enhancement #1971: Add documentation for runtime-plugins

    #1971

  • Enhancement #2044: Add utility methods for creating share filters

    Updated the CS3 API to include the new share grantee filter and added utility methods for
    creating share filters. This will help making the code more concise.

    #2044

  • Enhancement #2065: New sharing role Manager

    The new Manager role is equivalent to a Co-Owner with the difference that a Manager can create
    grants on the root of the Space. This means inviting a user to a space will not require an action
    from them, as the Manager assigns the grants.

    #2065

  • Enhancement #2015: Add spaces to the list of capabilities

    In order for clients to be aware of the new spaces feature we need to enable the spaces flag on
    the capabilities' endpoint.

    #2015

  • Enhancement #2041: Create operations for Spaces

    DecomposedFS is aware now of the concept of Spaces, and supports for creating them.

    #2041

  • Enhancement #2029: Tracing agent configuration

    Earlier we could only use the collector URL directly, but since an agent can be deployed as a
    sidecar process it makes much more sense to use it instead of the collector directly.

    #2029

v1.12.0

24 Aug 07:42
Compare
Choose a tag to compare

Changelog for reva 1.12.0 (2021-08-24)

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

Summary

  • Fix #1819: Disable notifications
  • Fix #2000: Fix dependency on tests
  • Fix #1957: Fix etag propagation on deletes
  • Fix #1960: Return the updated share after updating
  • Fix #1993: Fix owncloudsql GetMD
  • Fix #1954: Fix response format of the sharees API
  • Fix #1965: Fix the file target of user and group shares
  • Fix #1956: Fix trashbin listing with depth 0
  • Fix #1987: Fix windows build
  • Fix #1990: Increase oc10 compatibility of owncloudsql
  • Fix #1978: Owner type is optional
  • Fix #1980: Propagate the etag after restoring a file version
  • Fix #1985: Add quota stubs
  • Fix #1992: Check if symlink exists instead of spamming the console
  • Fix #1913: Logic to restore files to readonly nodes
  • Chg #1982: Move user context methods into a separate userctx package
  • Enh #1946: Add share manager that connects to oc10 databases
  • Enh #1983: Add Codacy unit test coverage
  • Enh #1803: Introduce new webdav spaces endpoint
  • Enh #1998: Initial version of the Nextcloud storage driver
  • Enh #1984: Replace OpenCensus with OpenTelemetry
  • Enh #1861: Add support for runtime plugins
  • Enh #2008: Site account extensions

Details

  • Bugfix #1819: Disable notifications

    The presence of the key notifications in the capabilities' response would cause clients to
    attempt to poll the notifications endpoint, which is not yet supported. To prevent the
    unnecessary bandwidth we are disabling this altogether.

    #1819

  • Bugfix #2000: Fix dependency on tests

    The Nextcloud storage driver depended on a mock http client from the tests/ folder This broke
    the Docker build The dependency was removed A check was added to test the Docker build on each PR

    #2000

  • Bugfix #1957: Fix etag propagation on deletes

    When deleting a file the etag propagation would skip the parent of the deleted file.

    #1957

  • Bugfix #1960: Return the updated share after updating

    When updating the state of a share in the in-memory share manager the old share state was
    returned instead of the updated state.

    #1960

  • Bugfix #1993: Fix owncloudsql GetMD

    The GetMD call internally was not prefixing the path when looking up resources by id.

    #1993

  • Bugfix #1954: Fix response format of the sharees API

    The sharees API wasn't returning the users and groups arrays correctly.

    #1954

  • Bugfix #1965: Fix the file target of user and group shares

    In some cases the file target of user and group shares was not properly prefixed.

    #1965
    #1967

  • Bugfix #1956: Fix trashbin listing with depth 0

    The trashbin API handled requests with depth 0 the same as request with a depth of 1.

    #1956

  • Bugfix #1987: Fix windows build

    Add the necessary golang.org/x/sys/windows package import to owncloud and
    owncloudsql storage drivers.

    #1987

  • Bugfix #1990: Increase oc10 compatibility of owncloudsql

    We added a few changes to the owncloudsql storage driver to behave more like oc10.

    #1990

  • Bugfix #1978: Owner type is optional

    When reading the user from the extended attributes the user type might not be set, in this case we
    now return a user with an invalid type, which correctly reflects the state on disk.

    #1978

  • Bugfix #1980: Propagate the etag after restoring a file version

    The decomposedfs didn't propagate after restoring a file version.

    #1980

  • Bugfix #1985: Add quota stubs

    The owncloud and owncloudsql drivers now read the available quota from disk to no longer
    always return 0, which causes the web UI to disable uploads.

    #1985

  • Bugfix #1992: Check if symlink exists instead of spamming the console

    The logs have been spammed with messages like could not create symlink for ... when using the
    decomposedfs, eg. with the oCIS storage. We now check if the link exists before trying to create
    it.

    #1992

  • Bugfix #1913: Logic to restore files to readonly nodes

    This impacts solely the DecomposedFS. Prior to these changes there was no validation when a
    user tried to restore a file from the trashbin to a share location (i.e any folder under
    /Shares).

    With this patch if the user restoring the resource has write permissions on the share, restore
    is possible.

    #1913

  • Change #1982: Move user context methods into a separate userctx package

    #1982

  • Enhancement #1946: Add share manager that connects to oc10 databases

    #1946

  • Enhancement #1983: Add Codacy unit test coverage

    This PR adds unit test coverage upload to Codacy.

    #1983

  • Enhancement #1803: Introduce new webdav spaces endpoint

    Clients can now use a new webdav endpoint
    /dav/spaces/<storagespaceid>/relative/path/to/file to directly access storage
    spaces.

    The <storagespaceid> can be retrieved using the ListStorageSpaces CS3 api call.

    #1803

  • Enhancement #1998: Initial version of the Nextcloud storage driver

    This is not usable yet in isolation, but it's a first component of
    https://github.com/pondersource/sciencemesh-nextcloud

    #1998

  • Enhancement #1984: Replace OpenCensus with OpenTelemetry

    OpenTelemetry](https://opentelemetry.io/docs/concepts/what-is-opentelemetry/) is
    an open standard a
    sandbox CNCF project and it was formed through a merger of the OpenTracing and OpenCensus.

    OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major
    version of OpenCensus and OpenTracing. OpenTelemetry will offer backwards compatibility
    with existing OpenCensus integrations, and we will continue to make security patches to
    existing OpenCensus libraries for two years.

    There is a lot of outdated documentation as a result of this merger, and we will be better off
    adopting the latest standard and libraries.

    #1984

  • Enhancement #1861: Add support for runtime plugins

    This PR introduces a new plugin package, that allows loading external plugins into Reva at
    runtime. The hashicorp go-plugin framework was used to facilitate the plugin loading and
    communication.

    #1861

  • Enhancement #2008: Site account extensions

    This PR heavily extends the site accounts service: * Extended the accounts information (not
    just email and name) * Accounts now have a password * Users can now "log in" to their accounts and
    edit it * Ability to grant access to the GOCDB

    Furthermore, these accounts can now be used to authenticate for logging in to our customized
    GOCDB. More use cases for these accounts are also planned.

    #2008

v1.11.0

03 Aug 13:51
Compare
Choose a tag to compare

Changelog for reva 1.11.0 (2021-08-03)

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

Summary

  • Fix #1899: Fix chunked uploads for new versions
  • Fix #1906: Fix copy over existing resource
  • Fix #1891: Delete Shared Resources as Receiver
  • Fix #1907: Error when creating folder with existing name
  • Fix #1937: Do not overwrite more specific matches when finding storage providers
  • Fix #1939: Fix the share jail permissions in the decomposedfs
  • Fix #1932: Numerous fixes to the owncloudsql storage driver
  • Fix #1912: Fix response when listing versions of another user
  • Fix #1910: Get user groups recursively in the cbox rest user driver
  • Fix #1904: Set Content-Length to 0 when swallowing body in the datagateway
  • Fix #1911: Fix version order in propfind responses
  • Fix #1926: Trash Bin in oCIS Storage Operations
  • Fix #1901: Fix response code when folder doesnt exist on upload
  • Enh #1785: Extend app registry with AddProvider method and mimetype filters
  • Enh #1938: Add methods to get and put context values
  • Enh #1798: Add support for a deny-all permission on references
  • Enh #1916: Generate updated protobuf bindings for EOS GRPC
  • Enh #1887: Add "a" and "l" filter for grappa queries
  • Enh #1919: Run gofmt before building
  • Enh #1927: Implement RollbackToVersion for eosgrpc (needs a newer EOS MGM)
  • Enh #1944: Implement listing supported mime types in app registry
  • Enh #1870: Be defensive about wrongly quoted etags
  • Enh #1940: Reduce memory usage when uploading with S3ng storage
  • Enh #1888: Refactoring of the webdav code
  • Enh #1900: Check for illegal names while uploading or moving files
  • Enh #1925: Refactor listing and statting across providers for virtual views

Details

  • Bugfix #1899: Fix chunked uploads for new versions

    Chunked uploads didn't create a new version, when the file to upload already existed.

    #1899

  • Bugfix #1906: Fix copy over existing resource

    When the target of a copy already exists, the existing resource will be moved to the trashbin
    before executing the copy.

    #1906

  • Bugfix #1891: Delete Shared Resources as Receiver

    It is now possible to delete a shared resource as a receiver and not having the data ending up in
    the receiver's trash bin, causing a possible leak.

    #1891

  • Bugfix #1907: Error when creating folder with existing name

    When a user tried to create a folder with the name of an existing file or folder the service didn't
    return a response body containing the error.

    #1907

  • Bugfix #1937: Do not overwrite more specific matches when finding storage providers

    Depending on the order of rules in the registry it could happend that more specific matches
    (e.g. /home/Shares) were overwritten by more general ones (e.g. /home). This PR makes sure
    that the registry always returns the most specific match.

    #1937

  • Bugfix #1939: Fix the share jail permissions in the decomposedfs

    The share jail should be not writable

    #1939

  • Bugfix #1932: Numerous fixes to the owncloudsql storage driver

    The owncloudsql storage driver received numerous bugfixes and cleanups.

    #1932

  • Bugfix #1912: Fix response when listing versions of another user

    The OCS API returned the wrong response when a user tried to list the versions of another user's
    file.

    #1912

  • Bugfix #1910: Get user groups recursively in the cbox rest user driver

    #1910

  • Bugfix #1904: Set Content-Length to 0 when swallowing body in the datagateway

    When swallowing the body the Content-Lenght needs to be set to 0 to prevent proxies from reading
    the body.

    #1904

  • Bugfix #1911: Fix version order in propfind responses

    The order of the file versions in propfind responses was incorrect.

    #1911

  • Bugfix #1926: Trash Bin in oCIS Storage Operations

    Support for restoring a target folder nested deep inside the trash bin in oCIS storage. The use
    case is:

    MOVE -H 'Destination:
    https://localhost:9200/remote.php/dav/files/einstein/destination' ```
    
    The previous command creates the `destination` folder and moves the contents of
    `/trash-bin/einstein/f1/f2` onto it.
    
    Retro-compatibility in the response code with ownCloud 10. Restoring a collection to a
    non-existent nested target is not supported and MUST return `409`. The use case is:
    
    ```console curl 'https://localhost:9200/remote.php/dav/trash-bin/einstein/f1/f2' -X
    MOVE -H 'Destination:
    https://localhost:9200/remote.php/dav/files/einstein/this/does/not/exist' ```
    
    The previous command used to return `404` instead of the expected `409` by the clients.
    
    https://github.com/cs3org/reva/pull/1926
    
  • Bugfix #1901: Fix response code when folder doesnt exist on upload

    When a new file was uploaded to a non existent folder the response code was incorrect.

    #1901

  • Enhancement #1785: Extend app registry with AddProvider method and mimetype filters

    #1779
    #1785
    cs3org/cs3apis#131

  • Enhancement #1938: Add methods to get and put context values

    Added GetKeyValues and PutKeyValues methods to fetch/put values from/to context.

    #1938

  • Enhancement #1798: Add support for a deny-all permission on references

    And implement it on the EOS storage

    http://github.com/cs3org/reva/pull/1798

  • Enhancement #1916: Generate updated protobuf bindings for EOS GRPC

    #1916

  • Enhancement #1887: Add "a" and "l" filter for grappa queries

    This PR adds the namespace filters "a" and "l" for grappa queries. With no filter will look into
    primary and e-groups, with "a" will look into primary/secondary/service/e-groups and with
    "l" will look into lightweight accounts.

    #1773
    #1887

  • Enhancement #1919: Run gofmt before building

    #1919

  • Enhancement #1927: Implement RollbackToVersion for eosgrpc (needs a newer EOS MGM)

    #1927

  • Enhancement #1944: Implement listing supported mime types in app registry

    #1944

  • Enhancement #1870: Be defensive about wrongly quoted etags

    When ocdav renders etags it will now try to correct them to the definition as quoted strings
    which do not contain ". This prevents double or triple quoted etags on the webdav api.

    #1870

  • Enhancement #1940: Reduce memory usage when uploading with S3ng storage

    The memory usage could be high when uploading files using the S3ng storage. By providing the
    actual file size when triggering PutObject, the overall memory usage is reduced.

    #1940

  • Enhancement #1888: Refactoring of the webdav code

    Refactored the webdav code to make it reusable.

    #1888

  • Enhancement #1900: Check for illegal names while uploading or moving files

    The code was not checking for invalid file names during uploads and moves.

    #1900

  • Enhancement #1925: Refactor listing and statting across providers for virtual views

    #1925