1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 11:08:02 -06:00
Commit Graph

1893 Commits

Author SHA1 Message Date
Mounir IDRASSI
8d87b6a778 Windows: Update MBR bootloader for version 1.26.7 2023-09-30 11:24:05 +02:00
Mounir IDRASSI
53cbe028cd Increment version to 1.26.7. Set release date to October 1st. Update Windows signed driver files. 2023-09-30 11:20:46 +02:00
Mounir IDRASSI
c0f8179f2a Windows: enhancement to RAM encryption
- use a more standard-looking memory value tag instead of fully random one that will look suspicious and outstanding
 - If we fail to allocate 1MiB for derivation area, we device the size by two in a loop until we succeed. This is better than falling back directly to 8KiB size
 - Better method to derive actual encryption key: instead of simply duplicating 128bit key value, we combine a xor addition and self-encryption to build a 256-bit key
 - use both encID and pbKeyDerivationArea to derive IV for encryption and not only endID
2023-09-29 22:26:54 +02:00
Mounir IDRASSI
5192eac233 Windows Driver: Use KeQueryInterruptTimePrecise on Windows 8.1 and newer as better seed for internal RNG compared to KeQueryInterruptTime 2023-09-29 22:14:43 +02:00
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