-
Notifications
You must be signed in to change notification settings - Fork 1
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
[EOS] Sharing does not work #129
Comments
Michael Barz commented: Sharing Files doesn not work on EOS, this is a known limitation. Sharing a folder should work. |
Vincent Petry commented: I tried with a folder share and this bug is still valid, with the same observations. |
Vincent Petry commented: The share entry exists and looks correct in the shares file:
The shadow folder for Marie on EOS "/eos/dockertest/reva/users/.shadow/f/f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c/Shares" doesn't contain any relevant entries. As far as I understood, the EOS driver is supposed to create some symlinks there that point to the original folder, but nothing is there. So far I have found nothing useful in the logs for the share creation. |
Vincent Petry commented: AddGrant is called and as I understand this should write something to the storage:
It seems AddGrant is adding some ACL:
the result when querying from the EOS console:
I guess "20001" is the Posix/EOS user for Marie. So the ACLs seem to be set correctly. However, it seems the symlink is missing: I've found a call to GRPC |
Vincent Petry commented: I had a closer look when But to be able to accept the share, it needs to be listed in "shared with me". |
Vincent Petry commented: And here we go, there's a 500 error when listing the shares with a null pointer:
|
Vincent Petry commented: Ok, got it: recently we changed the share listing routine to do a stat to check if the target resource exist or not to decide whether to skip. However now that we enforced a stat call, the code is also trying to do the stat for pending or rejected shares. For now I'll adjust the code to only do a stat for already accepted shares. |
Vincent Petry commented: It looks like the CS3's Share object has no value for the pending state ?! So I'm not able to read that value in the OCS layer (shares.go) |
Vincent Petry commented: Never mind. The stat in "listUserShares()" is legit. We do want to find out more info about the target even before accepting. The trouble is that EOS doesn't allow to stat anything outside the user's home: https://github.com/cs3org/reva/blob/master/pkg/storage/utils/eosfs/eosfs.go#L296 I guess that maybe for already accepted shares it would allow it by returning the symlink, but here the symlink does not exist yet since the share is pending. |
some attempts here at reconfiguring the storages: owncloud/ocis#484 |
a solution was found, now in the updated config and dosc in #129 however, uploading is broken: this is because the UI is using "remote.php/dav/files" for uploading while the other operations use "remote.php/webdav". The latter maps to the home storage but the former to the global non-home storage. We'll attempt to fix "remote.php/dav/files" to be simply rewired to the same handler like "remote.php/webdav" if the specified user matches. Otherwise we either fail with a 403 like OC 10, or optionally could redirect to the non-home storage. @butonic as discussed |
|
draft PR here for the dav files rewiring: cs3org/reva#1120 |
we have a
|
all merged in ocis master and confirmed that sharing is working now with EOS there, closing |
retested with rc1 on eos: shares appear in shared with me and can be accepted. |
Reproduce on ocis 1.0.0-beta8 with eos installed via https://github.com/owncloud-docker/compose-playground/blob/master/examples/hetzner-deploy/make_ocis_eos_compose_test.sh
firefox https://xxx.xxx.xxx.xxx:9200
log in as einstein,
create a few files and folders,
share them with user marie and or feynman
log in as user marie (different browser or private browsing tab)
check files. Nothing arrived.
click open 'Shared with me' Nothing is listed there.
Expected behaviour:
The text was updated successfully, but these errors were encountered: