"Server E2EE version 1.2, not compatible" plus "serious internal error in end-to-end encryption"
@marinofaggiana is already working on this.
Since Feb 26, 2024.
- Dominant language
- Swift
- Stars
- 2.5k
- Forks
- 1k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 13
Description
Steps to reproduce
- See steps at https://github.com/nextcloud/desktop/issues/5918#issuecomment-1962958510
- Create a new folder in an E2EE folder (using the Windows client)
- Open NC iOS app and open a E2EE folder
Expected behaviour
Folder content is shown, including the plain text name of the new created folder.
Actual behaviour
Error message is shown. Newly created folder is not shown in plain text.
Screenshots
Accessing E2EE folder with a newly created sub folder:
Going to an older subfolder which contains another newly created sub folder:
Status of E2EE on iOS:
Logs
When only accessing E2EE folder initially there was once in the server log:
[no app in context] Fehler: OCA\EndToEndEncryption\Exceptions\MissingMetaDataException: Intermediate meta-data file missing at <<closure>>
0. /var/www/nextcloud/apps/end_to_end_encryption/lib/Controller/LockingController.php line 158
OCA\EndToEndEncryption\MetaDataStorage->saveIntermediateFile()
1. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 230
OCA\EndToEndEncryption\Controller\LockingController->unlockFolder()
2. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 137
OC\AppFramework\Http\Dispatcher->executeController()
4. /var/www/nextcloud/lib/private/AppFramework/App.php line 183
OC\AppFramework\Http\Dispatcher->dispatch()
5. /var/www/nextcloud/lib/private/Route/Router.php line 315
OC\AppFramework\App::main()
6. /var/www/nextcloud/ocs/v1.php line 65
OC\Route\Router->match()
7. /var/www/nextcloud/ocs/v2.php line 23
require_once("/var/www/nextcloud/ocs/v1.php")
DELETE /ocs/v2.php/apps/end_to_end_encryption/api/v1/lock/1038380?e2e-token=r6rXXXXYevR5h8yeXXXXVG2YlrVXXXXx24xPttVXXXXbDph8UXXXXuXuMyXXXXcu
from xxx.xxx.xxx.xxx by Username at 2024-02-25T15:27:41+01:00
(few parts masked with xxx | XXX)
Now when creating a new E2EE folder on the iOS app, after it synced to a Windows endpoint, trying to delete that folder on the Windows endpoint, desktop client shows an error and server log contains:
[webdav] Fehler: OCA\DAV\Connector\Sabre\Exception\Forbidden: Write access to end-to-end encrypted folder requires token - no token sent at <<closure>>
0. /var/www/nextcloud/apps/end_to_end_encryption/lib/Connector/Sabre/LockPlugin.php line 143
OCA\EndToEndEncryption\Connector\Sabre\LockPlugin->verifyTokenOnWriteAccess()
1. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
OCA\EndToEndEncryption\Connector\Sabre\LockPlugin->checkLock()
2. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 456
Sabre\DAV\Server->emit()
3. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 253
Sabre\DAV\Server->invokeMethod()
4. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 321
Sabre\DAV\Server->start()
5. /var/www/nextcloud/apps/dav/lib/Server.php line 365
Sabre\DAV\Server->exec()
6. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35
OCA\DAV\Server->exec()
8. /var/www/nextcloud/remote.php line 172
require_once("/var/www/nextcl ... p")
DELETE /remote.php/dav/files/Username/Test
from XXX.XXX.XXX.XXX by Username at 2024-02-25T15:52:06+01:00
If now content is added to a (with iOS app) newly created E2EE folder, it will never be synced to a Windows endpoint (trying forever) - nothing in server logs for this:
Reasoning or why should it be changed/implemented?
There's obviously a serious E2EE issue - again!
So move this to whereever you think: iOS, desktop, end_to_end_encryption.
I think it all started with https://github.com/nextcloud/desktop/issues/5564 back then - BUT I had a rather working setup (except for https://github.com/nextcloud/desktop/issues/5918 on Windows endpoints/the desktop client).
Environment data
iOS version: 16.7.5
Nextcloud iOS app version: 5.1.0.7
Server operating system: Raspberry Pi OS
Web server: nginx
Database: MariaDB
PHP version: 8.3
Nextcloud version: 27.1.5
Seriously: how can I start with E2EE from scratch? I only and every see issues with it, despite the fact I need it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.