From d53b48bdf02acca8972739f30dae547d0375c21b Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Tue, 26 Jan 2016 01:27:14 +0100 Subject: Linux/MacOSX: fix issue creating volumes using command line with a filesystem other than FAT. --- src/Main/CommandLineInterface.cpp | 21 +++++++++++++++++++++ src/Main/TextUserInterface.cpp | 4 ++++ 2 files changed, 25 insertions(+) (limited to 'src') diff --git a/src/Main/CommandLineInterface.cpp b/src/Main/CommandLineInterface.cpp index c91976ed..f0d1f257 100644 --- a/src/Main/CommandLineInterface.cpp +++ b/src/Main/CommandLineInterface.cpp @@ -297,6 +297,27 @@ namespace VeraCrypt if (str.IsSameAs (L"FAT", false)) ArgFilesystem = VolumeCreationOptions::FilesystemType::FAT; +#ifdef TC_LINUX + else if (str.IsSameAs (L"Ext2", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::Ext2; + else if (str.IsSameAs (L"Ext3", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::Ext3; + else if (str.IsSameAs (L"Ext4", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::Ext4; + else if (str.IsSameAs (L"NTFS", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::NTFS; +#elif defined (TC_MACOSX) + else if ( str.IsSameAs (L"HFS", false) + || str.IsSameAs (L"HFS+", false) + || str.IsSameAs (L"MacOsExt", false) + ) + { + ArgFilesystem = VolumeCreationOptions::FilesystemType::MacOsExt; + } +#elif defined (TC_FREEBSD) || defined (TC_SOLARIS) + else if (str.IsSameAs (L"UFS", false)) + ArgFilesystem = VolumeCreationOptions::FilesystemType::UFS; +#endif else ArgFilesystem = VolumeCreationOptions::FilesystemType::None; } diff --git a/src/Main/TextUserInterface.cpp b/src/Main/TextUserInterface.cpp index c5d64d15..fb654f3a 100644 --- a/src/Main/TextUserInterface.cpp +++ b/src/Main/TextUserInterface.cpp @@ -883,6 +883,10 @@ namespace VeraCrypt if (options->Filesystem == VolumeCreationOptions::FilesystemType::MacOsExt && options->Size >= 10 * BYTES_PER_MB) args.push_back ("-J"); + // Perform a quick NTFS formatting + if (options->Filesystem == VolumeCreationOptions::FilesystemType::NTFS) + args.push_back ("-f"); + args.push_back (string (virtualDevice)); Process::Execute (fsFormatter, args); -- cgit v1.2.3