Update Corsican translation on 2025-09 (#1609)
Recent Commits to VeraCrypt:master
-
Update Corsican translation on 2025-09 (#1609)
-
Documentation: fix wrong name for pbkdf2.html causing issues under Li…
Documentation: fix wrong name for pbkdf2.html causing issues under Linux.
-
Update Language.de.xml (#1608)
Update Language.de.xml (#1608)
-
Update Language.zh-cn.xml (#1607)
Update Language.zh-cn.xml (#1607)
-
Increment version to 1.26.17 is packaging files.
Increment version to 1.26.17 is packaging files.
-
Update translations
Update translations
-
Increment version to 1.26.27. Update Release notes, Windows driver, b…
Increment version to 1.26.27. Update Release notes, Windows driver, bootloader
-
Update Polish translation (#1606)
Update Polish translation (#1606)
-
Windows: Add setting/CLI switch to enable IME during Secure Desktop. …
Windows: Add setting/CLI switch to enable IME during Secure Desktop. Fix Preferences tabs handling. Now it is possible to enable IME during Secure Desktop using a setting in Preferences or using /enableIME switch. This helps solve issues with some IME that causes VeraCrypt to freeze when selecting keyfile while VeraCrypt secure desktop is active. See: https://sourceforge.net/p/veracrypt/discussion/general/thread/1e8b9aeacd
-
Windows driver: enhance IRP completion by avoiding inline ones and us…
Windows driver: enhance IRP completion by avoiding inline ones and using CriticalWorkQueue for faster completion dispatch This change adds more robustness in low memory case and avoid freezes. It also protects cancel handling with cancel spin lock
-
Windows driver: add safe MapIrpDataBuffer function to prevent rare BS…
Windows driver: add safe MapIrpDataBuffer function to prevent rare BSOD when irp->MdlAddress is NULL Introduce MapIrpDataBuffer to handle Direct/Buffered/Neither I/O, probing & locking pages and allocating a temp MDL when needed. Replace blind MmGetSystemAddressForMdlSafe usage. clean up TempUserMdl in OnItemCompleted to avoid crashes when MdlAddress is NULL. Issue reported at https://sourceforge.net/p/veracrypt/discussion/technical/thread/e43bde8d86/
-
Windows driver: revert to single completion thread until proper imple…
Windows driver: revert to single completion thread until proper implementation is in place
-
Windows: correct processor group affinity handling and off-by-one map…
Windows: correct processor group affinity handling and off-by-one mapping - Replace dynamic GetProcAddress usage with direct SetThreadGroupAffinity call since we run under Windows 10 minimum - Compute affinity mask based on actual active processor count - Fix off-by-one when assigning threads to processor groups (use > instead of >=), preventing premature group advance - Improves correctness on multi-group (>=64 CPU) systems
-
Windows driver: fix VERIFY/TRIM offset & validation, label handling, …
Windows driver: fix VERIFY/TRIM offset & validation, label handling, CPU group affinity, and cleanup - Use local volumeOffset, correct IOCTL_DISK_VERIFY & TRIM range translation/validation - Enforce DataSetRangesLength alignment & per-range sanity checks - Add missing returns after PsTerminateSystemThread - Remove obsolete PsDereferenceImpersonationToken dynamic lookup - Correct wide string size usage & zero label info buffer - Fix DEBUG_TRACE macro check and GetCpuGroup off-by-one. proper affinity mask - Minor safety/clarity cleanups
-
Windows driver: add defensive checks to TCCloseVolume implementation
Windows driver: add defensive checks to TCCloseVolume implementation
-
Windows: remove wrong static declaration of functions in Ntvol.h
Windows: remove wrong static declaration of functions in Ntvol.h
-
Windows driver: revert IRP completion overhaul changes until more tes…
Windows driver: revert IRP completion overhaul changes until more tests are conducted
-
Windows driver: simplify TCSleep to use KeDelayExecutionThread
Windows driver: simplify TCSleep to use KeDelayExecutionThread Replace timer-based TCSleep (which allocated a KTIMER and waited on it) with an implementation that calls KeDelayExecutionThread. This removes dynamic allocation and kernel timer usage to simplify the code and reduce resource overhead. Adds an IRQL <= APC_LEVEL assertion and documents the requirement. This is safe because TCSleep is always called from code that runs at PASSIVE_LEVEL
-
Windows driver fix: Decrement IoThreadPendingRequestCount on allocati…
Windows driver fix: Decrement IoThreadPendingRequestCount on allocation failure in MainThreadProc Added InterlockedDecrement in the error path when GetPoolBuffer fails for EncryptedIoRequest to ensure accurate tracking of pending IO requests and prevent potential resource leaks.
-
Windows driver: remove unneeded __try/__finally
Windows driver: remove unneeded __try/__finally
-
Windows driver: harden UpdateBuffer against integer overflow. Make co…
Windows driver: harden UpdateBuffer against integer overflow. Make completion backoff per request (no shared state)
-
Windows driver: overhaul IRP completion path in EncryptedIoQueue, add…
Windows driver: overhaul IRP completion path in EncryptedIoQueue, add dual completion threads, precise byte accounting & safer UpdateBuffer Major changes: - Added pooled + elastic work item model with retry/backoff (MAX_WI_RETRIES). removed semaphore usage. - Introduced two completion threads to reduce contention and latency under heavy IO. - Added BytesCompleted (per IRP) and ActualBytes (per fragment) for correct short read/write accounting. total read/write stats now reflect real transferred bytes instead of requested length. - Moved decryption of read fragments into IO thread. completion threads now only finalize IRPs (reduces race window and simplifies flow). - Deferred final IRP completion via FinalizeOriginalIrp to avoid inline IoCompleteRequest re-entrancy. added safe OOM inline fallback. - Implemented work item pool drain & orderly shutdown (ActiveWorkItems + NoActiveWorkItemsEvent) with robust stop protocol. - Replaced semaphore-based work item acquisition with spin lock + free list + event (WorkItemAvailableEvent). added exponential backoff for transient exhaustion. - Added elastic (on-demand) work item allocation with pool vs dynamic origin tracking (FromPool). - Added FreeCompletionWorkItemPool() for symmetric cleanup; ensured all threads are explicitly awakened during stop. - Added second completion thread replacing single CompletionThread. - Hardened UpdateBuffer: fixed parameter name typo, added bounds/overflow checks using IntSafe (ULongLongAdd), validated Count, guarded sector end computation. - Fixed GPT/system region write protection logic to pass correct length instead of end offset. - Ensured ASSERTs use fragment‑relative bounds (cast + length) and avoided mixed 64/32 comparisons. - Added MAX_WI_RETRIES constant. added WiRetryCount field in EncryptedIoRequest. - Ensured RemoveLock is released only after all queue/accounting updates (OnItemCompleted). - Reset/read-ahead logic preserved. read-ahead trigger now based on actual completion & zero pending fragment count. - General refactoring, clearer separation of concerns (TryAcquireCompletionWorkItem / FinalizeOriginalIrp / HandleCompleteOriginalIrp). Safety / correctness improvements: - Accurate short read handling (STATUS_END_OF_FILE with true byte count). - Eliminated risk of double free or premature RemoveLock release on completion paths. - Prevented potential overflow in sector end arithmetic. - Reduced contention and potential deadlock scenarios present with previous semaphore wait path.
-
Windows driver: add more checks and comments to crash dump filter
Windows driver: add more checks and comments to crash dump filter - Document HIGH_LEVEL constraints and rationale for pre-building a nonpaged scratch MDL. - Allocate contiguous scratch buffer with conservative PFN cap (0x7FFFFFFFFFF) and fall back to unlimited cap if needed. - Replace ASSERT with TC_BUG_CHECK for validation of write MDL mapping at HIGH_LEVEL. - Safely copy PFNs from prebuilt MDL into caller MDL: compute dst/src page counts, check capacity, copy exact PFNs and retarget MDL header fields (preserve MdlFlags). - Make DumpData cleanup defensive in unload path. - comments improvements for clarity and maintainability.
-
Fix problems inside crash dump filter path (#1590)
Fix problems inside crash dump filter path (#1590) * Prefer allocations to be non-executable * Remove and reimplement DDIs inappropriately called inside HIGH_LEVEL IRQL routines * Refactor hibernate context to be passed around in the passed FILTER_EXTENSION pointer rather than global
-
Update Language.de.xml (#1598)
Update Language.de.xml (#1598) Translation completed
-
Fix warning caused by clash between Argon2 AVX2 rotrX macros and inte…
Fix warning caused by clash between Argon2 AVX2 rotrX macros and integer equivalents in VeraCrypt headers
-
Translations: set correct "lang" attribute in Swedish language file
Translations: set correct "lang" attribute in Swedish language file
-
Update Language.zh-cn.xml (#1597)
Update Language.zh-cn.xml (#1597)
-
Update Swedish (#1594)
Update Swedish (#1594)
-
Update Polish translation (#1592)
Update Polish translation (#1592)
-
Update Corsican translation on 2025-08 (#1591)
Update Corsican translation on 2025-08 (#1591) * Update Corsican translation on 2025-08 * Update Corsican translation on 2025-08
-
Documentation: Add entry about KDF, PBKDF2.
Documentation: Add entry about KDF, PBKDF2.
-
Windows: Use tab control for VeraCrypt preferences to reduce clutter …
Windows: Use tab control for VeraCrypt preferences to reduce clutter and size of dialog
-
Fix code compilation. (#1583)
Fix code compilation. (#1583) * Fix "blake2b.h" header file location. * Include "blake2b.h" to fix compilation.
-
Documentation: Use "KDF" instead of "PKCS-5 PRF". Add Argon2 related …
Documentation: Use "KDF" instead of "PKCS-5 PRF". Add Argon2 related information.
-
Use "KDF" instead of "PKCS5 PRF" for UI selection of KDF to use
Use "KDF" instead of "PKCS5 PRF" for UI selection of KDF to use
-
Fix IDC_MOUNTALL in German translation (#1568)
Fix IDC_MOUNTALL in German translation (#1568) * Fix german translation of IDC_MOUNTALL * Replace " ..." with "..." in German translation * Change help texts that refer to IDC_MOUNTALL string
-
Use blake2b as hash for random generator from Argon2 is used.
Use blake2b as hash for random generator from Argon2 is used.
-
Windows: set version to 1.26.26. Update Release Notes, bootloader and…
Windows: set version to 1.26.26. Update Release Notes, bootloader and Windows drivers.
-
Windows: speedup PRF autodetection mode by implementing abort mechani…
Windows: speedup PRF autodetection mode by implementing abort mechanism in PBKDF2/Argon2 primitives
-
Update Language.zh-cn.xml (#1565)
Update Language.zh-cn.xml (#1565)
-
Update Corsican translation on 2025-06 (#1566)
Update Corsican translation on 2025-06 (#1566)
-
Linux: Fix build error under ARM64
Linux: Fix build error under ARM64
-
Windows: Update MSI version to 1.26.25
Windows: Update MSI version to 1.26.25
-
Update Polish translation (#1564)
Update Polish translation (#1564)
-
Linux: Fix build issue after addition of Argon2 on Windows.
Linux: Fix build issue after addition of Argon2 on Windows. Argon2 support for Linux will come later
-
Windows: use correct default PIM value for Argon2 when validating sma…
Windows: use correct default PIM value for Argon2 when validating small PIM values
-
Windows: Add missing x64 driver file
Windows: Add missing x64 driver file
-
Update some translations
Update some translations
-
Update Release Notes and CHM.
Update Release Notes and CHM.
-
Windows: Fix build errors on ARM64 configuration due to missing inclu…
Windows: Fix build errors on ARM64 configuration due to missing include path in projects
-
Windows: Update Windows MBR bootloader
Windows: Update Windows MBR bootloader
-
Add new entry in XML files for Argon2 memory cost. Increment version …
Add new entry in XML files for Argon2 memory cost. Increment version to 1.26.25
-
Windows: Add support for Argon2id as an alternative to PBKDF2 key der…
Windows: Add support for Argon2id as an alternative to PBKDF2 key derivation
-
Windows: Include SDL dlls in signing batch file
Windows: Include SDL dlls in signing batch file
-
Windows: Add CLI switches to control memory/screen protection feature…
Windows: Add CLI switches to control memory/screen protection features. Disable non-configurable settings in portable mode
-
Windows: Add resource file to Format dll. Fix copying output of Forma…
Windows: Add resource file to Format dll. Fix copying output of Format dll project.
-
Windows: Add password length and pin value defined to SDK header
Windows: Add password length and pin value defined to SDK header
-
Windows: Fix incorrect comment in SDK header file
Windows: Fix incorrect comment in SDK header file
-
Windows: Add an SDK for VeraCrypt Format that allows third-party appl…
Windows: Add an SDK for VeraCrypt Format that allows third-party application to create volumes