VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Driver/Ntdriver.c
AgeCommit message (Collapse)AuthorFilesLines
2024-11-23Windows Driver: Make max work items count configurable. Increase default to ↵Mounir IDRASSI1-0/+13
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-17Windows Driver: Use system functions directly instead of dynamic loading ↵Mounir IDRASSI1-156/+34
since we are targeting Windows 10
2024-11-16Windows Driver: Add Unicode define to build and enhance tracing in debug modeMounir IDRASSI1-147/+79
2024-11-16Windows: remove 32-bit logic from the code since we support only 64-bit. ↵Mounir IDRASSI1-12/+0
remove 32-bit EFI bootloader files. We also fix intermediary files folder for Portable and Setup projects
2024-11-13Windows: Remove support for 32-bit driver code. Set build target as Windows ↵Mounir IDRASSI1-134/+98
10. Simplify code and fix all warnings in driver.
2024-06-12Avoid conflict with C++17 features std::byte by using uint8 type instead of byteMounir IDRASSI1-6/+6
2023-11-08Windows: Fix failure to format some disks (e.g. VHDX) caused by partition ↵Mounir IDRASSI1-9/+9
offset not 4K aligned Now we set offset to 1MB which is a typical values used for MBR disks. We also use a more standard way to calculate legacy number of cylinders
2023-09-29Windows Driver: Use KeQueryInterruptTimePrecise on Windows 8.1 and newer as ↵Mounir IDRASSI1-2/+20
better seed for internal RNG compared to KeQueryInterruptTime
2023-08-13Windows: Implement support for mounting partially encrypted system partitionsMounir IDRASSI1-0/+15
For now, we force ReadOnly mounting for such partitions.
2023-07-22Windows: Remove TrueCrypt support. Increment version to 1.26.4.Mounir IDRASSI1-19/+1
2022-02-06Windows: Add registry setting to disable erasing encryption keys on Windows ↵Mounir IDRASSI1-0/+14
shutdown/reboot. This helps solve BSOD during shutdown/reboot on some machines. Under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt", create a REG_DWORD value named "VeraCryptEraseKeysShutdown" and set its value to 0.
2021-12-30Windows driver: Set maximum values for encryption queue parameters. Add ↵Mounir IDRASSI1-3/+17
IOCTL code to read used values from user space maximum value for EncryptionFragmentSize is 2048 maximum value for EncryptionIoRequestCount is 8192 maximum value for EncryptionItemCount is (EncryptionIoRequestCount/2)
2021-12-30Windows Driver: Better code for EncryptionFragmentSize variable handlingMounir IDRASSI1-4/+5
2021-12-20Windows Driver: Add registry settings to control driver internal encryption ↵Mounir IDRASSI1-0/+47
queue Under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt: - VeraCryptEncryptionFragmentSize (REG_DWORD): size of encryption data fragment in KiB. Default is 256. - VeraCryptEncryptionIoRequestCount (REG_DWORD): maximum number of parallel I/O requests. Default is 16. - VeraCryptEncryptionItemCount (REG_DWORD): maximum number of encryption queue items processed in parallel. Default is 8.
2021-08-30Windows: Fix some VS static analyzed warningsMounir IDRASSI1-1/+1
2021-08-24Windows Driver: Potential memory corruption caused by integer overflow in ↵Mounir IDRASSI1-21/+61
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES (reported by I.V. Sprundel)
2021-02-27Windows: Block Windows from resizing system partition if it is encrypted. ↵Mounir IDRASSI1-0/+2
This avoid issues during Windows Upgrade that sometimes resizes system partition which create problems if it is encrypted by VeraCrypt
2020-12-11Windows: Fix various compiler warningsMounir IDRASSI1-0/+2
2020-12-11Windows Driver: Fix build error using Windows 10 WDK caused by name conflict ↵Mounir IDRASSI1-2/+2
for KeSaveExtendedProcessorState/KeRestoreExtendedProcessorState functions
2020-07-02Windows: Don't use API for Processor Groups support if there is only 1 CPU ↵Mounir IDRASSI1-1/+7
group in the system. This can fix slowness issue observed on some PCs with AMD CPUs.
2020-06-28Windows: remove unused code targeting Windows 2000.Mounir IDRASSI1-21/+11
2020-06-21Windows Driver: Use real disk sector size instead of generic 512 bytes value ↵Mounir IDRASSI1-4/+9
when probing disk real size
2020-02-10Windows: Implement support for processor groups in the driver and fix build ↵Mounir IDRASSI1-8/+58
issues caused by previous implementation
2019-12-09Windows Driver: Reduce memory usage of IOCTL_DISK_VERIFY handler. Now we ↵Mounir IDRASSI1-6/+22
reader disk by chunks of at most 64 KiB. Fix https://github.com/veracrypt/VeraCrypt/issues/562.
2019-11-07Windows Driver: Fix strange crashes caused by probably by APC queue issues ↵Mounir IDRASSI1-80/+225
from calls to IoBuildDeviceIoControlRequest and ZwCreate (cf https://www.osr.com/blog/2018/02/14/beware-iobuilddeviceiocontrolrequest/)
2019-03-03Windows Driver: Add IOCTL code to query RAM encryption status in VeraCrypt ↵Mounir IDRASSI1-0/+11
driver
2019-03-01Windows Driver: Enable RAM encryption only after its security parameters ↵Mounir IDRASSI1-6/+5
were created
2019-03-01Windows: use specific order for EFI boot arguments memory regions that ↵Mounir IDRASSI1-1/+41
matches the one used by EFI bootloader.
2019-03-01Windows: Implement RAM encryption for keys on 64-bit machines using ChaCha12 ↵Mounir IDRASSI1-1/+22
cipher and t1ha non-cryptographic fast hash (https://github.com/leo-yuriev/t1ha)
2019-02-12Windows: Use Hardware RNG based on CPU timing jitter "Jitterentropy" by ↵Mounir IDRASSI1-1/+15
Stephan Mueller as a good alternative to RDRAND (http://www.chronox.de/jent.html, smueller@chronox.de)
2019-02-08Windows: Add implementation of ChaCha20 based random generator. Use it for ↵Mounir IDRASSI1-0/+60
driver need of random bytes (currently only wipe bytes but more to come later).
2019-02-08Windows: Add option to enable use of CPU RDRAND/RDSEED as source of entropy ↵Mounir IDRASSI1-0/+1
which is now disabled by default
2019-01-28Windows Driver: force the input size for some IOCTLs to have a fixed valueMounir IDRASSI1-2/+28
2019-01-26Windows: Add a build configuration containing EFI bootloader signed with ↵Mounir IDRASSI1-1/+1
custom SecureBoot key instead
2019-01-14Windows: Implement feature that enables clearing of encryption keys when a ↵Mounir IDRASSI1-0/+7
new device is inserted. Better implementation for update of EFI bootloader without usage of drive letters (this can fix random issues encountered during Windows upgrade).
2019-01-09Windows Security: Add new entry point in driver that allows emergency ↵Mounir IDRASSI1-0/+5
clearing of all encryption keys from memory. This entry point requires administrative privileges and it will caused BSDO when system encryption is active. It can be useful for example to applications that monitors physical access to the machine and which need to erase sensitive key material from RAM when unauthorized access is detected.
2018-12-19Windows Driver: Don't interact with the volume's filesystem if mount manager ↵Mounir IDRASSI1-1/+1
integration is disabled
2018-12-19Windows: Add mount option that allows mounting a volume without attaching it ↵Mounir IDRASSI1-9/+11
to the specified drive letter. This is useful in situation where Windows has issue with the filesystem (e.g. ReFS on Windows 10 1809) and we need to use third party software to be able to use the filesystem under Windows through low level VeraCrypt virtual device (e.g. \Device\VeraCryptVolumeX).
2018-10-10Windows Driver: fix regression that was causing BSOD.Mounir IDRASSI1-1/+1
2018-10-10Windows Driver: replace system functions ↵Mounir IDRASSI1-9/+41
RtlUpcaseUnicodeChar/RtlUnalignedStringCchLengthW by our own code for better clarity
2018-09-21Windows driver: add extra check for data read in TC_IOCTL_OPEN_TEST handlingMounir IDRASSI1-1/+31
2018-09-21Windows: fix low severity vulnerability in driver that allowed reading 3 ↵Mounir IDRASSI1-49/+82
bytes of kernel stack memory (with a rare possibility of 25 additional bytes). Reported by Tim Harrison.
2018-09-01Windows: extended Windows defragmenter workaround to Windows 8.1Mounir IDRASSI1-3/+3
2018-08-24Windows: implement a driver configuration option to explicitly allow ↵Mounir IDRASSI1-1/+3
defragmenting non-système disques by Windows built-in defragmenter tool.
2018-08-18Windows: Implement workaround on Windows 10 to make VeraCrypt encrypted ↵Mounir IDRASSI1-5/+21
disks visible to Windows defragmenter
2018-08-15WIndows driver: add check for failed memory allocationMounir IDRASSI1-8/+11
2018-03-05Windows: Add option to block TRIM command on system encryption SSD drives.Mounir IDRASSI1-0/+4
2018-03-04Windows: Implement TRIM support for non-system SSD partitions/drives and add ↵Mounir IDRASSI1-32/+290
driver option to enable it (TRIM is disabled by default for non-system SSD partitions/drives)
2017-07-27Windows driver: correctly handle IOCTL_DISK_GET_DRIVE_GEOMETRY_EX to fix ↵Mounir IDRASSI1-29/+151
issues with some disks. Implement IOCTL_STORAGE_GET_MEDIA_TYPES_EX.
2017-07-23Windows Driver: make IOCTL_DISK_GET_DRIVE_GEOMETRY_EX support optional. Make ↵Mounir IDRASSI1-15/+19
disk size equal to partition size to avoid compatibility issues with existing software.