- fixes folder creation and automounting on Linux

- using IPv6 address for mounting on Windows only (hostnames on OS X and Linux)
This commit is contained in:
Sebastian Stenzel
2015-02-22 21:04:46 +01:00
parent 676cb10ef0
commit 507e21f8a3
4 changed files with 11 additions and 11 deletions
@@ -40,15 +40,13 @@ final class LinuxGvfsWebDavMounter implements WebDavMounterStrategy {
public WebDavMount mount(URI uri, String name) throws CommandFailedException {
final Script mountScript = Script.fromLines(
"set -x",
"gvfs-mount \"dav://localhost:$DAV_PORT$DAV_PATH\"",
"xdg-open \"dav://localhost:$DAV_PORT$DAV_PATH\"")
.addEnv("DAV_PORT", String.valueOf(uri.getPort()))
.addEnv("DAV_PATH", uri.getRawPath());
"gvfs-mount \"dav:$DAV_SSP\"",
"xdg-open \"dav:$DAV_SSP\"")
.addEnv("DAV_SSP", uri.getRawSchemeSpecificPart());
final Script unmountScript = Script.fromLines(
"set -x",
"gvfs-mount -u \"dav://localhost:$DAV_PORT$DAV_PATH\"")
.addEnv("DAV_PORT", String.valueOf(uri.getPort()))
.addEnv("DAV_PATH", uri.getRawPath());
"gvfs-mount -u \"dav:$DAV_SSP\"")
.addEnv("DAV_SSP", uri.getRawSchemeSpecificPart());
mountScript.execute();
return new WebDavMount() {
@Override
@@ -31,9 +31,9 @@ final class MacOsXWebDavMounter implements WebDavMounterStrategy {
final String path = "/Volumes/Cryptomator" + uri.getRawPath().replace('/', '_');
final Script mountScript = Script.fromLines(
"mkdir \"$MOUNT_PATH\"",
"mount_webdav -S -v $MOUNT_NAME \"[::1]:$PORT$DAV_PATH\" \"$MOUNT_PATH\"",
"mount_webdav -S -v $MOUNT_NAME \"$DAV_AUTHORITY$DAV_PATH\" \"$MOUNT_PATH\"",
"open \"$MOUNT_PATH\"")
.addEnv("PORT", String.valueOf(uri.getPort()))
.addEnv("DAV_AUTHORITY", uri.getRawAuthority())
.addEnv("DAV_PATH", uri.getRawPath())
.addEnv("MOUNT_PATH", path)
.addEnv("MOUNT_NAME", name);