-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Undefined isDirectoryHandle() method breaking encryption. #10430
Comments
GitMate.io thinks possibly related issues are #5944 (Encryption error.), #8346 (occ encryption:migrate is broken (as of v13.0.0)), #4319 (Call to undefined method OCP\Defaults::shouldReplaceIcons()), #8420 (NC13 - Call to undefined method OC_Defaults::replaceImagePath()), and #9693 (Logcondition broken). |
@nextcloud-bot unrelated, this defect has been there since april i wonder why it didnt pop up during testing. Did someone remove that method lately or is noone using encryption in their test environments? |
@nextcloud/encryption please have a look |
I can't reproduce it. The method isDirectoryHandle() is implemented in the parent class https://github.com/nextcloud/3rdparty/blob/4b46a9176e392932702be12060a8c5899e092174/icewind/streams/src/Wrapper.php#L47 and gets called as expected on my test system. Can you double check that this class and this method exists on your system as well? |
I just checked the Nextcloud 14 beta1 zip file and it contains the file and the method as well. How did you installed it? |
I updated it using the official updater on beta channel. Edit: PHP Infos:
|
@schiessle I am getting the same error message. I have tested it using a one-click fresh install on shared web space and upgrading to NC 14 beta 1. I also tested it on fresh install on a virtual server, code directly from nextcloud.com. Indeed the function exists in 3rdparty/icewind/streams/src/Wrapper.php. I double checked. Here's the detailed nextcloud.log:
Followed by the following error:
|
Hypothesis: |
I can confirm this. The upload finishes and the file appears in the web interface. The uploaded image cannot be opened. Error: Opening a uploaded text file opens a alert box "missing signature". Which is again #8299 probably. |
I tried it now with a shared folder access/update/upload files by another user, on a public page and via webdav... all operations work here. I tried it with 14.0.0 beta 1 from git and from the original zip file downloaded here: https://help.nextcloud.com/t/nextcloud-14-0-0-beta-1-is-here/34424 can you please try to describe the exact steps which lead to this error for you? Thanks! |
The heck... Edit: i submitted this way too early lol. Environment:
Steps to replicate:
Edit2: beta2 shows the same symptoms. |
Ok, what I did now:
Is this all correct? At which point does it break for you? To be honest, I also don't see why the server shouldn't find a method in a class based on the way a file was shared. |
I cant really reproduce this with a fresh install (due to lack of time), but my playground instance on my public facing server which is experiencing said issue was always getting upgraded through the updater. Did you try to share by public url, thats what seems to be broken for me. Trust me this is annoying and i totally understand it sounds weird but it only popped up after i updated to beta 14 so it must be related to nextcloud or the update process. |
yes, I shared a folder as public link and both downloaded and uploaded files successfully over the public link. Do you use any special external storage, 3rdparty apps,... etc? |
@icewind1991 do you have any idea maybe? |
@schiessle nothing really, im using the "local" storage only. My encryption settings are:
Edit: Edit2:
|
Simple to reproduce, same as @MartB :
Using Docker (Linuxserver container) with unRAID here. I reproduced this 2 times in a row. |
There are two versions for Icewind\Streams:
The version in files_external is older and does not include "isDirectoryHandle". Maybe this is related to this issue. |
Do you all run from git? |
@rullzer nope, just used the official updater from beta branch 13 to beta branch 14. Maybe something is broken in these update archives? |
@MartB unlikely as that is what @schiessle is using to test. |
@schiessle can you try your steps with the files_external app enabled? |
@rullzer that's it. As soon as I enable the external storage app I can reproduce it. Any idea how to fix this? The problem seems to be introduced with Nextcloud 14, I tried Nextcloud 13 and there it works also with external storages enabled. |
@schiessle @rullzer 🙏 |
@schiessle I think it is related to #10430 (comment) because they are not the same version. Let me see if I can update it and get feedback from @icewind1991 |
Of course it probably make sense to just not ship it in the 3rdparty one... but lets see. |
Fixes #10430 Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
core also depends on it |
Fixes #10430 Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This should be fixed now with Nextcloud 1 beta 3. Please re-open the ticket and/or reply here if the problem still persist for you |
server/lib/private/Files/Stream/Encryption.php
Line 198 in 3f2a5c9
Workaround:
Disable the External Files Application as specified here: #10430 (comment)
The text was updated successfully, but these errors were encountered: