VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2016-09-29 15:41:19 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2016-10-17 18:40:21 +0200
commit7d6347f468050309d8b85089c13dd6d008297801 (patch)
tree1b723c1396258dfae3ab7bcb1e9f87141e739b79
parente362d804b0a9e92b36f3e2d28d08bbbc387ac9a2 (diff)
downloadVeraCrypt-7d6347f468050309d8b85089c13dd6d008297801.tar.gz
VeraCrypt-7d6347f468050309d8b85089c13dd6d008297801.zip
MacOSX: remove MacFUSE dependency and link against OSXFuse library. Now, only standard OSXFuse install is needed without MacFUSE compatibility option.
-rw-r--r--src/Core/Unix/MacOSX/CoreMacOSX.cpp32
-rw-r--r--src/Main/Main.make5
-rw-r--r--src/Main/UserInterface.cpp2
-rwxr-xr-xsrc/Setup/MacOSX/veracrypt.pkgproj51
4 files changed, 17 insertions, 73 deletions
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 <string> 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
diff --git a/src/Main/Main.make b/src/Main/Main.make
index f4f254e1..8f223517 100644
--- a/src/Main/Main.make
+++ b/src/Main/Main.make
@@ -106,8 +106,11 @@ endif
#------ FUSE configuration ------
+ifeq "$(PLATFORM)" "MacOSX"
+FUSE_LIBS = $(shell pkg-config osxfuse --libs)
+else
FUSE_LIBS = $(shell pkg-config fuse --libs)
-
++endif
#------ Executable ------
diff --git a/src/Main/UserInterface.cpp b/src/Main/UserInterface.cpp
index 8d4b701a..978a0375 100644
--- a/src/Main/UserInterface.cpp
+++ b/src/Main/UserInterface.cpp
@@ -493,7 +493,7 @@ namespace VeraCrypt
EX2MSG (UnsupportedTrueCryptFormat, LangString["UNSUPPORTED_TRUECRYPT_FORMAT"]);
#ifdef TC_MACOSX
- EX2MSG (HigherFuseVersionRequired, _("VeraCrypt requires OSXFUSE 2.3 or later with MacFUSE compatibility layer installer.\nPlease ensure that you have selected this compatibility layer during OSXFUSE installation."));
+ EX2MSG (HigherFuseVersionRequired, _("VeraCrypt requires OSXFUSE 2.5 or above."));
#endif
#undef EX2MSG
diff --git a/src/Setup/MacOSX/veracrypt.pkgproj b/src/Setup/MacOSX/veracrypt.pkgproj
index 3eb42385..fe883f48 100755
--- a/src/Setup/MacOSX/veracrypt.pkgproj
+++ b/src/Setup/MacOSX/veracrypt.pkgproj
@@ -790,7 +790,7 @@
<key>SECONDARY_VALUE</key>
<string></string>
<key>VALUE</key>
- <string>OSXFuse seems to be missing on your machine. VeraCrypt requires OSXFuse 2.3 or above.
+ <string>OSXFuse seems to be missing on your machine. VeraCrypt requires OSXFuse 2.5 or above.
Please download the latest OSXFuse version from :
https://osxfuse.github.io/</string>
</dict>
@@ -800,7 +800,7 @@ https://osxfuse.github.io/</string>
<key>SECONDARY_VALUE</key>
<string></string>
<key>VALUE</key>
- <string>OSXFuse semble ne pas être installé sur votre machine. VeraCrypt nécessite OSXFuse 2.3 ou supérieur.
+ <string>OSXFuse semble ne pas être installé sur votre machine. VeraCrypt nécessite OSXFuse 2.5 ou supérieur.
Merci de télécharger la dernière version de OSXFuse à partir de :
https://osxfuse.github.io/
@@ -812,53 +812,6 @@ https://osxfuse.github.io/
<key>STATE</key>
<true/>
</dict>
- <dict>
- <key>BEHAVIOR</key>
- <integer>3</integer>
- <key>DICTIONARY</key>
- <dict>
- <key>IC_REQUIREMENT_FILES_CONDITION</key>
- <integer>0</integer>
- <key>IC_REQUIREMENT_FILES_DISK_TYPE</key>
- <integer>1</integer>
- <key>IC_REQUIREMENT_FILES_LIST</key>
- <array>
- <string>/Library/Frameworks/MacFUSE.framework/MacFUSE</string>
- <string>/usr/local/lib/libfuse.dylib</string>
- </array>
- <key>IC_REQUIREMENT_FILES_SELECTOR</key>
- <integer>1</integer>
- </dict>
- <key>IC_REQUIREMENT_CHECK_TYPE</key>
- <integer>0</integer>
- <key>IDENTIFIER</key>
- <string>fr.whitebox.Packages.requirement.files</string>
- <key>MESSAGE</key>
- <array>
- <dict>
- <key>LANGUAGE</key>
- <string>English</string>
- <key>SECONDARY_VALUE</key>
- <string></string>
- <key>VALUE</key>
- <string>VeraCrypt needs OSXFUSE to be installed with MacFUSE compatibility layer enabled.
-Please re-install OSXFUSE and check the MacFUSE compatibility layer in the installer.</string>
- </dict>
- <dict>
- <key>LANGUAGE</key>
- <string>French</string>
- <key>SECONDARY_VALUE</key>
- <string></string>
- <key>VALUE</key>
- <string>VeraCrypt nécessite que OSXFUSE soit installé avec l'option "MacFUSE compatibility layer".
-Merci de ré-installer OSXFUSE et de cocher l'option de compatibilité MacFUSE dans l'installeur.</string>
- </dict>
- </array>
- <key>NAME</key>
- <string>MacFUSE compatibility layer</string>
- <key>STATE</key>
- <true/>
- </dict>
</array>
<key>POSTINSTALL_PATH</key>
<dict/>