-
Notifications
You must be signed in to change notification settings - Fork 816
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
Avoid depth infinity propfind for e2ee #2572
Conversation
e254daa
to
19eccc4
Compare
Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
If there's more than one job we need to unite the maps not simply overwrite them. Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
Signed-off-by: Kevin Ottens <[email protected]>
This way we avoid the expensive SQL query on the server at the price of more round-trips since we're doing the recursive traversal by hand now. Also it turns out this depth was used for all the other propfind calls during sync when we want fresher information regarding a folder. This was very inefficient in all cases and won't happen anymore. Signed-off-by: Kevin Ottens <[email protected]>
19eccc4
to
10cb417
Compare
AppImage file: Nextcloud-PR-2572-10cb4170c7354c919a415f1082cf7bb0618ef988-x86_64.AppImage |
Thank you guys! Really appreciate the work. I have been waiting for 2,5 years to have the end-to-end encryption. |
/backport to stable-3.0 |
Same here. I'm testing the AppImage provided above. Sync scans folders and ends in waiting state. It doesn't work as expected. |
Well, at least it doesn't drive the server crazy anymore which was the intention of working around that Depth parameter. It's clearly hitting something else now. Will need to go through the log exploration etc. dance again. When doing so please make sure this issue isn't already reported, and if that's not the case please file a new one. |
Ehm - but now it DOESN`T SYNC AT ALL (you realized that?) so I assume that´s not really an improvement. |
Well, it does sync for some. The part of the code I changed is behavior compatible with the old code but uses a depth 1 instead of depth infinity. I really think this is hitting something else now. There's been past reports of "getting stuck" before and after that fix so to me it's a different issue which needs being tackled as well. As mentioned on #1269 I'm interested in getting debug logs to figure it out but so far I'm not hitting it. |
How to provide client logs. Content of ".owncloudsync.log" seems not to be debug log level. |
Nope that's not the one, but let me give some more details on #1269 about this |
This is not fixed in 3.0.3 client. Enabling E2EE on the server side basically cripples the syncing process on windows desktop. |
One needs to provide client logs so @er-vin can take a look at it, see reference in his post above. |
Not fixed on linux. client still hangs client linux 3.03 |
@er-vin |
Thanks for your efforts. We now know what's going on I think. Feel free to add the logs just in case it'd add something new. If you go for the file drop you don't have to remove sensitive data if you trust us enough to be responsible enough with it, otherwise please remove sensitive data first. |
Here OSX Client v.3.0.3 (over nextcloud v. 19.0.3) no way to sync with E2E. Android client is ok but not on desktop. If I can ofuscate all the personal info in the client logs (a lot of metadata) I will attach it. (I don't know any tool to do it easy) |
Alright, I don't like to do support on PRs, but since the chatter is still going on here. For the adventurous who are on Linux, it'd be useful if you could test the AppImage corresponding to #2700 (it's posted there). I think it should finally put the timeouts to rest. Word of caution: note this is a massive PR, it might kill kittens, burn your house or... well... you get the idea. Use with caution, it should become 3.2 in March so we still have plenty of time to QA it but having early feedback is always useful. Note it's not going to solve it for the crowd having issues removing E2EE folders. It's a completely different issue and will require it's on PR. |
OK, so after all I'll go for changing the depth of the incriminated PROPFIND call and do the recursive traversal by hand (which means more roundtrips which is a bit unfortunate). I finally did this for several reasons:
Fixes #2347
Fixes nextcloud/end_to_end_encryption#189