diff --git a/src/main/java/org/cryptomator/ipc/Client.java b/src/main/java/org/cryptomator/ipc/Client.java index f79147e36..ab20cf842 100644 --- a/src/main/java/org/cryptomator/ipc/Client.java +++ b/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); diff --git a/src/test/java/org/cryptomator/ipc/IpcCommunicatorTest.java b/src/test/java/org/cryptomator/ipc/IpcCommunicatorTest.java index d5247ff7d..0b4e57f23 100644 --- a/src/test/java/org/cryptomator/ipc/IpcCommunicatorTest.java +++ b/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;