Commit Graph

1495 Commits

Author SHA1 Message Date
Mounir IDRASSI
afc11eca51
Windows: Add UI options to control the behavior of automatic bootloader fixing when System Encryption used. 2020-07-08 02:16:06 +02:00
Mounir IDRASSI
4c6b5df80b
Update Release Notes with latest Windows change (password drag-n-drop support) 2020-07-06 18:19:01 +02:00
Mounir IDRASSI
3daaae0d48
Windows: correctly wipe password in UI input field in case of direct creation of Hidden volume or resuming non-system in-place encryption 2020-07-06 18:18:54 +02:00
Mounir IDRASSI
ff391d9a6a
Windows: Support direct password drag-n-drop from external applications (e.g. KeePass) which is more secure than using clipboard. 2020-07-06 18:18:47 +02:00
Mounir IDRASSI
7a87141e53
Increment internal version to 1.24.19 2020-07-04 00:46:44 +02:00
Mounir IDRASSI
002a9a29a7
Windows: Use native Windows format program first to perform formatting since it is more reliable and only fallback to FormatEx function from fmifs.dll in case of issue. 2020-07-02 02:21:25 +02:00
Mounir IDRASSI
28c51228f8
Windows: Hide the console windows of the native Windows format tool when we call it to perform formatting 2020-07-02 02:21:16 +02:00
Mounir IDRASSI
9a804654f5
Windows: Don't allow to encrypt the system drive if it is already encrypted by BitLocker 2020-07-02 02:20:58 +02:00
Mounir IDRASSI
ac3cccdd21
Windows: Replace GetSystemInfo calls by more reliable function to get number of CPUs active on the PC. 2020-07-02 02:20:50 +02:00
Mounir IDRASSI
3f587a3629
Windows: Don't use API for Processor Groups support if there is only 1 CPU group in the system. This can fix slowness issue observed on some PCs with AMD CPUs. 2020-07-02 02:20:42 +02:00
Mounir IDRASSI
5f04e5abd0
Linux/MacOSX: Allow choosing a filesystem other than FAT for outer volume but display warning about risks and implement an estimation of maximum possible size of hidden volume in this case. 2020-07-02 02:20:33 +02:00
Mounir IDRASSI
23d64ab195
Increment internal version to 1.24.18 and update signed Windows drivers. 2020-06-29 01:00:02 +02:00
Mounir IDRASSI
14fa3de4b6
Windows: Fallback to Windows native formatting tool if we fail to format a volume as NTFS/exFAT/ReFS using FormatEx function from fmifs.dll 2020-06-29 00:59:54 +02:00
Mounir IDRASSI
a8abe94992
Windows: Avoid displaying waiting dialog when /silent specified for "VeraCrypt Format" during creating of file container using /create switch and a filesystem other than FAT (fixes Github issue #648) 2020-06-29 00:59:39 +02:00
Mounir IDRASSI
885cc1d01d
Linux/MacOSX: Erase sensitive memory explicitly instead of relying on the compiler not optimizing calls to method Memory::Erase 2020-06-28 01:06:39 +02:00
Mounir IDRASSI
fded83d25c
Windows: Fix build error because of missing definition of the macro move_ptr 2020-06-28 01:06:30 +02:00
Mounir IDRASSI
b9099d01c2
Windows: Fix failure to detect suspension of machine that caused mounted volume not be dismount even if "Entering power saving mode" is checked in Preferences. This fix implements compatibility with Windows 10 Modern Standby and Windows 8.1 Connected Standby power model. 2020-06-28 01:06:22 +02:00
Mounir IDRASSI
b270a453aa
Windows: remove unused code targeting Windows 2000. 2020-06-28 01:06:14 +02:00
Mounir IDRASSI
7cb9b8dfc9
Windows: Update signed driver to version 1.24.17 2020-06-26 19:13:37 +02:00
Thomas De Rocker
a893b29749
Update Language.xml (#645)
fix typo
2020-06-26 17:23:07 +02:00
Mounir IDRASSI
5fb407cffe
Linux/MacOSX: use standard std::shared_ptr instead of our custom implementation which is kept for compatibility with older compilers. We also introduce compatibility code for old compilers that don't define std::unique_ptr 2020-06-26 01:22:18 +02:00
Mounir IDRASSI
4137c5e15b
Whirlpool: Remove unused "num" variable affectation in WHIRLPOOL_add 2020-06-26 01:22:10 +02:00
Mounir IDRASSI
53070f8bb5
Linux/MacOSX: fix warning reported by static code analysis tool about possible undefined output value in UserPreferences::SetValue and missing initialization of member variables in File constructor 2020-06-26 01:22:03 +02:00
Mounir IDRASSI
9a890ec2fc
Windows: fix warning reported by static code analyzed by adding copy constructor to _TEXT_EDIT_DIALOG_PARAM and = operator to HostDevice 2020-06-26 01:21:54 +02:00
Mounir IDRASSI
7d1724e93b
Crypto: Fix random crash in Streebog in 32-bit, caused by use of aligned SSE2 instructions _mm_load_si128. Now we use _mm_loadu_si128 instead which is not slower than _mm_load_si128 on recent CPUs 2020-06-25 01:32:39 +02:00
Mounir IDRASSI
cb1efdc9ae
Increment version to 1.24-Update7 2020-06-23 16:48:54 +02:00
Mounir IDRASSI
cf449a443e
Windows: Don't allow Hidden volume to have the same password, PIM and keyfiles as Outer volume 2020-06-23 16:48:46 +02:00
Mounir IDRASSI
4a5d1f4f46
Linux/MacOSX: explicitely clear saved password from memory at last step of volume creation wizard 2020-06-23 16:48:39 +02:00
Mounir IDRASSI
05b3cd5cc1
Linux/MacOSX: Use also PIM when comparing Outer and Hidden volumes credentials 2020-06-23 16:48:31 +02:00
Mounir IDRASSI
b4465b80e6
Linux/MacOSX: take into account keyfiles when comparing Outer and Hidden volumes passwords 2020-06-23 16:48:24 +02:00
Mounir IDRASSI
a29c750030
Linux/MacOSX: Don't allow Hidden volume to have the same password as Outer volume 2020-06-23 16:48:17 +02:00
Mounir IDRASSI
bec929ce03
Windows Driver: Use real disk sector size instead of generic 512 bytes value when probing disk real size 2020-06-21 17:42:08 +02:00
Mounir IDRASSI
a4c5f03bee
Linux/MacOSX: Read at least 32 bytes from /dev/random before allowing it to fail gracefully 2020-06-21 17:42:03 +02:00
Mounir IDRASSI
e97114e7a0
Windows: support RAM encryption only if t1ha2 algorithm self test succeeds 2020-06-21 00:27:22 +02:00
Mounir IDRASSI
0121dc0b81
Windows: Fix issue when RAM encryption used, AES selected and AES-NI not supported by CPU that caused the free space of newly created volumes not filled with random data even if "quick format" is not selected by user. 2020-06-21 00:27:15 +02:00
Mounir IDRASSI
d031addc2c
Windows: call VcProtectKeys in benchmark warm-up when RAM encryption is enabled in order to be follow the same execution path as the result of benchmark calculations. 2020-06-21 00:27:08 +02:00
Mounir IDRASSI
4f1de9666a
Linux/MacOSX: Don't always ignore /dev/random failure by making sure that it has returned random bytes successfully at least once during the lifetime of RandomNumberGenerator 2020-06-19 03:31:47 +02:00
Mounir IDRASSI
f765860dfb
Linux/MacOSX: Complete the change of removal of AES-NI detection function done for Windows previously 2020-06-19 03:31:39 +02:00
Mounir IDRASSI
7ab114e0fa
Windows: Fix wrong results in benchmark of encryption algorithms when RAM encryption is enabled 2020-06-19 01:28:14 +02:00
Mounir IDRASSI
0e3f4c40e3
Windows: remove duplicated function to detect AES-NI support in CPU 2020-06-19 01:28:07 +02:00
Mounir IDRASSI
eaf400b088
Windows: Update IDRIX SHA-1 code signing certificate to latest one. 2020-06-12 01:48:17 +02:00
Christopher Bergqvist
0a2c565aa9
Switch from auto_ptr to unique_ptr (#638) 2020-06-11 18:02:28 +02:00
Mounir IDRASSI
0127927b73
Windows: Update signed Windows driver to version 1.24.15 2020-03-11 14:01:41 +01:00
Mounir IDRASSI
99305d2239
Windows: Update Microsoft cross certificate for GlobalSign kernel code signing 2020-03-11 14:01:32 +01:00
Mounir IDRASSI
71c830522c
Windows: set correct version 1.24-Update6 in code signing scripts 2020-03-10 20:49:22 +01:00
Mounir IDRASSI
5452728091
Windows: Update URL of GlobalSign timestamp server 2020-03-10 20:38:02 +01:00
Mounir IDRASSI
23b7d417d4
Increment version to 1.24-Update6 2020-03-10 20:37:54 +01:00
Mounir IDRASSI
5afa0815c9
Windows setup: Fix wrong language used in installer if we select a language in the language selection dialog and then select English followed by OK. 2020-03-10 20:20:50 +01:00
Mounir IDRASSI
329d4f1c90
Windows: Fix truncation of PIM label in password dialog 2020-03-10 20:20:42 +01:00
Mounir IDRASSI
df9a075cb6
Update copyright year in credits 2020-03-10 10:33:45 +01:00
Mounir IDRASSI
4b6be1161b
Windows: Add missing libzip file to the build project 2020-03-10 10:33:36 +01:00
Mounir IDRASSI
6bda9d1b35
Set release date of 1.24-Update5 and update release notes 2020-03-10 10:33:26 +01:00
Mounir IDRASSI
5402fa902e
Windows: Add /secureDesktop switch to VeraCrypt Format 2020-03-10 10:33:18 +01:00
Mounir IDRASSI
da370af54b
Windows: Update libzip to 1.6.1 2020-03-10 10:33:01 +01:00
Mounir IDRASSI
7d110798d2
Windows: Fix compilation error caused by previous keyfile commit 2020-03-10 10:32:53 +01:00
Mounir IDRASSI
fa72ac51c4
Windows: Support using token keyfile when creating file container using command line 2020-03-10 10:32:45 +01:00
Mounir IDRASSI
6550030540
Windows: Fix keyfiles path passed as CLI argument and set as default not always cleared from RAM when VeraCrypt exits 2020-03-10 10:32:38 +01:00
Mounir IDRASSI
68b9c9c72d
Windows: Fix text truncation in password dialog with some languages 2020-03-10 10:32:31 +01:00
Mounir IDRASSI
8fa1596e73
Increment version to 1.24-Update5 and update signed Windows drivers. 2020-02-11 23:05:48 +01:00
Mounir IDRASSI
94d3a1919c
Windows: Implement support for processor groups in the driver and fix build issues caused by previous implementation 2020-02-10 02:23:25 +01:00
Mounir IDRASSI
c1d670fd75
Windows: Fix warnings reported by Coverity static code analyzer 2020-02-10 02:23:18 +01:00
Mounir IDRASSI
a7b61ce5e5
Windows: Fix groupbox alignment issue in UI of Fprmat wizard 2020-02-04 15:09:39 +01:00
techvintage
123b187af5
Adding Processor Groups support for more than 64 processors (#581)
*  Adding Processor Groups support for more than 64 processors

* Revert " Adding Processor Groups support for more than 64 processors"

This reverts commit e1d5fe0a55.

* Adding Processor Groups support for >64 logical processors
2020-01-29 11:10:00 +01:00
Mounir IDRASSI
247a16cb5f
Windows: restore Visual Studio solution and project files to default configuration 2020-01-22 18:30:30 +01:00
Mounir IDRASSI
11aa708076
Windows: use fix for CVE-2019-19501 only when process elevated otherwise it will not add any benefit compared to standard ShellExecute while at the same time potentially causing issue when opening links. 2020-01-22 18:20:35 +01:00
Mounir IDRASSI
3874e9af97
Increment version to 1.24-Update4 and update Release Notes 2020-01-22 18:20:27 +01:00
Mounir IDRASSI
c4893ce034
Linux: correct OpenSUSE build script to indicate that we link against GTK2 and not GTK3 2020-01-22 18:20:18 +01:00
Mounir IDRASSI
be1aee0034
Windows: Fix regression in Expander and Format when RAM encryption is enable that was causing volume headers to be corrupted. 2020-01-22 18:20:11 +01:00
Mounir IDRASSI
55831cad22
Windows: Support notifying WAITFOR.EXE Windows command when VeraCrypt.exe exits if /q was specified in CLI. This done using the new switch "/signalExit" who must have a string parameter that must be the same as the one that will be specified for WAITFOR.EXE command. 2020-01-21 01:46:18 +01:00
Mounir IDRASSI
b6c290e4fd
Windows: Fix failure of Screen Readers (Accessibility support) to reader UI by disabling newly introduced memory protection by default and adding a CLI switch (/protectMemory) to enable it when needed. This fixes issue https://github.com/veracrypt/VeraCrypt/issues/536 2020-01-21 01:46:11 +01:00
Mounir IDRASSI
8fe3eb0136
Windows: don't display mount/dismount examples in help dialog for command line in Format and Expander 2020-01-21 01:46:03 +01:00
Mounir IDRASSI
b0b149db83
Linux/MacOSX: Fix regression that limited the size available for hidden volumes
created on disk or partition.
2020-01-20 01:02:54 +01:00
Mounir IDRASSI
f9572ea8f5
Increment version to 1.24-Update3 for Linux and update Release Notes 2019-12-22 16:35:56 +01:00
Mounir IDRASSI
cdbe7854e8
Linux: Modify .deb build scripts to link against statically built wxWidgets on Ubuntu 14.04, 12.04 and Debian 8 2019-12-22 10:10:43 +01:00
Mounir IDRASSI
f8beac6ebd
Linux: Fix building and packaging console-only version to remove dependency on GTK 2019-12-21 02:46:50 +01:00
Gokturk Yuksek
de52f51f5b Fix the compilation against WxWidgets when NOGUI=1 (#570)
* Revert "Linux: Fix failure to run VeraCrypt binary built for console mode on headless machines (fix issue https://github.com/veracrypt/VeraCrypt/issues/531)"

The build failure still exists for system wxGTK compiled with '--disable-gui':

```
In file included from TextUserInterface.cpp:27:
TextUserInterface.h: In member function ‘virtual bool VeraCrypt::TextUserInterface::Initialize(int&, wxChar**)’:
TextUserInterface.h:50:63: error: ‘wxAppBase’ has not been declared
   50 |   virtual bool Initialize (int &argc, wxChar **argv) { return wxAppBase::Initialize(argc, argv); }
```

This reverts commit 737e1f126b.

* Revert "Linux: fix compilation error when building console-only version of VeraCrypt that is statically linked to wxWidgets"

The build failure still exists for system wxGTK compiled with '--disable-gui':

```
In file included from TextUserInterface.cpp:27:
TextUserInterface.h: In member function ‘virtual bool VeraCrypt::TextUserInterface::Initialize(int&, wxChar**)’:
TextUserInterface.h:50:63: error: ‘wxAppBase’ has not been declared
   50 |   virtual bool Initialize (int &argc, wxChar **argv) { return wxAppBase::Initialize(argc, argv); }
```

This reverts commit 14bee5e6a2.

* src/Main/Main.make: simplify the WX_CONFIG_LIBS logic

Irrespective of whether we are linking against widgets statically or
dynamically, pull in only 'base' when GUI is disabled, and
'adv,core,base' when GUI is enabled. When GUI is disabled, the C/CXX
flag must include '-DwxUSE_GUI=0' for this to work.

* src/Makefile: pass '-DwxUSE_GUI=0' when NOGUI=1

veracrypt with NOGUI=1 fails to properly link against wxGTK compiled
with '--disable-gui' only using the 'base' library because the wx's
setup.h implicitly defines wxUSE_GUI=1, which then changes the
definition of various structures, requiring symbols from the core
library as well.

For example, wxwidgets include/wx/app.h defines:

  #if wxUSE_GUI

  class WXDLLIMPEXP_CORE wxAppBase : public wxAppConsole
  ...
  [snip]
  ...
  #else // !GUI

  // wxApp is defined in core and we cannot define another one in wxBase,
  // so use the preprocessor to allow using wxApp in console programs too
  #define wxApp wxAppConsole

  #endif // GUI/!GUI

To fix this, pass '-DwxUSE_GUI=0' when compiling veracrypt with
NOGUI=1.

Closes: https://github.com/veracrypt/VeraCrypt/issues/531
2019-12-20 13:39:43 +01:00
Mounir IDRASSI
31611ad315
MacOSX: revert to using wxWidgets 3.1.2 following unexplained crash when using wxWidgets 3.1.3 2019-12-17 01:25:58 +01:00
Mounir IDRASSI
27c2fc06c2
Linux: Fix build error when linking with old wxWidgets version 2019-12-16 15:15:55 +01:00
Mounir IDRASSI
7aecbb225c
Update version information in preparation for 1.24-Update2 release 2019-12-16 00:47:13 +01:00
Mounir IDRASSI
bc69fe9166
Update Format wizard bitmap using submission by Andreas Becker (https://github.com/veracrypt/VeraCrypt/issues/9#issuecomment-565833478) 2019-12-16 00:47:04 +01:00
Mounir IDRASSI
826730650c
Windows: make /fastCreateFile switch apply to both UI and command line creation of file containers 2019-12-16 00:46:49 +01:00
Mounir IDRASSI
1e978e69cc
MacOSX: Ensure that the heading bar is always visible when window is moved so that it can still be moved by user using mouse (https://github.com/veracrypt/VeraCrypt/issues/546) 2019-12-16 00:46:41 +01:00
Mounir IDRASSI
a81d45df82
MacOSX: Ensure that main window is visible on screen when About is display as a way to workaround for situations where UI is not visible or can't be move (for example, when changing display monitor with a different resolution). 2019-12-16 00:46:34 +01:00
Mounir IDRASSI
a4ed6be38c
MacOSX: fix compilation error caused by missing StringConverter::ToWide method that takes a size_t argument (we cast to uint32) 2019-12-16 00:46:26 +01:00
Mounir IDRASSI
1fd097c666
Windows: check "TrueCrypt Mode" in password dialog when mounting a file container with .tc extension 2019-12-13 00:08:17 +01:00
Mounir IDRASSI
2a93826497
Windows: Fix the checkbox for skipping verification of Rescue Disk not reflecting the value of /noisocheck switch when specified in VeraCrypt Format command line. 2019-12-12 00:13:01 +01:00
Mounir IDRASSI
14bee5e6a2
Linux: fix compilation error when building console-only version of VeraCrypt that is statically linked to wxWidgets 2019-12-11 23:53:47 +01:00
Mounir IDRASSI
8942b3eff3
MacOSX: link against latest wxWidgets version 3.1.3 2019-12-10 11:10:31 +01:00
Mounir IDRASSI
ed8068cbbd
Increment version to 1.24-Update2 2019-12-10 11:10:24 +01:00
Mounir IDRASSI
f9bf666018
Windows: Align volume size field in Format wizard with other controls 2019-12-10 00:51:41 +01:00
Mounir IDRASSI
f9d95ef2c8
Windows: Add switch /FastCreateFile for VeraCrypt Format.exe to speedup creation of large file container if quick format is selected. This switch comes with security issues since it will embed existing content on disk into the file container which may expose sensitive content to an attacker who has access to the file container. 2019-12-10 00:51:34 +01:00
Mounir IDRASSI
5eaa204d83
Windows Driver: Reduce memory usage of IOCTL_DISK_VERIFY handler. Now we reader disk by chunks of at most 64 KiB. Fix https://github.com/veracrypt/VeraCrypt/issues/562. 2019-12-09 18:59:27 +01:00
Mounir IDRASSI
31c4fbfc12
Fix wrong check on the define CRYPTOPP_BOOL_X64 2019-12-09 18:59:20 +01:00
Mounir IDRASSI
214efac67e
Windows: Add latest 1.24 EFI bootloader files that are signed by Microsoft that come with the following modifications: - Fix F5 showing previous password after failed authentication attempt. Ensure that even wrong password value are cleared from memory. 2019-12-09 18:59:13 +01:00
Mounir IDRASSI
08593aa7ab
Linux/MacOSX: use x64 optimized SHA256 implementation instead of limiting it to Windows. 2019-12-09 18:10:21 +01:00
Hanno Böck
e6aae8bd71 Add burn calls for temporary ss variable (#569) 2019-12-09 17:45:35 +01:00
alt3r 3go
0364a36f84 Linux: fix NOASM compilation (#563) (#568)
Signed-off-by: alt3r 3go <alt3r.3go@protonmail.com>
2019-12-09 17:43:33 +01:00
Mounir IDRASSI
07bb27e3b9
Windows: use fix for CVE-2019-19501 only on Vista and above since it doesn't make sens under XP. 2019-12-08 23:42:54 +01:00
Mounir IDRASSI
5e96a5c44c
Windows: enhancements to the mechanism preserving file timestamps, especially for keyfiles. 2019-12-08 23:42:47 +01:00
Mounir IDRASSI
7f1e21e6a1
Windows: Add missing defines in Tcdefs.h 2019-12-08 23:42:39 +01:00
Hanno Böck
5a56462959 Make sure password gets deleted in case of exception in CoreUnix::MountVolume (#565) 2019-12-05 16:09:40 +01:00
Mounir IDRASSI
4a215c2ddb
Windows: Modify memory process protection when running with admin privileges to allow calling functions needed for CVE-2019-19501 fix while still protecting against memory access by non-admin processes. 2019-12-05 13:35:27 +01:00
Mounir IDRASSI
27d1f404f1
Windows: Enhancement to the fix for CVE-2019-19501 2019-12-05 13:35:18 +01:00
Mounir IDRASSI
ade8e3f8cb
Windows: Fix possible local privilege escalation vulnerability during execution of VeraCrypt Expander (CVE-2019-19501) 2019-12-03 22:25:37 +01:00
vstoykovbg
f32c153832 fixed typo "this [is (#559) 2019-12-02 22:07:48 +01:00
alt3r 3go
1fd212016e UNIX: make sector size mismatch error more verbose (#552) (#561)
Signed-off-by: alt3r 3go <alt3r.3go@protonmail.com>
2019-12-01 14:26:38 +01:00
Mounir IDRASSI
b233e6776b
Windows: Don't write extra 0x00 byte at the end of DcsProp file when modifying it through UI 2019-11-28 01:39:48 +01:00
Mounir IDRASSI
14a477026d
Windows: compatibility with multi-OS boot configuration by only setting VeraCrypt as first bootloader of the system if the current first bootloader is Windows one. 2019-11-27 00:15:51 +01:00
Mounir IDRASSI
79eea6e5b1
Windows: Don't restore MBR to VeraCrypt value if it is coming from a loader different from us or different from Microsoft one. 2019-11-27 00:15:43 +01:00
Mounir IDRASSI
9741c9209d
Windows: Add new registry flags for SystemFavoritesService to control updating of EFI BIOS boot menu on shutdown. This will help better manage multi-boot scenarios where we should not mess up with boot order (e.g. grub2 case) 2019-11-22 00:11:55 +01:00
Mounir IDRASSI
55efa6237a
Windows: Add latest 1.24 EFI bootloader files that are signed by Microsoft that come with the following modifications: - Fix "ActionFailed" not working and add "ActionCancelled" to customize handling of user hitting ESC on password prompt 2019-11-22 00:11:46 +01:00
Mounir IDRASSI
737e1f126b
Linux: Fix failure to run VeraCrypt binary built for console mode on headless machines (fix issue https://github.com/veracrypt/VeraCrypt/issues/531) 2019-11-18 00:59:40 +01:00
alt3r 3go
6b1da98d91 Linux/MacOS: text mode did not recognize Unicode in passwords (#540) (#551) 2019-11-17 22:03:30 +01:00
alt3r 3go
64de5bc78a Debug build: fix ParameterIncorrect error on hash benchmark start (#542) (#544) 2019-11-15 12:28:06 +01:00
csware
34a9e118b6 Windows: Allow system encrypted devices to be mounted from WindowsPE - even if changing the keyboard layout failed (#539)
When my system broke and I had to use WindowsPE to rescue some files the password dialog always closed immediately. There was no chance to mount the system device using the GUI. It took me a while to realize that I could try using the CLI by passing the password as a parameter (which might not be so obvious for not advanced users).

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2019-11-12 22:02:57 +01:00
Hanno Böck
f5aea06281 Fix off by one overflow with 31 args (#541) 2019-11-12 18:04:31 +01:00
Mounir IDRASSI
8e9627877d
Windows MBR Bootloader: better way to handle displaying write errors in WriteEncryptedSectors function 2019-11-09 00:26:28 +01:00
Mounir IDRASSI
3818b443c3
Windows: include rdrand.h file only in Windows case since it is not yet included for other OSes 2019-11-09 00:26:21 +01:00
Mounir IDRASSI
8c6838e85c
Linux: during uninstall, output error message to STDERR instead of STDOUT for better compatibility with package managers 2019-11-09 00:26:14 +01:00
Mounir IDRASSI
c035d703cb
Windows: Update signed drivers 2019-11-07 00:48:16 +01:00
Mounir IDRASSI
b7a21b8a76
Windows Driver: Fix strange crashes caused by probably by APC queue issues from calls to IoBuildDeviceIoControlRequest and ZwCreate (cf https://www.osr.com/blog/2018/02/14/beware-iobuilddeviceiocontrolrequest/) 2019-11-07 00:48:09 +01:00
Mounir IDRASSI
4587472e87
Increment version to 1.24-Hotfix2 2019-11-07 00:48:01 +01:00
Mounir IDRASSI
21392ef30d
Windows MBR Bootloader: workaround for SSD disks that don't allow write operations in BIOS mode with buffers less than 4096 bytes 2019-11-07 00:47:52 +01:00
Mounir IDRASSI
dc08b69240
Windows: fix driver build error caused by missing header 2019-11-07 00:47:45 +01:00
Mounir IDRASSI
ce78f89017
Linux/FreeBSD: Add CLI switch to force use of old sudo behavior of sending a dummy password
The new switch is --use-dummy-sudo-password
2019-11-04 00:10:08 +01:00
Mounir IDRASSI
54c7e1cfd3
Windows: Display error message when password is too long and legacy maximum length used 2019-11-04 00:10:00 +01:00
Mounir IDRASSI
a7d5b6a477
Linux/MacOSX: Add switch to force the use of legacy maximum password length (64 UTF8 bytes)
The switch is --legacy-password-maxlength
2019-11-04 00:09:52 +01:00
Mounir IDRASSI
8fb7742dad
Linux: Add sudo as an explicit dependency in .deb and .rpm packages 2019-11-03 17:05:31 +01:00
Mounir IDRASSI
80cc18f667
Linux/FreeBSD: Fix regression causing admin password to be requested too many times in some cases 2019-11-03 15:38:42 +01:00
Mounir IDRASSI
bd7200e2b5
Linux/MacOSX: Fix build error caused by RDRAND_getBytes/RDSEED_getBytes implemented only on Windows 2019-11-03 15:38:35 +01:00
Meteor0id
bb123bb3e8 Start following IEEE 1541 agreed naming of bytes (#532)
* Start following IEEE 1541 agreed naming of bytes

This standard exists to prevent any confusion about the actual number of bytes. It has been agreed on by experts and is being used more widespead these day. Let's start properly naming the number of bytes, which is absolutely important in disk encryption software.

* Update LanguageStrings.cpp

* Update UserInterface.cpp

* kibibyte instead of kilobyte

* kibibyte instead of kilobyte

* MiB instead of MB

* undo accidental deletions

Odd indeed that two random lines were deleted in a previous commit. Probably happened when using a keyboard shortcut while editing the file. This fixes the issue.

* Mb to Mib
2019-11-02 01:06:02 +01:00
Mounir IDRASSI
1994520e75
Windows: when building for EFI bootloader, don't make calls to RDRAND/RDSEED functions since we don't link against their implementation in EFI bootloader 2019-11-02 01:00:16 +01:00
Mounir IDRASSI
6252d96b0d
Update Jitterentropy Library to version 2.2.0 2019-10-30 22:05:25 +01:00
Mounir IDRASSI
3565cb1afe
Disable both RDRAND and RDSEED if a failure is detected 2019-10-30 09:09:45 +01:00
Mounir IDRASSI
5ecff99edc
Add check for buggy RDRAND (AMD Ryzen CPU case) even if we always use RDSEED instead of RDRAND when RDSEED is available (which is the case on modern CPUs) 2019-10-30 08:53:03 +01:00
Mounir IDRASSI
7a35ecb154
Windows: use separate assembly files for RDRAND and RDSEED in order to fix a mysterious crash when MASM_RDSEED_GenerateBlock is called after MASM_RDRAND_GenerateBlock. 2019-10-30 08:52:55 +01:00
Mounir IDRASSI
3b5d4771a0
Fix wrong detection of AMD CPUs. 2019-10-29 15:42:43 +01:00
Mounir IDRASSI
afe6b2f45b
Linux: Fix compilation error on non-x86 platform by providing generic implementation for jent_get_nstime function 2019-10-28 23:18:11 +01:00
Mounir IDRASSI
3fa636d477
Linux: Fix compilation error if type __u64 is already defined by gcc
This is the case with Mageia Cauldron which has gcc 9.2.1
2019-10-28 18:59:07 +01:00
Mounir IDRASSI
ac684352e6
Windows: use strcmp to compare effective content of std::string since == operator may return false if one of the strins has an extra \0 at the end. 2019-10-27 13:10:18 +01:00
Mounir IDRASSI
1ae99f2e67
Windows: Update Release Notes and set 1.24-Hotfix1 release date to October 27th. 2019-10-27 10:46:32 +01:00
Mounir IDRASSI
94084525b1
Windows: fix failure to create rescue and thus to encrypt the system if the Windows username contains a UNICODE non-ASCII character (cf https://github.com/veracrypt/VeraCrypt/issues/441) 2019-10-27 02:30:15 +02:00
Mounir IDRASSI
b1b692d4a3
Windows: Only update boot configuration on disk if the user actually changed something in the UI 2019-10-27 02:05:00 +02:00
Mounir IDRASSI
2722b46530
Windows: code refactoring and convert NTSTATUS error code to WIN32 equivalent before displaying error message. 2019-10-27 02:04:51 +02:00
Mounir IDRASSI
89e2547851
Windows: Make EFI System Encryption PostOOBE code more robust to failure to access "\\\\?\\GLOBALROOT" disk namespace 2019-10-27 02:04:43 +02:00
Mounir IDRASSI
ca46cf928a
Windows: Update EFI NVRAM variable only if changed or doesn't exist and add configuration to force setting EFI BootNext to veraCrypt bootloader before each shutdown 2019-10-27 02:04:34 +02:00
Mounir IDRASSI
f22abf93dd
Windows: Restore veraCrypt boot meny entry for system encryption more often, especially during PostOOBE calls, and handle additional corner cases. 2019-10-26 22:09:27 +02:00
Mounir IDRASSI
7484c07364
Linux: Add build script for OpenSUSE 2019-10-26 18:43:18 +02:00
Mounir IDRASSI
0e4ab56e12
MacOSX: Update build script and Makefile to correctly build Legacy version of VeraCrypt that targets OSX 10.7+. 2019-10-26 00:17:23 +02:00
Mounir IDRASSI
0ca62a37d6
MacOSX: fix truncated algorithms description in the Encryption Options page of the volume creation wizard, which happened after moving to wxWidgets 3.1.2 2019-10-26 00:17:16 +02:00
Mounir IDRASSI
6bf37280d6
MacOSX: use wxWidgets 3.1.2 for the legacy build which is now done with SDK 10.9 while still targeting OSX 10.7. 2019-10-26 00:17:08 +02:00
Mounir IDRASSI
38b5af907e
Set release date of 1.24-Hotfix1 to October 25th. 2019-10-25 18:25:44 +02:00
Mounir IDRASSI
28fc65e479
Windows: Fix test of GetPrivateProfileString output since this function discards double quotation marks 2019-10-25 18:25:29 +02:00
Mounir IDRASSI
343d1a95dc
Windows: only update MBR first 512 bytes if they have changed and don't update full MBR bootload in case of PostOOBE 2019-10-25 14:47:51 +02:00
Mounir IDRASSI
faa541f613
Windows: for system encryption case, also perform automatic fix of boot configuration if MBR boot used and not only EFI. 2019-10-25 14:47:44 +02:00
Mounir IDRASSI
318b00b6a2
Windows: Avoid unnecessarily update of system encryption SetupConfig related files if there content didn't change 2019-10-25 14:47:37 +02:00
Mounir IDRASSI
7745db6e4a
MacOSX: Add dedicated installer for legacy version that targets OSX 10.7+ and update requirement for new installer to be OSX 10.9+ and 64-bit only. 2019-10-24 23:41:59 +02:00
Mounir IDRASSI
5031e69651
MacOSX: fix typo in MacOSX legacy build script 2019-10-24 23:41:52 +02:00
Mounir IDRASSI
96c90d18c2
Linux/MacOSX: Better approach to avoid that jitterentropy code is optimized by the compiler 2019-10-24 21:07:39 +02:00
Mounir IDRASSI
6b90e02624
Increment version to 1.24-Hotfix1 2019-10-24 00:10:34 +02:00
Mounir IDRASSI
692e2c3455
Linux: set version explicitly in CMakeLists.txt instead of relying on parsing of Tcdefs.h which can be erroneous 2019-10-24 00:10:27 +02:00
Mounir IDRASSI
2b65a14301
Windows: display prompt to upgrade Rescue Disk when installing 1.24 version since it adds functionality and it has better support for fix boot issues. 2019-10-24 00:10:19 +02:00
Mounir IDRASSI
478066c607
Linux/MacOSX: Add missing JitterEntropy implementation 2019-10-23 22:46:25 +02:00
Mounir IDRASSI
74e14c070f
Windows: A Quick Expand option to VeraCrypt Expander to allow quicker expansion of file containers after warning about security issues associated with it. 2019-10-23 00:24:02 +02:00
Mounir IDRASSI
11f1a21652
Increment version to 1.23-Hotfix1-Preview 2019-10-20 22:31:42 +02:00
Mounir IDRASSI
9b394ddc49
Windows: Avoid unnecessary write operations when copying/modifying EFI bootloader files in order to avoid leaking modification timestamp 2019-10-20 22:17:12 +02:00
Mounir IDRASSI
31a87c2e5f
Windows: add more checks to correctly identify Microsoft original bootloader. 2019-10-20 22:17:04 +02:00
Mounir IDRASSI
cca08e1ed5
Windows: Add checks that the System Favorites service is running. Warn user if he enabled option to clear RAM encryption keys and the service is stopped. 2019-10-20 22:16:57 +02:00
Mounir IDRASSI
7c020c23ce
Windows: resize UI elements of random collection step in Format wizard 2019-10-20 22:16:50 +02:00
Mounir IDRASSI
12461a55a8
MacOSX: Support APFS for creating volumes. 2019-10-19 23:18:40 +02:00
Mounir IDRASSI
008d0503be
Windows: make VeraCrypt Expander able to resume expansion of volumes whose previous expansion was aborted before it finishes 2019-10-18 23:06:17 +02:00
Mounir IDRASSI
5b88a183ac
Windows: handle case of DcsProp configuration file for EFI system encryption contains wrong "ActionSuccess" entry that points towards bootmgfw.efi which is now our bootloader and not Microsoft one. 2019-10-18 00:56:39 +02:00
Mounir IDRASSI
4119521f9e
Linux: Workaround for gcc 4.4.7 bug under CentOS 6 that causes VeraCrypt built under CentOS 6 to crash when Whirlpool hash is used. 2019-10-17 15:00:37 +02:00
Mounir IDRASSI
3bb661244c
Linux: fix compilation error under CentOS 6 2019-10-17 14:09:33 +02:00
El Mostafa Idrassi
bdc1dc42a6 Small GUI enhancements (#521) 2019-10-16 00:43:49 +02:00
El Mostafa Idrassi
c90b45f88c Fixed drag and drop not showing correct path, specifically under GTK-3. (#520) 2019-10-16 00:43:34 +02:00
El Mostafa Idrassi
67a514da6f MacOSX: Enhanced Makefile and build script (#519)
Added new variable 'VC_OSX_SDK' to differentiate between the OSX minimum target and the SDK to use for building.
2019-10-15 00:03:36 +02:00
El Mostafa Idrassi
bdcfe5bbb2 Fixed buttons not being correctly aligned (#518) 2019-10-15 00:02:25 +02:00
Mounir IDRASSI
b6dcea013e
MacOSX: Add build scripts and modifications to linking against wxWidgets 3.1.2 for non legacy build targeting OSX 10.9+ 2019-10-14 15:05:24 +02:00
Mounir IDRASSI
f56a8c49f9
Windows: Fix regression that causes system favorites not to mount if VeraCrypt 1.24 is freshly installed and not updated. 2019-10-14 01:08:43 +02:00
El Mostafa Idrassi
621330b726 MacOSX: Fixed devices / partitions not showing in the device selection dialog (#516)
To get the size of each device / partition on the system, the method 'GetDeviceSize()' in 'src/Core/Unix/CoreUnix.cpp' first opens
the device / partition using 'open()' function to get a File Descriptor, then retrieves its size using this File Descriptor.

Starting OS X 10.11 ("El Capitan"), a feature called "System Integrity Protection (SIP)" or less formally, "rootless mode" has been added.
This feature blocks access to certain critical aspects of the OS and Hardware by 3rd-Party programs.
Specifically, low-level access to the system disks, devices and partitions is forbidden ; namely functions like 'open()' for instance fail
with the error code : "EPERM = Operation Not Permitted".

Therefore, for system devices / partitions, 'GetDeviceSize()' fails because of the failure of the 'open()' function, and throws an exception,
which is then caught inside the method 'GetHostDevices()' in '/src/Core/Unix/FreeBSD/CoreFreeBSD.cpp' : this leads to the size of the
device / partition being set to '0'.

Therefore, in the constructor of 'DeviceSelectionDialog' in 'src/Main/Forms/DeviceSelectionDialog.cpp', when the size of a device is '0',
the whole device is skipped, leading to all of its partitions not being treated or shown, even though some of these partitions may have a size which is != 0.

This commit fixes the issue by :
1 - First, checking whether the device size is '0'. If it is the case, the code loops through all the devices partitions : if there is at least one partition
with a size != 0, the device is not skipped. Otherwise, it is.
2 - Then, if the size of the device is '0', the size of the device is not shown to avoid confusing the user.
Also, since the device is not usable, the 'OK' button is not active when the device is selected.
3 - Finally, if a partition's size is '0', it is not shown since it is not usable : we cannot open it.

Signed-off-by: El Mostafa IDRASSI <el-mostafa.idrassi@prestalab.net>
2019-10-11 17:02:03 +02:00
El Mostafa Idrassi
9463a628a6 Linux/FreeBSD: Use of 'sudo -n uptime' command to check whether user has an active 'sudo' session instead of the use of a 'dummy' password. (#513)
Signed-off-by: El Mostafa IDRASSI <el-mostafa.idrassi@prestalab.net>
2019-10-08 18:11:50 +02:00
El Mostafa Idrassi
15a8cde6f5 Updated and fixed build and packaging scripts. (#512)
Now, under Debian 10+ and Ubuntu 18.04+, we link against the GTK-3 version of wxWidgets (libwxgtk3.0-gtk3-0v5).
Under Debian 9- and Ubuntu 16.04, we link against the GTK-2 version of wxWidgets (libwxgtk3.0-0v5) which is the
only one available.

Also, we now have 2 separate RPM scripts : 'build_cmake_rpm_gtk2.sh' which builds wxWidgets and links it against GTK-2,
then links VeraCrypt against 'gtk2' package (typically to be used under CentOS 6) and 'build_cmake_rpm_gtk3' which builds
wxWidgets and links it against GTK-3, then links VeraCrypt against 'gtk3' package (typically to be used under CentOS 7+).
2019-10-07 18:49:46 +02:00
Mounir IDRASSI
6d7f7527be
MacOSX: fix link error under Xcode 4.6.3 2019-10-06 19:14:45 +02:00
Mounir IDRASSI
a4145721a7
Linux/FreeBSD: change location of documentation from /usr/share/veracrypt/doc to the standard /usr/share/doc/veracrypt 2019-10-06 13:30:47 +02:00
Mounir IDRASSI
be6c817873
Increment version to 1.24 2019-10-06 11:26:20 +02:00
Mounir IDRASSI
af9e0f0482
Linux: modifications to cmake files to use GTK3 on CentOS and change packages names 2019-10-05 19:21:33 +02:00
Mounir IDRASSI
4fe4cbc568
Linux: Add option in Makefile to use GTK3 in VeraCrypt static build 2019-10-05 19:07:03 +02:00
El Mostafa Idrassi
d2c53bc373 Linux: Added CMake script for creating .DEBs and .RPMs for VeraCrypt using CPack, and shell scripts which build then package VeraCrypt under CentOS and Debian/Ubuntu. (#511)
The DEB script builds VeraCrypt and links it against wxWidgets that comes with the distribution.
The RPM script awaits for wxWidgets-3.0.4 source code which it builds then links VeraCrypt statically to it.
Both scripts create the corresponding package after the build.
2019-10-04 21:33:46 +02:00
El Mostafa Idrassi
48ef6c3736 Linux : Added missing 'mkdir' before installing in case $DESTDIR does not exist (#510) 2019-10-04 21:26:25 +02:00
Mounir IDRASSI
b6babc688d
Windows: Update libzip to version 1.5.2 2019-10-04 21:15:10 +02:00
El Mostafa Idrassi
9a895bedde Fix "error "SSSE3 instruction set not enabled" when compiling using GCC version < 4.9 without -mssse3 option (SSSE3=1 when using make). (#507)
Compiling with -mxxx defines the corresponding macro of the intrinsics.
For example, -mssse3 defines __SSSE3__ macro to 1.

In GCC versions < 4.9, it is not possible to use and call x86 intrinsics only at runtime without
compiling the entire file with the -mxxx option.

For example, if we want to call SSSE3 intrinsics without compiling with -mssse3, the macro __SSSE3__ is not defined.
Therefore, when including <tmmintrin.h>, this results in "error "SSSE3 instruction set not enabled"" because of :
	#ifndef __SSSE3__
	# error "SSSE3 instruction set not enabled"
Since GCC 4.9, this has been fixed and it is possible to call x86 intrinsics from select functions in a file
that are tagged with the corresponding target attribute without having to compile the entire file with the -mxxx option.
This can be seen in <tmmintrin.h> which in recent versions (>= 4.9) contains :
	#ifndef __SSSE3__
	#pragma GCC push_options
	#pragma GCC target("ssse3")
	#define __DISABLE_SSSE3__

Since SSSE3 is only used under Windows for ChaCha256, this can be fixed by preceding '#include <tmmintrin.h>' with
#if defined (_MSC_VER) && !defined (TC_WINDOWS_BOOT).

See https://gcc.gnu.org/gcc-4.9/changes.html
2019-10-04 14:07:10 +02:00
Mounir IDRASSI
ccda60f82f
Windows: If Secure Desktop is started and random generator was not initialized before us, then stop random generator after we finish in order to avoid consuming CPU because of periodic fast poll thread. Next time a critical operation that requires RNG is performed, it will be initialized again. We do this because since the addition of secure desktop support, every time secure desktop is displayed, the RNG fast poll thread was started even if the user will never perform any critical operation that requires random bytes. 2019-10-03 19:32:45 +02:00
Mounir IDRASSI
1298f83aa4
Windows: Add function RandinitWithCheck to detect if random generator was already initialized before our call or not 2019-10-03 19:32:39 +02:00
Mounir IDRASSI
9f91c47bd2
Windows: Use Jitterentropy RNG only in SlowPoll call and not in FastPoll since the it consumes too much CPU and FastPoll requires fast and minimal entropy gathering 2019-10-03 19:32:33 +02:00
El Mostafa Idrassi
be09fa8a53 '#define VERSION_STRING XXX' must come before '#define VERSION_STRING_SUFFIX YYY' (#506)
in order for 'export TC_VERSION := $(shell grep VERSION_STRING ../Common/Tcdefs.h | head -n 1 | cut -d'"' -f 2)'
in 'src/Main/Main.make' to actually return the version rather than '-CustomEFI'.
2019-10-03 16:34:43 +02:00
Mounir IDRASSI
400bb52247
Linux/MacOSX:check that the requested size of file container is less than available
disk free space. Add a CLI switch to disable this check.
2019-10-02 22:31:28 +02:00
Unit 193
bb2eaa6697 Utilize $(BASE_DIR) in the install targets rather than $(PWD) and $(CURDIR) (#472)
As $(PWD) is not always the expected value and can result in failing the target.
2019-10-02 21:59:13 +02:00
Unit 193
10c4a3e807 Allow $(ARCH) to be defined during build (#471)
This can be useful when crossbuilding or building in a chroot where using
uname -m would cause the wrong compiler options.
2019-10-02 21:31:07 +02:00
Hans-Peter Jansen
0d91dab5b9 Align section types of Whirlpool_C and SHA256_K (#479)
in order to fix LTO linking.

After switching to LTO for openSUSE Tumbleweed, veracrypt build failed with:
[  185s] ../Crypto/Whirlpool.c:105:45: error: 'Whirlpool_C' causes a section type conflict with 'SHA256_K'
[  185s]   105 | CRYPTOPP_ALIGN_DATA(16) static const uint64 Whirlpool_C[8*256+R] CRYPTOPP_SECTION_ALIGN16 = {
[  185s]       |                                             ^
[  185s] ../Crypto/Sha2.c:321:34: note: 'SHA256_K' was declared here
[  185s]   321 | CRYPTOPP_ALIGN_DATA(16) uint_32t SHA256_K[64] CRYPTOPP_SECTION_ALIGN16 = {
[  185s]       |                                  ^
[  185s] lto-wrapper: fatal error: g++ returned 1 exit status

Aligning section types of Whirlpool_C and SHA256_K fixes this.
2019-10-02 21:25:10 +02:00