VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Driver/Ntdriver.c
AgeCommit message (Collapse)AuthorFilesLines
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.
2017-07-23Windows Driver: add legacy handling for ↵Mounir IDRASSI1-23/+42
IOCTL_DISK_GET_DRIVE_LAYOUT_EX/IOCTL_DISK_GET_DRIVE_LAYOUT IOCTLs to fix issues with faulty applications and drivers that don't handle them correctly.
2017-07-20Windows driver: only activate newly supported IOCTLs if the option to enable ↵Mounir IDRASSI1-43/+83
extended IOCTLs is enabled in VeraCrypt driver settings.
2017-07-20Windows driver: fix IOCTL_DISK_GET_DRIVE_LAYOUT and ↵Mounir IDRASSI1-2/+2
IOCTL_DISK_GET_DRIVE_LAYOUT_EX output by using setting PartitionCount to 4 instead of 1 since this field must always be a multiple of 4 for MBR disks.
2017-07-05Windows Driver: correctly get KeRestoreExtendedProcessorState function pointer.Mounir IDRASSI1-4/+5
2017-07-04Windows: correctly handle SEH exceptions during self-tests in order to ↵Mounir IDRASSI1-1/+10
disable CPU extended features in such case.
2017-07-04Windows Driver: correctly save and restore extended processor state when ↵Mounir IDRASSI1-0/+41
performing AVX operations on Windows 7 and later. Enhance readability of code handling save/restore of floating point state.
2017-06-23Update IDRIX copyright yearMounir IDRASSI1-1/+1