Skip to content
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

Integrity verification / corruption detection #3296

Open
2 tasks done
marco-eckstein opened this issue Jan 26, 2024 · 0 comments
Open
2 tasks done

Integrity verification / corruption detection #3296

marco-eckstein opened this issue Jan 26, 2024 · 0 comments
Labels
type:feature-request New feature or request

Comments

@marco-eckstein
Copy link

Please agree to the following

Summary

If a vault is corrupted, Cryptomator should detect it and warn the user very prominently instead of attempting to continue to work as if everything is fine, potentially resulting in the user copying and moving corrupted files everywhere.

Motivation

I recently noticed that my vault is corrupt and exhibited very concerning symptoms. Supposedly simple operations like copying and moving files behaved in an unpredictable way. Most importantly, files got corrupted. I only noticed this when copy/move operations began to behave weirdly and I started to systematically investigate the issues. Previously, corruption of files may have gone unnoticed for a while, because this vault has only been used for photo and video files that still appeared to be fine, with the corruption being so subtle that viewer software and my eyes could not detect it.

I wanted to file a bug first, but then I realized that in the past I may have accidentally and randomly deleted some raw vault files (i.e. not via the volume provided by Cryptomator). But I think it is still very concerning that Cryptomator does not detect the corrupt vault and does not warn the user about it.

Cryptomator should check for integrity of the involved files and folders before every operation. If corruption is detected, it should warn the user in a prominent way. It should allow the user to still access the corrupt data so that the user can still save what can be saved. But it should encourage the user to delete the vault and create a new one. Ideally, Cryptomator should be able to detect which files my be corrupt and which are definitely not, but a general message like "Vault is corrupt. Safe the potentially corrupted files elsewhere. Then create a new vault" would still be better than just keep on working as if everything was fine.

These are the issues I have observed with my corrupt vault:

  • Some different files in the same folder had the same name - something that should not be possible in any file system.
  • Some files could not be copied properly. The copies were not binary equal.

Interestingly, I cannot reproduce these issues anymore. I am not sure what I did in the meantime. Maybe I remounted the vault. But the following issues where still present afterwards:

  • When I copied a folder from the vault to the local disk via File Explorer - even though the destination folder did not not exist - I got the message "The destination has 2 files with the same names". Luckily, no matter whether I chose "replace" or "skip", the copy was fine.
  • When I deleted a folder via File Explorer, I got the message "Item not found". After I chose "skip", some random file in the folder would still be present.

System:

  • Windows 10
  • Cryptomator 1.11.1 (msi-4989)
  • Vault is on Google Drive, synced with Google Drive for desktop

Considered Alternatives

No response

Anything else?

No response

@marco-eckstein marco-eckstein added the type:feature-request New feature or request label Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant