Commit Graph

1689 Commits

Author SHA1 Message Date
Mounir IDRASSI
662b8d1b2f
Windows: during Setup, and if VeraCrypt already installed, open online help only if PC connected to Internet 2023-09-26 01:22:24 +02:00
Mounir IDRASSI
718f11d9c3
Windows: make Setup correctly manage option to disable memory protection during upgrade 2023-09-24 12:48:34 +02:00
DLL125
2363506e09
Libzip 1.10.1 (#1209)
Updated to the latest version for the VeraCrypt 1.26.6 release.
2023-09-24 10:18:54 +02:00
Mounir IDRASSI
937c5cd5cd
Windows: always open online help in case of Setup because local help may be outdated 2023-09-24 01:41:35 +02:00
Mounir IDRASSI
76c64d49ea
Windows: Add tooltip message and help button for new option to disable memory protection
Also a dedicated page in the documentation was added for it.
2023-09-24 01:26:02 +02:00
Mounir IDRASSI
91b3f0af0c
Linux/MacOSX: Increment packaging version to 1.26.6 2023-09-22 22:23:13 +02:00
Mounir IDRASSI
81c87a8f0b
Windows: Load Riched20.dll to use RichEdit control. Use InitCommonControlsEx instead of InitCommonControls 2023-09-21 22:42:35 +02:00
Mounir IDRASSI
d02734dfaa
Update Release Notes. Increment version to 1.26.6. 2023-09-21 01:31:35 +02:00
Mounir IDRASSI
6c7e055f3f
Windows: use separate name for SetProcessMitigationPolicy function point. Remove unneeded boolean 2023-09-21 01:16:11 +02:00
Mounir IDRASSI
0f3ae268a4
Windows: Add setting in main UI and setup wizard to disable memory protection
This can be useful for users who need Accessibility software that may not work when memory protection is active in VeraCrypt
2023-09-20 09:39:22 +02:00
Mounir IDRASSI
b1657e88e4
Windows Security: make memory protection enabled by default. Add process mitigation (ASLR, Dynamic code, extension points)
Memory protection can be disabled using registry value "VeraCryptEnableMemoryProtection" under the key "HKLM\SYSTEM\CurrentControlSet\Services\veracrypt"
2023-09-18 00:13:52 +02:00
Mounir IDRASSI
fb8ae98c73
Windows: use same manifest structure for Expander as in Mount and Format 2023-09-18 00:07:10 +02:00
TigerxWood
1ff56db112
Update Language.xml (#1199)
Corrected small typo
2023-09-15 23:49:08 +02:00
Mounir IDRASSI
d2f2defca9
Windows: replace CoInitialize calls with CoInitializeEx 2023-09-11 00:03:28 +02:00
Mounir IDRASSI
aa311a6fad
Windows: Indicate in manifest files that support starts from Windows 7 2023-09-10 23:57:53 +02:00
Mounir IDRASSI
a903049858
Linux/macOS: simplify logic of handling /dev/random reading failure (proposed by @Lavode in #1187)
Fixes #1187
2023-09-08 09:49:07 +02:00
Mounir IDRASSI
f15052e68d
Windows: Add link in keyfiles dialog to documentation page for risks of third-party file extensions usage. 2023-09-08 09:38:51 +02:00
TigerxWood
d74ea60436
Update Language.xml (#1192)
Corected a typo
2023-09-08 09:34:44 +02:00
Mounir IDRASSI
0ad5c43eb4
Windows: remove recommendation of keyfiles files extensions and update documentation to mention risks of third-party file extensions.
This commit also adds red color to the warning text about keyfiles in keyfiles dialogs.
2023-09-06 01:42:23 +02:00
Mounir IDRASSI
2a6726b00e
Windows: Replace legacy file/dir selection APIs with modern IFileDialog interface
We remove usage of GetOpenFileNameW/GetSaveFileNameW/SHBrowseForFolderW which are deprecated by Microsoft
2023-09-03 23:42:41 +02:00
Mounir IDRASSI
201d09ff5a
Windows: remove legacy code (XP, Vista). Simplify code since Windows 7 is now minimal OS version. 2023-09-03 16:47:41 +02:00
Mounir IDRASSI
d68b9546bd
Windows: simpler and more robust safe dll loading combined with delay loading thanks to Windows 7 being minimum supported version.
We also block execution on Windows versions older than Windows 7.
A lot of code was removed thanks to this.
2023-09-03 00:58:34 +02:00
Mounir IDRASSI
14fee0da1a
Linux/macOS: preserve unknown entries in configuration file
This helps to preserve unknown entries that may be used by future
versions of VeraCrypt (forward compatibility) or entries used by old
versions that were removed from current version (backward compatibility)
2023-09-02 01:37:52 +02:00
Unit 193
d49c75370a
Allow cross compilation. (#1182) 2023-08-21 11:24:25 +02:00
Mounir IDRASSI
fd0d2e3353
Windows: Set minimum build target to Windows 7 2023-08-20 09:59:47 +02:00
Mounir IDRASSI
0dc4754c63
Windows: delay load bcrypt.dll to reduce startup dependency loading until setting safe dll loading 2023-08-20 09:57:38 +02:00
DLL125
4f92ba5484
Update zlib to latest (#1181)
* Update zlib to latest

* Update copyright

Updated copyright of zlib.
2023-08-20 09:21:54 +02:00
Mounir IDRASSI
34ef189a92
Linux: try use IOCTL BLKGETSIZE64 to get size of device instead of lseek 2023-08-19 20:47:43 +02:00
Mounir IDRASSI
9d8afdad93
Linux: Fix wrong max size for hidden volume in CLI direct mode creation
There was a logical bug that made the code check the filesystem size of
the device path "/dev" instead of using the actual size of the device

Fix #1180
2023-08-19 20:44:32 +02:00
Mounir IDRASSI
9bd6a46785
Windows: Update MBR bootloader files to 1.26.5 build 2023-08-15 10:17:04 +02:00
Mounir IDRASSI
e47f6e900c
Update Release Notes and set date of 1.26.5 to August 15th 2023-08-15 09:48:51 +02:00
Mounir IDRASSI
fcf0cb94f1
Increment version to 1.26.5. Update signed Windows drivers. 2023-08-14 01:45:37 +02:00
Mounir IDRASSI
f84d235cf1
Windows: Implement support for mounting partially encrypted system partitions
For now, we force ReadOnly mounting for such partitions.
2023-08-13 22:50:37 +02:00
Mounir IDRASSI
8c7962bda7
Windows: Better way to enable required privileges for FastCreate Options
If we can set required privilege, we ask the user using UAC to enable them.
2023-08-13 00:56:49 +02:00
Jertzukka
eb2f5f33c9
Linux: Flush stdout explicitly when reading stdin (#1172)
Rules of automatic flushing of stdout buffer is implementation-defined
behaviour. In glibc this is automatically flushed, but we can't rely
on it for other implementations such as musl.
2023-08-12 09:18:57 +02:00
Jertzukka
5c9e135c9e
Linux: Typo fix and consistency in help command (#1169) 2023-08-12 09:17:18 +02:00
Mounir IDRASSI
c15b84b32d
Windows: Fix failure creating Traveler Disk caused by outdated hardcoded value of MS certificate
We also rename the variables gpbSha256CodeSignCertFingerprint and gpbSha256MSCodeSignCertFingerprint to gpbSha512CodeSignCertFingerprint and gpbSha512MSCodeSignCertFingerprint respectively to reflect the fact that they are actually SHA512 hash values and not SHA256 ones.
2023-08-10 01:23:24 +02:00
Deniz Türkoglu
8f3082c3ef
Call EnsureVisible() for OSX in OnActivate (#1167)
When using multiple monitors, the resolution can change in OSX,
during plug-in/off off the display(s). To avoid window becoming
non-usable, there is EnsureVisible, that is called in several
places.

However, if you minimize VeraCrypt on the bigger screen, and
restore it in the main screen of a MacBook, after unplugging, the
window will become unusable (unless you know that clicking 'About'
calls EnsureVisible :-)).

Call EnsureVisible OnActivate so MainFrame is always functional
across screens, even when minimized.
2023-08-07 22:53:19 +02:00
Mounir IDRASSI
fba1943d87
Linux/macOS: Add explicit include of <sys/types.h> to define ssize_t
Some systems (e.g. Alpine Linux) seems to require this.
2023-08-06 10:28:42 +02:00
Mounir IDRASSI
dab261c694
Linux: capture both stdout and stderr in popen call to avoid printing anything
If an error happens, error message will be read from popen pipe and so
libpcsclite.so will not be found. This is the same outcome as when
stdout is empty.
2023-08-06 01:06:19 +02:00
Mounir IDRASSI
16bb1de3a6
Security: ensure that XTS primary key is different from secondary key when creating volumes
This is unlikely to happen thanks to random generator properties but we much add this check to prevent an attack described in page 3 of https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38e-initial-public-comments-2021.pdf
2023-08-05 10:55:46 +02:00
Mounir IDRASSI
e8f83544ea
Windows: Fix false positive detection of new device insertion when clear keys option is enable
When this option is enabled, we first build the list of currently inserted devices then we start listening to insertion events.
When a device insertion occurs, we check if this device is on our list and if yes, we ignore its insertion.
We also ignore devices whose Device ID starts with "SWD\" and "ROOT\" since these are not real devices.
2023-08-05 00:45:39 +02:00
kovalev0
5a6b445f0e
fix warnings and UB (#1164)
* Crypto: fix warning mismatched bound

../Crypto/cpu.c:67:32: warning: argument 2 of type 'uint32[4]'
{aka 'unsigned int[4]'} with mismatched bound [-Warray-parameter=]
   67 | int CpuId(uint32 input, uint32 output[4])
      |                         ~~~~~~~^~~~~~~~~
In file included from ../Crypto/cpu.c:3:
../Crypto/cpu.h:236:33: note: previously declared as 'uint32 *'
{aka 'unsigned int *'}
  236 | int CpuId(uint32 input, uint32 *output);

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Core/Unix: fix warning ignoring return value

Unix/CoreUnix.cpp: In member function 'virtual std::shared_ptr<VeraCrypt:\
:VolumeInfo> VeraCrypt::CoreUnix::MountVolume(VeraCrypt::MountOptions&)':
Unix/CoreUnix.cpp:682:55: warning: ignoring return value of
'int chown(const char*, __uid_t, __gid_t)' declared with attribute
'warn_unused_result' [-Wunused-result]
  682 |     chown (mountPoint.c_str(), GetRealUserId(), GetRealGroupId());
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Main/Forms: fix warning cast to pointer from integer of different size

Forms/MainFrame.cpp: In member function 'void VeraCrypt::MainFrame:\
:UpdateVolumeList()':

Forms/MainFrame.cpp:1718:106: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
 1718 |       Gui->InsertToListCtrl (SlotListCtrl, ++prevItemIndex,
        fields, 0, (void *) volume->SlotNumber);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Forms/MainFrame.cpp:1753:114: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
 1753 |       Gui->InsertToListCtrl (SlotListCtrl, ++prevItemIndex,
        fields, 0, (void *) slotNumber);
      |            ^~~~~~~~~~~~~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Crypto: fix undefined behavior signed integer overflow

In function 'twofish_set_key':
cc1: warning: iteration 4 invokes undefined behavior
[-Waggressive-loop-optimizations]
../Crypto/Twofish.c:626:23: note: within this loop
  626 |         for (i = 0; i != 40; i += 2)
      |                     ~~^~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

---------

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Co-authored-by: Vasiliy Kovalev <kovalev@altlinux.org>
2023-08-04 23:49:11 +02:00
Jertzukka
9b29eadc41
Windows: Add installer language support for rest of the translations (#1160)
Currently there are a lot of translated strings that are never seen
anywhere as the installer doesn't offer all the available languages
as options in the installer wizard (sans Burmese).
2023-07-29 16:31:40 +02:00
Mounir IDRASSI
b7fc6897b9
Linux/macOS: Increment version to 1.26.4 in installation packages 2023-07-25 22:25:46 +02:00
Mounir IDRASSI
e80dd29c0d
Windows: remove unused variable 2023-07-24 09:20:43 +02:00
Mounir IDRASSI
d4fdba1d29
Update Release Notes and set date of 1.26.4 to July 24th 2023-07-24 09:13:34 +02:00
Mounir IDRASSI
3f976c24d2
Linux/macOS: Remove TrueCrypt support 2023-07-24 08:48:52 +02:00
Mounir IDRASSI
ba74b9d5b8
Linux/macOS:Add EMV option checkbox to the fbp file. Remove TrueCrypt checkboxes.
We also update to wxFormBuilder 3.10.1
2023-07-23 21:45:16 +02:00
Mounir IDRASSI
b28cf591c0
XML Language files: remove \r from new entries as it is automatically added by code 2023-07-23 12:00:34 +02:00