From 12461a55a8246930c1bbeb19a60d0d4b52ff5abd Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Sat, 19 Oct 2019 22:04:48 +0200 Subject: MacOSX: Support APFS for creating volumes. --- src/Main/CommandLineInterface.cpp | 2 ++ src/Main/Forms/VolumeCreationWizard.cpp | 1 + src/Main/Forms/VolumeFormatOptionsWizardPage.cpp | 4 ++++ src/Main/TextUserInterface.cpp | 6 ++++++ 4 files changed, 13 insertions(+) (limited to 'src/Main') diff --git a/src/Main/CommandLineInterface.cpp b/src/Main/CommandLineInterface.cpp index a0924de4..171bd165 100644 --- a/src/Main/CommandLineInterface.cpp +++ b/src/Main/CommandLineInterface.cpp @@ -321,6 +321,8 @@ namespace VeraCrypt } else if (str.IsSameAs (L"exFAT", false)) ArgFilesystem = VolumeCreationOptions::FilesystemType::exFAT; + else if (str.IsSameAs (L"APFS", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::APFS; #elif defined (TC_FREEBSD) || defined (TC_SOLARIS) else if (str.IsSameAs (L"UFS", false)) ArgFilesystem = VolumeCreationOptions::FilesystemType::UFS; diff --git a/src/Main/Forms/VolumeCreationWizard.cpp b/src/Main/Forms/VolumeCreationWizard.cpp index b28b1c37..c0201b0e 100644 --- a/src/Main/Forms/VolumeCreationWizard.cpp +++ b/src/Main/Forms/VolumeCreationWizard.cpp @@ -475,6 +475,7 @@ namespace VeraCrypt #elif defined (TC_MACOSX) case VolumeCreationOptions::FilesystemType::MacOsExt: fsFormatter = "newfs_hfs"; break; case VolumeCreationOptions::FilesystemType::exFAT: fsFormatter = "newfs_exfat"; break; + case VolumeCreationOptions::FilesystemType::APFS: fsFormatter = "newfs_apfs"; break; #elif defined (TC_FREEBSD) || defined (TC_SOLARIS) case VolumeCreationOptions::FilesystemType::UFS: fsFormatter = "newfs" ; break; #endif diff --git a/src/Main/Forms/VolumeFormatOptionsWizardPage.cpp b/src/Main/Forms/VolumeFormatOptionsWizardPage.cpp index ec0d7780..38657059 100644 --- a/src/Main/Forms/VolumeFormatOptionsWizardPage.cpp +++ b/src/Main/Forms/VolumeFormatOptionsWizardPage.cpp @@ -13,6 +13,7 @@ #include "System.h" #include "Main/GraphicUserInterface.h" #include "VolumeFormatOptionsWizardPage.h" +#include namespace VeraCrypt { @@ -40,6 +41,8 @@ namespace VeraCrypt #elif defined (TC_MACOSX) FilesystemTypeChoice->Append (L"Mac OS Extended", (void *) VolumeCreationOptions::FilesystemType::MacOsExt); FilesystemTypeChoice->Append (L"exFAT", (void *) VolumeCreationOptions::FilesystemType::exFAT); + if (wxPlatformInfo::Get().CheckOSVersion (10, 13)) + FilesystemTypeChoice->Append (L"APFS", (void *) VolumeCreationOptions::FilesystemType::APFS); #elif defined (TC_FREEBSD) || defined (TC_SOLARIS) FilesystemTypeChoice->Append (L"UFS", (void *) VolumeCreationOptions::FilesystemType::UFS); #endif @@ -81,6 +84,7 @@ namespace VeraCrypt case VolumeCreationOptions::FilesystemType::Ext3: FilesystemTypeChoice->SetStringSelection (L"Linux Ext3"); break; case VolumeCreationOptions::FilesystemType::Ext4: FilesystemTypeChoice->SetStringSelection (L"Linux Ext4"); break; case VolumeCreationOptions::FilesystemType::MacOsExt: FilesystemTypeChoice->SetStringSelection (L"Mac OS Extended"); break; + case VolumeCreationOptions::FilesystemType::APFS: FilesystemTypeChoice->SetStringSelection (L"APFS"); break; case VolumeCreationOptions::FilesystemType::UFS: FilesystemTypeChoice->SetStringSelection (L"UFS"); break; default: diff --git a/src/Main/TextUserInterface.cpp b/src/Main/TextUserInterface.cpp index b5263c45..1e007fc7 100644 --- a/src/Main/TextUserInterface.cpp +++ b/src/Main/TextUserInterface.cpp @@ -20,6 +20,7 @@ #include "Platform/Unix/Process.h" #endif +#include #include "Common/SecurityToken.h" #include "Core/RandomNumberGenerator.h" #include "Application.h" @@ -785,6 +786,10 @@ namespace VeraCrypt #elif defined (TC_MACOSX) ShowInfo (L" 3) Mac OS Extended"); filesystems.push_back (VolumeCreationOptions::FilesystemType::MacOsExt); ShowInfo (L" 4) exFAT"); filesystems.push_back (VolumeCreationOptions::FilesystemType::exFAT); + if (wxPlatformInfo::Get().CheckOSVersion (10, 13)) + { + ShowInfo (L" 5) APFS"); filesystems.push_back (VolumeCreationOptions::FilesystemType::APFS); + } #elif defined (TC_FREEBSD) || defined (TC_SOLARIS) ShowInfo (L" 3) UFS"); filesystems.push_back (VolumeCreationOptions::FilesystemType::UFS); #endif @@ -881,6 +886,7 @@ namespace VeraCrypt #elif defined (TC_MACOSX) case VolumeCreationOptions::FilesystemType::MacOsExt: fsFormatter = "newfs_hfs"; break; case VolumeCreationOptions::FilesystemType::exFAT: fsFormatter = "newfs_exfat"; break; + case VolumeCreationOptions::FilesystemType::APFS: fsFormatter = "newfs_apfs"; break; #elif defined (TC_FREEBSD) || defined (TC_SOLARIS) case VolumeCreationOptions::FilesystemType::UFS: fsFormatter = "newfs" ; break; #endif -- cgit v1.2.3