From 7d6347f468050309d8b85089c13dd6d008297801 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Thu, 29 Sep 2016 15:41:19 +0200 Subject: MacOSX: remove MacFUSE dependency and link against OSXFuse library. Now, only standard OSXFuse install is needed without MacFUSE compatibility option. --- src/Core/Unix/MacOSX/CoreMacOSX.cpp | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'src/Core/Unix') diff --git a/src/Core/Unix/MacOSX/CoreMacOSX.cpp b/src/Core/Unix/MacOSX/CoreMacOSX.cpp index e7572e68..de801106 100644 --- a/src/Core/Unix/MacOSX/CoreMacOSX.cpp +++ b/src/Core/Unix/MacOSX/CoreMacOSX.cpp @@ -119,27 +119,20 @@ namespace VeraCrypt int status; bool bIsOSXFuse = false; - if ((status = sysctlbyname ("macfuse.version.number", fuseVersionString, &fuseVersionStringLength, NULL, 0)) != 0) + if ((status = sysctlbyname ("osxfuse.version.number", fuseVersionString, &fuseVersionStringLength, NULL, 0)) != 0) { fuseVersionStringLength = MAXHOSTNAMELEN; - if ((status = sysctlbyname ("osxfuse.version.number", fuseVersionString, &fuseVersionStringLength, NULL, 0)) != 0) + if ((status = sysctlbyname ("vfs.generic.osxfuse.version.number", fuseVersionString, &fuseVersionStringLength, NULL, 0)) != 0) { - fuseVersionStringLength = MAXHOSTNAMELEN; - if ((status = sysctlbyname ("vfs.generic.osxfuse.version.number", fuseVersionString, &fuseVersionStringLength, NULL, 0)) != 0) - { - throw HigherFuseVersionRequired (SRC_POS); - } - } - - // look for compatibility mode - struct stat sb; - if ((0 == stat("/usr/local/lib/libfuse.dylib", &sb)) && (0 == stat("/Library/Frameworks/MacFUSE.framework/MacFUSE", &sb))) - { - bIsOSXFuse = true; - } - else throw HigherFuseVersionRequired (SRC_POS); + } + } + // look for OSXFuse dynamic library + struct stat sb; + if (0 != stat("/usr/local/lib/libosxfuse_i64.2.dylib", &sb)) + { + throw HigherFuseVersionRequired (SRC_POS); } vector fuseVersion = StringConverter::Split (string (fuseVersionString), "."); @@ -149,12 +142,7 @@ namespace VeraCrypt uint32 fuseVersionMajor = StringConverter::ToUInt32 (fuseVersion[0]); uint32 fuseVersionMinor = StringConverter::ToUInt32 (fuseVersion[1]); - if (bIsOSXFuse) - { - if (fuseVersionMajor < 2 || (fuseVersionMajor == 2 && fuseVersionMinor < 5)) - throw HigherFuseVersionRequired (SRC_POS); - } - else if (fuseVersionMajor < 1 || (fuseVersionMajor == 1 && fuseVersionMinor < 3)) + if (fuseVersionMajor < 2 || (fuseVersionMajor == 2 && fuseVersionMinor < 5)) throw HigherFuseVersionRequired (SRC_POS); // Mount volume image -- cgit v1.2.3