Sebastian Stenzel 7 năm trước cách đây
mục cha
commit
df9fa9ebad
2 tập tin đã thay đổi với 8 bổ sung5 xóa
  1. 2 2
      main/pom.xml
  2. 6 3
      main/ui/src/main/java/org/cryptomator/ui/model/Vault.java

+ 2 - 2
main/pom.xml

@@ -27,8 +27,8 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
 		<!-- dependency versions -->
-		<cryptomator.cryptolib.version>1.1.1</cryptomator.cryptolib.version>
-		<cryptomator.cryptofs.version>1.2.3</cryptomator.cryptofs.version>
+		<cryptomator.cryptolib.version>1.1.2</cryptomator.cryptolib.version>
+		<cryptomator.cryptofs.version>1.3.0</cryptomator.cryptofs.version>
 		<cryptomator.webdav.version>0.6.1</cryptomator.webdav.version>
 		<cryptomator.jni.version>1.0.2</cryptomator.jni.version>
 		<slf4j.version>1.7.25</slf4j.version>

+ 6 - 3
main/ui/src/main/java/org/cryptomator/ui/model/Vault.java

@@ -16,6 +16,7 @@ import java.nio.file.FileSystem;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.EnumSet;
 import java.util.Objects;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Function;
@@ -30,6 +31,7 @@ import org.cryptomator.common.settings.Settings;
 import org.cryptomator.common.settings.VaultSettings;
 import org.cryptomator.cryptofs.CryptoFileSystem;
 import org.cryptomator.cryptofs.CryptoFileSystemProperties;
+import org.cryptomator.cryptofs.CryptoFileSystemProperties.FileSystemFlags;
 import org.cryptomator.cryptofs.CryptoFileSystemProvider;
 import org.cryptomator.cryptolib.api.CryptoException;
 import org.cryptomator.cryptolib.api.InvalidPassphraseException;
@@ -79,12 +81,13 @@ public class Vault {
 	// ********************************************************************************/
 
 	private CryptoFileSystem getCryptoFileSystem(CharSequence passphrase) throws IOException, CryptoException {
-		return LazyInitializer.initializeLazily(cryptoFileSystem, () -> createCryptoFileSystem(passphrase), IOException.class);
+		return LazyInitializer.initializeLazily(cryptoFileSystem, () -> unlockCryptoFileSystem(passphrase), IOException.class);
 	}
 
-	private CryptoFileSystem createCryptoFileSystem(CharSequence passphrase) throws IOException, CryptoException {
+	private CryptoFileSystem unlockCryptoFileSystem(CharSequence passphrase) throws IOException, CryptoException {
 		CryptoFileSystemProperties fsProps = CryptoFileSystemProperties.cryptoFileSystemProperties() //
 				.withPassphrase(passphrase) //
+				.withFlags(EnumSet.noneOf(FileSystemFlags.class)) // TODO: use withFlags() with CryptoFS 1.3.1
 				.withMasterkeyFilename(MASTERKEY_FILENAME) //
 				.build();
 		return CryptoFileSystemProvider.newFileSystem(getPath(), fsProps);
@@ -99,7 +102,7 @@ public class Vault {
 			}
 		}
 		if (!isValidVaultDirectory()) {
-			createCryptoFileSystem(passphrase).close(); // implicitly creates a non-existing vault
+			CryptoFileSystemProvider.initialize(getPath(), MASTERKEY_FILENAME, passphrase);
 		} else {
 			throw new FileAlreadyExistsException(getPath().toString());
 		}