-
Notifications
You must be signed in to change notification settings - Fork 26
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
Implementation of EOS-supported locking #94
Conversation
7ccab6e
to
7422cbd
Compare
f947e85
to
5950b91
Compare
7c99f82
to
311b9b5
Compare
69d82c2
to
e3330e9
Compare
1a6c1ad
to
cff6c6a
Compare
@micbar would you be able to test this PR against Reva edge, and run the MS WOPI validator on top? A priori the changes and fixes to the CS3 interface are minimal, yet there is an important improvement, that is single-file shares are properly supported now (i.e. SaveAs is disabled - that was already in |
@glpatcern We need the Wopi Validator in the CI of this repo, running on every Pull Request. See https://drone.owncloud.com/owncloud/wopi/2177/9/10 as an example. You are using GH actions in this repo, so you would need to adapt the test code a bit. |
@micbar I agree this would be highly beneficial, but a precondition is to run the WOPI tests against a live Reva daemon (#57).
I don't have access to your drone, maybe you can enable my GH handle? |
b6050ae
to
d03465d
Compare
In particular writefile is checked against lock mismatch, whereas readfile must work without lock (yet)
Plus some adaptation to CS3 output and removal of a CS3-related obsoleted check
Locks are typically NOT taken (nor passed) by MS Office 365 on renames, yet they need to be handled because the backend may implement a rename as a copy + delete
Most notable cases are when the user has no permission or when the request is malformed
Internal reference: https://its.cern.ch/jira/browse/CERNBOX-3016
Through validation tests, it turns out that rename operations (
MoveRequest
in CS3 API terms)must be supported regardless if a file is locked- edit: renames may still need a lock, regardless how Microsoft Office behaves. The test suite was amended to take that into account. Similarly, the wopiserver needs to be able to set an xattr on an unlocked file, but be denied if the file is locked and the lock does not match. This was incorporated as well in the test suite.Validation tests:
- [ ] cs3 interface- [ ] MS WOPI validator tests on top of cs3Update: as renames were not changed, and as right now the CS3 interface on top of Reva
master
does not pass all the tests, we're not executing those tests. In a separate PR we will integrate such tests on the CI, with a custom GitHub runner similar to the Reva repo.