Mounir IDRASSI
81f0adcc35
Windows Driver: set Windows 10 version 1809 as minimum.
...
To support this, we had to replace ExAllocatePool2 by ExAllocatePoolUninitialized.
2024-12-25 16:18:19 +01:00
Mounir IDRASSI
283059523d
Windows Driver: make UpdateBuffer function more robust by adding security region size parameter
2024-12-25 16:09:10 +01:00
Mounir IDRASSI
650984c958
Linux: Fix warning during build cause by deprecated 'u' modifier in "ar" command
2024-12-25 11:42:37 +01:00
Mounir IDRASSI
3f8ac7cd51
Add XML validation Github workflow (contributed by Jertzukka github.com/Jertzukka/VeraCrypt/tree/ci)
2024-12-25 11:35:58 +01:00
Mounir IDRASSI
ca331b8b34
Linux/macOS: Simplify sudo session detection logic and extend it to macOS
...
This update simplifies the logic for detecting active sudo sessions by checking the exit code of the sudo -n -l command, which reliably returns 0 if a session is active.
Additionally, this approach is now applicable to recent macOS versions, as they no longer have the sudo bug that previously prevented us from using this method.
2024-12-25 11:29:32 +01:00
Mounir IDRASSI
341411e935
Linux: Fix "Password too long" error message not expanded to include max length ( #1456 )
2024-12-24 09:24:23 +01:00
Mounir IDRASSI
b6e698b376
Linux/macOS: check if volume doesn't exist before starting the mount operation.
2024-12-23 23:10:37 +01:00
Mounir IDRASSI
f05ce4eaf3
Updated Russian translation of Release Notes (by Dmitry Yerokhin)
2024-12-22 23:40:34 +01:00
Mounir IDRASSI
57cc2473e7
Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak)
2024-12-22 23:33:48 +01:00
Mounir IDRASSI
3bb5184645
Windows: Increment version to 1.26.17.2. Update signed drivers.
2024-11-27 01:05:55 +01:00
Mounir IDRASSI
c98fc900d8
Windows Setup: Fix the implementation of backup/restore of file permission during update
2024-11-27 01:04:55 +01:00
Mounir IDRASSI
968b72947f
Update Release Notes.
2024-11-26 23:59:38 +01:00
Mounir IDRASSI
3b4b0f618c
Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak)
2024-11-26 23:22:19 +01:00
Mounir IDRASSI
7e398c96d0
Windows: don't test sign driver by default in Release mode.
2024-11-25 00:15:47 +01:00
Mounir IDRASSI
0c5fcf2286
Windows Setup: Fix "Access Denied" issue during VeraCrypt update after a Windows upgrade
...
During a Windows upgrade, ownership of veracrypt.sys is set to TrustedInstaller, preventing VeraCrypt from accessing the file during an update.
This commit resolves the issue by temporarily taking ownership of the file to rename it, allowing the new file to be copied. The setup process now obtains additional privileges for this operation, which are properly dropped once the file copying is complete.
2024-11-25 00:05:50 +01:00
Mounir IDRASSI
8ad9e7d769
Set 1.26.17 release date to November 24th
2024-11-24 14:04:21 +01:00
Mounir IDRASSI
b6f3d8a23a
Translations: Fix issues in Slovenian translation. Complete translation of some entries
2024-11-24 13:46:08 +01:00
Mounir IDRASSI
e798d88407
Translations: Update Slovenian translation (contributed by Prof. Sasa Divjak)
2024-11-24 13:43:34 +01:00
Mounir IDRASSI
53bbee3a7c
Windows Driver: Set version to 1.26.17.1. Update signed drivers.
2024-11-24 11:26:41 +01:00
Mounir IDRASSI
453ff2880e
Windows Driver: Make max work items count configurable. Increase default to 1024. Queue write IRPs.
...
- Made the maximum work items count configurable to allow flexibility based on system needs.
- Increased the default value of max work items count to 1024 to better handle high-throughput scenarios.
- Queue write IRPs in system worker thread to avoid potential deadlocks in write scenarios.
2024-11-23 17:44:48 +01:00
Mounir IDRASSI
5a85c54c6e
Windows Driver: Optimize spinlock usage in CompleteIrpWorkItemRoutine
...
Reduce the critical section protected by spinlock to only cover the list manipulation operation. Move the ActiveWorkItems counter decrement outside the spinlock using InterlockedDecrement, and separate event signaling from the locked section.
This change minimizes time spent at raised IRQL (DISPATCH_LEVEL) and reduces potential for lock contention.
2024-11-22 15:19:10 +01:00
Mounir IDRASSI
9490336357
Windows: Update signed Windows drivers.
2024-11-20 01:11:15 +01:00
Mounir IDRASSI
b85a2df224
Windows driver: use correct WDM type. Increment version to 1.26.17
2024-11-20 00:21:30 +01:00
Mounir IDRASSI
f9b9a9ca9f
Increment version to 1.26.16. Update Release Notes. Update signed Windows drivers.
2024-11-18 00:04:26 +01:00
Mounir IDRASSI
93868acfdd
Windows Driver: Use system functions directly instead of dynamic loading since we are targeting Windows 10
2024-11-17 21:37:16 +01:00
Mounir IDRASSI
42fdbcf3ce
Windows Driver: Fix deadlock in EncryptedIoQueue due to re-entrant IRP completions
...
There was a deadlock issue in the driver caused by the CompletionThreadProc function in EncryptedIoQueue.c:
https://sourceforge.net/p/veracrypt/discussion/general/thread/f6e7f623d0/?page=20&limit=25#8362
The driver uses a single thread (CompletionThreadProc) to process IRP completions. When IoCompleteRequest is called within this thread, it can result in new IRPs being generated (e.g., for pagefile operations) that are intercepted by the driver and queued back into the CompletionThreadQueue. Since CompletionThreadProc is the only thread processing this queue and is waiting on IoCompleteRequest, these new IRPs are not handled, leading to a system freeze.
To resolve this issue, the following changes have been made:
Deferred IRP Completion Using Pre-allocated Work Items:
- Introduced a pool of pre-allocated work items (COMPLETE_IRP_WORK_ITEM) to handle IRP completions without causing additional resource allocations that could trigger new IRPs.
- The CompletionThreadProc now queues IRP completions to these work items, which are processed in a different context using IoQueueWorkItem, preventing re-entrant IRPs from blocking the completion thread.
Thread-Safe Work Item Pool Management:
- Implemented a thread-safe mechanism using a semaphore (WorkItemSemaphore), spin lock (WorkItemLock), and a free list (FreeWorkItemsList) to manage the pool of work items.
- Threads acquire and release work items safely, and if all work items are busy, threads wait until one becomes available.
Reference Counting and Improved Stop Handling:
- Added an ActiveWorkItems counter to track the number of active work items.
- Modified EncryptedIoQueueStop to wait for all active work items to complete before proceeding with cleanup, ensuring a clean shutdown.
These changes address the deadlock issue by preventing CompletionThreadProc from being blocked by re-entrant IRPs generated during IoCompleteRequest. By deferring IRP completion to a different context using pre-allocated work items and managing resources properly, we avoid the deadlock and ensure that all IRPs are processed correctly.
2024-11-17 19:39:58 +01:00
Mounir IDRASSI
22c93dd64c
Linux/macOS: make binary symbols visible in crash report.
2024-11-17 16:32:44 +01:00
Mounir IDRASSI
b7f6270c0d
Windows Driver: Add Unicode define to build and enhance tracing in debug mode
2024-11-16 18:33:28 +01:00
Mounir IDRASSI
a588b20975
Windows: Fix driver crash caused by 32-bit leftover code in derive_key_blake2s function
2024-11-16 17:38:25 +01:00
Mounir IDRASSI
9c9870b103
Windows: Avoid modifying BootArguments structure and use __unaligned keyword to inform compiler that pointer is unaligned.
...
This avoids issues with existing bootloaders
2024-11-16 01:50:06 +01:00
Mounir IDRASSI
c86577fc0e
Windows: remove 32-bit logic from the code since we support only 64-bit. remove 32-bit EFI bootloader files.
...
We also fix intermediary files folder for Portable and Setup projects
2024-11-16 01:05:15 +01:00
Mounir IDRASSI
489d3e3873
Windows: Fix output directory configuration of COMREG project
2024-11-16 00:56:59 +01:00
Mounir IDRASSI
a69cba98ec
Windows: Fix regression in self-test of hash algorithms that caused them to fail
2024-11-16 00:51:32 +01:00
Mounir IDRASSI
3a5fe63224
Windows: Fix VS 2022 projects references
2024-11-15 21:40:56 +01:00
Mounir IDRASSI
62e956942a
Windows: remove VS 2019 solution and project files since we migrated to VS 2022.
2024-11-15 18:36:19 +01:00
Mounir IDRASSI
fff9e7275a
Windows: Fix delayload link warning about comdlg32.dll not used. Remove unused old project files
2024-11-15 17:51:06 +01:00
Mounir IDRASSI
6d1ad12755
Windows: move main project files and solution from VS 2010 to VS 2022. Delete unused files.
2024-11-15 15:50:32 +01:00
Mounir IDRASSI
ad39040fdc
Windows: Fix warning when building Setup and Portable. No file elevation is used for them.
2024-11-15 15:47:28 +01:00
Mounir IDRASSI
214fbb5cbd
Windows: Upgrade VS 2019 solution/projects to VS 2022. Remove Win32 configuration for driver and binaries.
...
Only setup remains 32-bit to be compatible with both x64 and arm64 Windows.
2024-11-15 14:22:45 +01:00
Mounir IDRASSI
de9e472d10
Windows: Fix build of MBR bootloader
2024-11-15 11:16:19 +01:00
Mounir IDRASSI
21e61c8ded
Windows: Fix warning in driver build by make get_pkcs5_iteration_count have a single return statement at the end
2024-11-15 11:15:41 +01:00
Mounir IDRASSI
fc4a544180
Windows: Use VS builtin __fastfail intrinsic for fatal exception instead of affecting NULL pointer
2024-11-15 00:42:19 +01:00
Mounir IDRASSI
43ad4f93eb
Windows: Fix various compiler warnings
2024-11-15 00:41:07 +01:00
Mounir IDRASSI
117d8dd046
Windows: Fix MBR bootload compilation error following latest changes
2024-11-15 00:38:09 +01:00
Mounir IDRASSI
951c8d210b
Use portable alignment macro to be compatible with Linux/macOS
2024-11-13 09:36:06 +01:00
Mounir IDRASSI
75152f7dc0
Use adequate const qualifiers for pbkdf2 functions arguments
2024-11-13 09:28:32 +01:00
Mounir IDRASSI
c63b74bbfe
Linux: Fix build error following latest code cleanup
2024-11-13 09:16:49 +01:00
Mounir IDRASSI
cb97351250
Windows: Remove support for 32-bit driver code. Set build target as Windows 10. Simplify code and fix all warnings in driver.
2024-11-13 02:08:51 +01:00
Mounir IDRASSI
ec4b44c238
Windows: Use BCryptGenRandom instead of deprecated CryptGenRandom to generate secure random bytes
2024-11-13 02:04:13 +01:00
Mounir IDRASSI
a1ade61c59
Linux: Fix build error caused by changes for dynamic CPU SHA support detection
2024-11-11 00:04:46 +01:00
Mounir IDRASSI
262b745940
Linux: Fix detection of SHA CPU support on virtualized environment by trying SHA instruction
2024-11-10 23:36:57 +01:00
Mounir IDRASSI
73684e56d8
Linux: Fix build error following SHA intrinsic support changes
2024-11-10 21:42:24 +01:00
Mounir IDRASSI
04c747fb2d
Add support for SHA-256 x86 instrinsic for enhance performance of PBKDF2-HMAC-SHA256
2024-11-10 21:08:00 +01:00
Mounir IDRASSI
fcc0c82836
Translations: Fix missing lang id in Romanian translation
2024-11-09 11:35:16 +01:00
Mounir IDRASSI
92ad97ef33
Linux: Improve directory opening logic by prioritizing xdg-open and adding fallback mechanisms ( #1420 )
...
- Use xdg-open as the primary method for opening directories, ensuring compatibility with most Linux environments.
- Implemented fallback logic to try other known file managers (e.g., nautilus, dolphin, caja, thunar) if xdg-open is unavailable or fails.
Based on proposal by @bugtracker2019
2024-09-24 03:55:33 +02:00
Mounir IDRASSI
ba8dd5137a
Linux: Add Fedora as supported distribution in CMakeLists.txt
2024-09-22 11:46:01 +02:00
Mounir IDRASSI
68e2e01745
Windows: Fix EFI configuration editor various issues
...
We always using Unicode functions to interact with UI. We convert UTF8 string to UTF16 and vis-versa.
Overwrite input string instead of using resize that caused old test to remain.
Fix case of readOnly by using correct message.
change position of OK/cancel button to match other dialogs.
Activate translation on this dialog.
2024-09-19 00:36:31 +02:00
Mounir IDRASSI
aaf42a84a7
Linux: fix assert by wxWidgets library included in Ubuntu.
2024-09-18 15:08:31 +02:00
Mounir IDRASSI
380850787e
Windows: Simplify error message related to IsEfiBoot since it always fail with ERROR_INVALID_FUNCTION
...
Proposed by @kriegste on https://github.com/veracrypt/VeraCrypt/issues/360
2024-09-17 18:25:52 +02:00
Mounir IDRASSI
866fc8f513
macOS: fix regression in build script that caused it to ignore fuset switch
...
fixed by Mattoje #1417
2024-09-17 17:57:14 +02:00
Mounir IDRASSI
5c485e80b6
macOS: restrict --allow-screencapture switch to macOS only since screen protection doesn't work on Linux
...
In the code we also enable it for TC_WINDOWS but actually we don't use wxWidgets for Windows build.
2024-09-17 00:12:28 +02:00
Mounir IDRASSI
eb0eec7b39
Windows: Fix failed EFI detection on some PCs where BootOrder variable is not defined.
...
we now report that EFI is not support only when GetFirmwareEnvironmentVariable fails with error ERROR_INVALID_FUNCTION.
Proposed by @kriegste on https://github.com/veracrypt/VeraCrypt/issues/360
2024-09-16 23:11:37 +02:00
Mounir IDRASSI
3a1c8bac59
macOS: enhance macOS build script(allow local build, specify wxWidgets version, control packaging)
...
Based on proposal by @Mattoje in https://github.com/veracrypt/VeraCrypt/issues/1417
2024-09-16 22:42:43 +02:00
Mounir IDRASSI
01dfd0e72b
Linux/macOS: Fix missing define that was causing compilation error
2024-09-10 23:32:42 +02:00
Mounir IDRASSI
40f0174408
Translations: Fix wrong escape sequences in Swedish translation (fixed by @an1 on Sourceforge)
2024-09-10 23:08:52 +02:00
Mounir IDRASSI
4a8f068ba5
Windows: Add support for x86 and x64 build for driver and binaries using Visual Studio 2019
...
We also enable Control Flow Guard and Spectre Mitigation
2024-09-08 17:14:31 +02:00
Mounir IDRASSI
66ce6998b6
Windows: use wcstok_s instead of wcstok for more secure parsing of directory path
2024-09-08 17:10:56 +02:00
Mounir IDRASSI
b2e55df00c
Documentation: Update CHM user guide
2024-09-02 21:16:47 +02:00
Mounir IDRASSI
4a4cfcdb84
Update Release Notes to mention the fix of EFI regression
2024-09-02 21:07:39 +02:00
Mounir IDRASSI
0970a98c84
Windows: Fix bug in disabling of Windows privileges, they were completely removed instead
...
This started to cause issues after latest changes to disable privileges when they are no more needed.
Because of the bug, the privileges could not be enabled again because they were wrongly removed.
2024-09-02 14:08:26 +02:00
Mounir IDRASSI
f024653450
Windows: Fix truncated displayed error message
2024-09-02 14:02:46 +02:00
Mounir IDRASSI
68ade5717b
Windows: Update Release Notes for 1.26.15 release to mention MSI related changes
2024-09-01 22:46:42 +02:00
Mounir IDRASSI
9ec7c27c59
Translations: update Russian translation file by Dmitry Yerokhin.
2024-09-01 22:25:14 +02:00
Mounir IDRASSI
dd33a16bb0
Windows: Ensure that installation folder is removed after MSI uninstall by scheduling removal on reboot if needed
2024-09-01 22:19:07 +02:00
Mounir IDRASSI
279b3455a1
Windows: Fix MSI not overwriting existing data files (chm, html, xml) with new version
...
We use Checksum attribute so that MSI compares hash of file on disk with expected value and trigger overwrite if they differ
2024-09-01 18:01:26 +02:00
Mounir IDRASSI
71dc18aaa2
Windows: Fix MSI not installing all new documentation file. Remove old files left from old versions. Increment version to 1.26.15.
2024-09-01 17:20:01 +02:00
Mounir IDRASSI
61fe6cc82f
Documentation: Fix wrong version in Language Packs.html
2024-08-31 09:39:29 +02:00
Mounir IDRASSI
28b20acab0
Wndows: Fix error 1603 returned by MSI silent install when REBOOT=ReallySuppress specified and a reboot is required
...
In this case, installation was done by the customer action VC_CustomAction_DoChecks was returning the error ERROR_INSTALL_FAILURE (1603)nevertheless.
Now we return success code correctly.
2024-08-30 15:21:21 +02:00
Mounir IDRASSI
b5c7f628d8
Documentation: Update CHM documentation
2024-08-26 04:34:00 +02:00
Mounir IDRASSI
1cf6150458
Documentation: Indicate TrueCrypt 6.x and 7.x for the supported TrueCrypt volumes until 1.25.9
2024-08-25 22:19:49 +02:00
Mounir IDRASSI
500cbeebdf
Translations: Update Russian translation by Dmitry Yerokhin
2024-08-25 21:45:32 +02:00
Mounir IDRASSI
fa874cc611
Linux: Add script to sign generated rpms
2024-08-25 18:56:41 +02:00
Mounir IDRASSI
af734f41df
Increment version to 1.26.14. Set release date to August 25th.
2024-08-25 09:55:44 +02:00
Mounir IDRASSI
d6f0250901
Linux/MacOSX: Only load valid XML language files (Language.langid.xml format with langid one of the predefined language identifiers)
2024-08-25 09:36:38 +02:00
Mounir IDRASSI
380ca35c6d
Windows: Fix regression causing crash when a wrong password is used when changing password of volumes
2024-08-24 18:02:16 +02:00
Mounir IDRASSI
25c88fe3d3
Revert "Add Hausa translation ( #1404 )" ( #1407 )
...
This reverts commit ce9537f2b8 .
2024-08-22 06:53:26 +02:00
Mounir IDRASSI
695d1735a0
Windows: Only load valid XML language files (Language.xx.xml or Language.xx-yy.xml format)
2024-08-21 09:24:57 +02:00
Mounir IDRASSI
0f94015041
Windows: Enhance packaging batch file to bundle only valid XML language files
...
This prevents the inadvertent inclusion of XML file artifacts (e.g., Language.fr - Copy.xml) during the creation of installers.
2024-08-21 07:32:04 +02:00
Mounir IDRASSI
1afab5090e
Documentation: refinements, update Russian documentation.
2024-08-20 09:32:04 +02:00
Mounir IDRASSI
84519517d5
Documentation: Update documentation for TrueCrypt conversion
2024-08-20 07:48:20 +02:00
Mounir IDRASSI
7b7361e63b
Translations: fix wrong name in an entry id in Ukrainian translation.
2024-08-20 06:14:25 +02:00
Mounir IDRASSI
b630c724b4
Add newly added HTML documentation page to the CHM documentation
2024-08-17 16:18:36 +02:00
Mounir IDRASSI
e9af67fe14
Add missing entry in the Release Notes
2024-08-17 15:31:38 +02:00
Mounir IDRASSI
2ea486e856
Update Release Notes. Set release date to August 17th.
2024-08-17 15:14:33 +02:00
Mounir IDRASSI
a9ac7320cd
Documentation: Add conversion guide for deprecated features. Mention hidden volumes in TrueCrypt conversion
2024-08-17 15:08:56 +02:00
Mounir IDRASSI
2cce7c89fd
Translations: Fix encoding issue in Japanese XML file
2024-08-17 09:20:34 +02:00
Mounir IDRASSI
eabe1d2e94
Translations: Fix XML issues in Thai language file
2024-08-17 09:19:57 +02:00
Mounir IDRASSI
17ad739405
Windows: better handling of reading EFI variable to display help error messages in case of failure.
...
Now we accept the possibility of BootOrder EFI variable to be empty in order to try to solve issues on some PCs.
2024-08-14 10:58:52 +02:00
Mounir IDRASSI
c167799506
Windows: fix build failure for x86/x64 with newer Visual Studio that use Windows 10/11 SDK
...
We set Windows 8 as minimum API support fir Visual Studio 2015 and newer.
Closes #1398
2024-08-13 15:12:21 +02:00
Mounir IDRASSI
4f60394999
Translations: update Korean translation file
2024-08-13 03:17:30 +02:00