瀏覽代碼

attempt to fix socket on Windows

Sebastian Stenzel 3 年之前
父節點
當前提交
c10a909ea4

+ 4 - 0
src/main/java/org/cryptomator/ipc/Client.java

@@ -6,7 +6,9 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.net.UnixDomainSocketAddress;
 import java.nio.channels.SocketChannel;
+import java.nio.file.Files;
 import java.nio.file.Path;
+import java.nio.file.attribute.BasicFileAttributes;
 import java.util.concurrent.Executor;
 
 class Client implements IpcCommunicator {
@@ -20,6 +22,8 @@ class Client implements IpcCommunicator {
 	}
 
 	public static Client create(Path socketPath) throws IOException {
+		// fail with NoSuchFileException early to prevent implicit creation of socket on Windows:
+		socketPath.getFileSystem().provider().checkAccess(socketPath);
 		var address = UnixDomainSocketAddress.of(socketPath);
 		var socketChannel = SocketChannel.open(address);
 		LOG.info("Connected to IPC server on UNIX socket {}", socketPath);

+ 0 - 2
src/test/java/org/cryptomator/ipc/IpcCommunicatorTest.java

@@ -1,11 +1,9 @@
 package org.cryptomator.ipc;
 
-import com.google.common.util.concurrent.MoreExecutors;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.function.Executable;
 import org.junit.jupiter.api.io.TempDir;
-import org.mockito.Mockito;
 
 import java.io.IOException;
 import java.nio.file.Path;