From 78cffe2f60eb1bdbcf9bf2c336e9a78aa8316264 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Mon, 7 Jul 2025 11:32:19 +0200 Subject: [PATCH] fix password tab on migrated legacy vaults --- .../org/cryptomator/common/vaults/VaultListManager.java | 4 ++-- .../org/cryptomator/ui/keyloading/KeyLoadingStrategy.java | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/cryptomator/common/vaults/VaultListManager.java b/src/main/java/org/cryptomator/common/vaults/VaultListManager.java index 6dacfcb8a..ce1b2433c 100644 --- a/src/main/java/org/cryptomator/common/vaults/VaultListManager.java +++ b/src/main/java/org/cryptomator/common/vaults/VaultListManager.java @@ -9,13 +9,13 @@ package org.cryptomator.common.vaults; import org.apache.commons.lang3.SystemUtils; -import org.cryptomator.common.Constants; import org.cryptomator.common.settings.Settings; import org.cryptomator.common.settings.VaultSettings; import org.cryptomator.cryptofs.CryptoFileSystemProvider; import org.cryptomator.cryptofs.DirStructure; import org.cryptomator.cryptofs.migration.Migrators; import org.cryptomator.integrations.mount.MountService; +import org.cryptomator.ui.keyloading.masterkeyfile.MasterkeyFileLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -125,7 +125,7 @@ public class VaultListManager { vaultSettings.lastKnownKeyLoader.set(keyIdScheme); } } else if (vaultState == NEEDS_MIGRATION) { - vaultSettings.lastKnownKeyLoader.set(Constants.DEFAULT_KEY_ID.toString()); + vaultSettings.lastKnownKeyLoader.set(MasterkeyFileLoadingStrategy.SCHEME); } return vaultComponentFactory.create(vaultSettings, wrapper, vaultState, null).vault(); } catch (IOException e) { diff --git a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java index b9af0f4a3..eb6ecbfa3 100644 --- a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java +++ b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java @@ -46,15 +46,16 @@ public interface KeyLoadingStrategy extends MasterkeyLoader { /** * Determines whether the provided key loader scheme corresponds to a Masterkey File Vault. *

- * This method checks if the {@code keyLoader} parameter matches the known Masterkey File Vault scheme + * This method checks if the {@code keyLoader} parameter starts with the known Masterkey File Vault scheme * {@link MasterkeyFileLoadingStrategy#SCHEME}. + * This allows identifying not only exact matches but also variants or extended schemes based on the Masterkey scheme. *

* * @param keyLoader A string representing the key loader scheme to be checked. - * @return {@code true} if the given key loader scheme represents a Masterkey File Vault; {@code false} otherwise. + * @return {@code true} if the given key loader scheme starts with the Masterkey File Vault scheme; {@code false} otherwise. */ static boolean isMasterkeyFileVault(String keyLoader) { - return MasterkeyFileLoadingStrategy.SCHEME.equals(keyLoader); + return keyLoader.startsWith(MasterkeyFileLoadingStrategy.SCHEME); } /**