-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Persistency of incoming OCM shares - incorrect handling of read-only folders #45
Comments
Related to this issue, commit cs3org/reva@8620ddc in Reva currently includes all the missing fields "documented" as |
Related to this: when a share is sent to CERNBox, which does implement full persistency of the OCM 1.1 share payload, it turns out the received permissions are set as read-only, and the sender cannot change them. |
The database schema of ocm payload: The payload received from Reva calling
@glpatcern can you help me with these?
|
Signed-off-by: Mohammad Mahdi Baghbani Pourvahid <mahdi-baghbani@azadehafzar.io>
Initial support for the persistence of OCM shares has been implemented at this commit. the hard-coded values and unclear entity mappings should be fixed. Native EFSS db entry:
OCM tables entries:
|
To address the questions, a general answer is that everything is specified in the official OCM API at: https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1shares/post For more details we better get together ;-) |
* add: store full ocm payload [initial support for #45] Signed-off-by: Mohammad Mahdi Baghbani Pourvahid <mahdi-baghbani@azadehafzar.io> * add: comments Signed-off-by: Mohammad Mahdi Baghbani Pourvahid <mahdi-baghbani@azadehafzar.io> * modify ocm payload schema and add initial flow document * docs: initial attempt at documenting app flow * fix: typo in table name * fix: syntax highlighting * refactor: result of code review with michiel changing controllers is still pending * add: store ocm payload for both sending/receiving shares * add: get server iop idp * add: do not allow same site sm shares reach reva at all * add: contact search json result * add: doc comment * fix: authenticate function to handle userid and token better --------- Signed-off-by: Mohammad Mahdi Baghbani Pourvahid <mahdi-baghbani@azadehafzar.io>
This all works now with ownCloud, Nextcloud just needs the same patch |
Currently, incoming OCM shares are stored in the native EFSS table
oc_external_share
. This implies that some metadata gets forgotten as the EFSS does not allow to store all metadata.On top of the well-known multiple protocols (which would enable apps, see pondersource/sciencemesh-php#161) and their options, the permissions associated with the webdav protocol (either
read
,write
orshare
) get lost.The consequence is that OC (and NC) delegate the permission check to the provider (remote) site, as opposed to already block locally with e.g. greying out the upload action in the GUI. But in the ScienceMesh scenario where reva proxies the remote site, a read-only share is just not respected, because reva has full power (via shared secret) over the SM app and would honor an upload independent from the original permissions.
I propose to not address this issue now, but just document it and say that read-only shares are not supported by the SM app. A proper fix requires creating a table to persist the OCM 1.1 payload, and would be beneficial to finally implement also apps and data transfers.
The text was updated successfully, but these errors were encountered: