diff --git a/pom.xml b/pom.xml index 5e4641944..ab40f06b9 100644 --- a/pom.xml +++ b/pom.xml @@ -34,10 +34,10 @@ 2.9.0 - 1.5.1 - 1.3.0 - 1.3.2 - 1.5.3 + 1.6.0 + 1.5.0 + 1.4.0 + 1.6.0 5.0.5 2.0.10 diff --git a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java index 04a46e742..2ac356f9e 100644 --- a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java +++ b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java @@ -42,25 +42,11 @@ public class KeychainManager implements KeychainAccessProvider { return result; } - @Override - public String displayName() { - return getClass().getName(); - } - @Override public void storePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException { - storePassphrase(key, displayName, passphrase, true); - } - - //TODO: remove ignored parameter once the API is fixed - @Override - public void storePassphrase(String key, String displayName, CharSequence passphrase, boolean ignored) throws KeychainAccessException { try { lock.writeLock().lock(); - var kc = getKeychainOrFail(); - //this is the only keychain actually using the parameter - var usesOSAuth = (kc.getClass().getName().equals("org.cryptomator.macos.keychain.TouchIdKeychainAccess")); - kc.storePassphrase(key, displayName, passphrase, usesOSAuth); + getKeychainOrFail().storePassphrase(key, displayName, passphrase); } finally { lock.writeLock().unlock(); } diff --git a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java index 4505f412d..584749920 100644 --- a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java @@ -85,7 +85,7 @@ public class GeneralPreferencesController implements FxController { var keychainSettingsConverter = new ServiceToSettingsConverter<>(keychainAccessProviders); keychainBackendChoiceBox.getItems().addAll(keychainAccessProviders); keychainBackendChoiceBox.setValue(keychainSettingsConverter.fromString(settings.keychainProvider.get())); - keychainBackendChoiceBox.setConverter(new KeychainProviderDisplayNameConverter()); + keychainBackendChoiceBox.setConverter(new NamedServiceConverter<>()); Bindings.bindBidirectional(settings.keychainProvider, keychainBackendChoiceBox.valueProperty(), keychainSettingsConverter); useKeychainCheckbox.selectedProperty().bindBidirectional(settings.useKeychain); keychainBackendChoiceBox.disableProperty().bind(useKeychainCheckbox.selectedProperty().not()); @@ -106,13 +106,13 @@ public class GeneralPreferencesController implements FxController { var idsAndNames = settings.directories.stream().collect(Collectors.toMap(vs -> vs.id, vs -> vs.displayName.getValue())); if (!idsAndNames.isEmpty()) { if (LOG.isDebugEnabled()) { - LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.displayName(), newProvider.displayName()); + LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.getName(), newProvider.getName()); } keychainMigrations = keychainMigrations.thenRunAsync(() -> { try { KeychainManager.migrate(oldProvider, newProvider, idsAndNames); } catch (KeychainAccessException e) { - LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.displayName(), newProvider.displayName(), e); + LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.getName(), newProvider.getName(), e); } }, backgroundExecutor); } @@ -151,25 +151,6 @@ public class GeneralPreferencesController implements FxController { } /* Helper classes */ - - private static class KeychainProviderDisplayNameConverter extends StringConverter { - - @Override - public String toString(KeychainAccessProvider provider) { - if (provider == null) { - return null; - } else { - return provider.displayName(); - } - } - - @Override - public KeychainAccessProvider fromString(String string) { - throw new UnsupportedOperationException(); - } - - } - private static class NamedServiceConverter extends StringConverter { @Override diff --git a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java index 73c8da522..c2d171c3b 100644 --- a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java +++ b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java @@ -16,12 +16,7 @@ class MapKeychainAccess implements KeychainAccessProvider { private final Map map = new HashMap<>(); @Override - public String displayName() { - return getClass().getName(); - } - - @Override - public void storePassphrase(String key, String displayName,CharSequence passphrase, boolean ignored) { + public void storePassphrase(String key, String displayName,CharSequence passphrase) { char[] pw = new char[passphrase.length()]; for (int i = 0; i < passphrase.length(); i++) { pw[i] = passphrase.charAt(i);