[1.5.0+] File name too long

Hey Community,

with Cryptomator 1.5.0 we updated our vault format to version 7. One of three key changes is the increased encrypted file name length. This can cause the problem, that encrypted files with a too long name don’t get synced to your cloud. This post describes how you can solve this problem and prevent it for the future, it does not describe the backgrounds. If your are interested, I refer to our docs and this thread.

That off the table, let’s get to the

Root of the Problem

To keep compatibility with all kind of filesystems and cloud storage providers, Cryptomator shortens the length of the encrypted file names. As long as this maximal file name length is bound to the storage location, the app can detect this limit and sets it locally for the vault. Unfortunately some cloud storage providers only implement the file name length limit in their sync client, which Cryptomator cannot detect.

Solution

The current workaround for this problem is to set the threshold manually.

For each vault the threshold is stored with the key "filenameLengthLimit" in the settings file of Cryptomator, settings.json. You can find it in the same location like the log files. This post explains how you can determine the correct value. But before changing it, you probably need to fix your vault.

Fix 1: Shorten your decrypted filenames

This method only works if no application depends on the naming of the too long files and if there aren’t too many.

Cryptomator preservers the time stamps (creation, modifaction and last access) of your files, because these are needed for proper synchronisation. You can use this for your benefit. You sync client should point to the encrypted file, which got too long. Remember the time stamps of these files and look inside your vault for files with long names and the same timestamps (e.g. by using a script). Once you found the decrypted file names inside your vault, shorten them until the client does not mope around anymore.

Afterwards, quit Cryptomator, open the settings file of Cryptomator and set the number of "filenameLengthLimit" key to the correct value for the vault in question.

Workaround 2: Migrate to a vault with shorter threshold

The other way is to create a fresh vault, change directly after creation the shortening threshold and then copy all files from the old vault to the new one.

This may be the more feasible approach if a lot of files needs to be renamed.

Final Remark

This filename length limit is only stored locally. This implies, that if you use the vault on another computer you need to apply this setting again to prevent sync problems there.

2 Likes

Would you post values for common Cloud Providers and sync Tools please.

  • onedrive
  • Dropbox
  • resilio sync
  • syncthing
  • nextcloud

Maybe we need a Matrix that combines providers and OS (Linux, Win,…)?

Would it be possible to store this info with the vault so that it moves with the vault (and hence even syncs to cloud automatically)? Even if this was only for the initial value during creation of the vault, it would still be very useful to avoid issues. Even better if it can store the updated values in case of modification.

What about the mobile clients?
I’ve created a new vault in my windows machine and changed the file size option to 200.
What about my mobile iOS client? Is there any need or possibility to configure this too?

Best Regards

Yes, but this would require a new vault format and hence a format migration. We constantly try to improve the format, and this specific question is considered for future vault format versions.


A need maybe. A possibility currently not.

So for my understanding if the filename isn‘t to long there should be no problem with storing files to the vault from the iOS application?
The worst case would be a file in the vault which doesn‘t sync to the Desktop and can only be deleted within the iOS application and should be stored again with a shorter name?

Yes.

For the first it depends how you integrate the cloud storage into the system, but yeah, the bottom line is that you won’t see those files & directories and they can only be deleted from other devices.

1 Like
© 2020 Skymatic GmbH • Privacy PolicyImpressum