VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Setup
AgeCommit message (Expand)AuthorFilesLines
2021-12-27Increment version to 1.25.6. Update Release Notes and add signed Windows driver.Mounir IDRASSI4-8/+9
2021-12-24MacOSX: Increment version to 1.24.5 and update release notes.Mounir IDRASSI2-4/+4
2021-12-24MacOSX: make sure that no files inside VeraCrypt application bundle are world...Mounir IDRASSI1-1/+3
2021-12-20Increment version to 1.25.5 and update release notesMounir IDRASSI2-4/+4
2021-12-04Windows: Implement TESTSIGNING build configuration that allows running under ...Mounir IDRASSI3-25/+147
2021-11-30Increment version to 1.25.4 and set release date to December 3rd 2021Mounir IDRASSI4-8/+8
2021-11-28Increment version to 1.25 (1.25.3)Mounir IDRASSI4-8/+8
2021-11-21Increment version to 1.25-RC2 and update release notesMounir IDRASSI4-8/+8
2021-11-21Windows: Restrict supported Windows versions to XP, 10 and 11 because of new ...Mounir IDRASSI1-0/+228
2021-09-05Increment version to 1.25-RC1Mounir IDRASSI4-8/+8
2021-09-05Windows: Block installation with exe installer if VeraCrypt was already insta...Mounir IDRASSI1-0/+26
2021-08-30Increment version to 1.25Mounir IDRASSI4-12/+12
2021-08-30Windows Exe Setup: Add ARM64 binaries to FileInUse detectionMounir IDRASSI1-0/+3
2021-08-23Linux: Add missing veracrypt.xml file used for mime type handlingMounir IDRASSI1-0/+11
2021-08-23macOS: During install, set libfuse.2.dylib as symbolic link to libosxfuse.2.d...Mounir IDRASSI3-2/+14
2021-08-21Linux: Better Linux desktop integration. Add mount.veracrypt script for fstab...Mounir IDRASSI2-6/+30
2021-08-16Increment version to 1.24-Update9-Beta-21-08-15Mounir IDRASSI2-2/+9
2021-08-15Windows: Increment version to 1.24.25.3 and update signed Windows driverMounir IDRASSI2-4/+4
2021-08-02Windows: Increment version to 1.24.25.2 and update signed Windows driverMounir IDRASSI2-4/+4
2021-03-22Windows: first implementation of MSI installer for silent mode deployment (AC...Mounir IDRASSI1-1/+2
2021-01-02Increment version to 1.24-Update9Mounir IDRASSI4-12/+12
2021-01-02Windows: Fix various warningsMounir IDRASSI1-12/+12
2021-01-02Windows: Add support for ARM64 platform (e.g. Microsoft Surface Pro X). Syste...Mounir IDRASSI2-5/+25
2020-12-13MacOS: make legacy installer compatible with macFUSE 4.0.xMounir IDRASSI1-3/+4
2020-11-29Increment version to 1.24-Update8Mounir IDRASSI4-12/+12
2020-11-29MacOSX: make installer compatible with macFUSE 4.0 and restriction to INTEL c...Mounir IDRASSI1-47/+4
2020-08-06Increment internal version to 1.24.23 and update release notesMounir IDRASSI4-6/+6
2020-08-06Windows: Fix crash when using portable 32-bit "VeraCrypt Format.exe"/"VeraCry...Mounir IDRASSI1-6/+6
2020-08-06Increment internal version to 1.24.22 and update release notesMounir IDRASSI4-6/+6
2020-08-03Increment internal version to 1.24.21 and update release notesMounir IDRASSI4-6/+6
2020-07-22Increment internal version to 1.24.20 and update release notesMounir IDRASSI4-6/+6
2020-07-21Windows Setup: Warn about Fast Startup during install if it is enabled and pr...Mounir IDRASSI3-0/+20
2020-07-04Increment internal version to 1.24.19Mounir IDRASSI4-6/+6
2020-06-29Increment internal version to 1.24.18 and update signed Windows drivers.Mounir IDRASSI4-6/+6
2020-06-28Windows: remove unused code targeting Windows 2000.Mounir IDRASSI1-16/+0
2020-06-23Increment version to 1.24-Update7Mounir IDRASSI4-12/+12
2020-03-10Increment version to 1.24-Update6Mounir IDRASSI4-12/+12
2020-02-11Increment version to 1.24-Update5 and update signed Windows drivers.Mounir IDRASSI4-12/+12
2020-01-22Increment version to 1.24-Update4 and update Release NotesMounir IDRASSI4-12/+12
2019-12-16Update version information in preparation for 1.24-Update2 releaseMounir IDRASSI4-6/+6
2019-12-10Increment version to 1.24-Update2Mounir IDRASSI4-12/+12
2019-11-09Linux: during uninstall, output error message to STDERR instead of STDOUT for...Mounir IDRASSI1-1/+1
2019-11-07Increment version to 1.24-Hotfix2Mounir IDRASSI4-12/+12
2019-10-26MacOSX: Update build script and Makefile to correctly build Legacy version of...Mounir IDRASSI1-22/+81
2019-10-24MacOSX: Add dedicated installer for legacy version that targets OSX 10.7+ and...Mounir IDRASSI2-27/+1106
2019-10-24Increment version to 1.24-Hotfix1Mounir IDRASSI3-9/+9
2019-10-20Increment version to 1.23-Hotfix1-PreviewMounir IDRASSI3-10/+10
2019-10-06Linux/FreeBSD: change location of documentation from /usr/share/veracrypt/doc...Mounir IDRASSI2-0/+2
2019-10-06Increment version to 1.24Mounir IDRASSI3-5/+5
2019-10-02Increment version to 1.24-Beta6Mounir IDRASSI3-10/+10
>HostBytesPerSector; uint32 HostBytesPerPhysicalSector; ULONG HostMaximumTransferLength; ULONG HostMaximumPhysicalPages; ULONG HostAlignmentMask; KEVENT keVolumeEvent; /* Event structure used when setting up a device */ EncryptedIoQueue Queue; BOOL bReadOnly; /* Is this device read-only ? */ BOOL bRemovable; /* Is this device removable media ? */ BOOL PartitionInInactiveSysEncScope; BOOL bRawDevice; /* Is this a raw-partition or raw-floppy device ? */ BOOL bMountManager; /* Mount manager knows about volume */ BOOL SystemFavorite; WCHAR wszVolume[TC_MAX_PATH]; /* DONT change this size without also changing MOUNT_LIST_STRUCT! */ WCHAR wszLabel[33]; BOOL bIsNTFS; BOOL bDriverSetLabel; unsigned char volumeID[VOLUME_ID_SIZE]; LARGE_INTEGER fileCreationTime; LARGE_INTEGER fileLastAccessTime; LARGE_INTEGER fileLastWriteTime; LARGE_INTEGER fileLastChangeTime; BOOL bTimeStampValid; PSID UserSid; BOOL SecurityClientContextValid; SECURITY_CLIENT_CONTEXT SecurityClientContext; } EXTENSION, *PEXTENSION; typedef enum { ValidateInput, ValidateOutput, ValidateInputOutput } ValidateIOBufferSizeType; typedef enum { DeviceNamespaceDefault, DeviceNamespaceGlobal, } DeviceNamespaceType; extern PDRIVER_OBJECT TCDriverObject; extern PDEVICE_OBJECT RootDeviceObject; extern BOOL DriverShuttingDown; extern ULONG OsMajorVersion; extern ULONG OsMinorVersion; extern BOOL VolumeClassFilterRegistered; extern BOOL CacheBootPassword; extern BOOL CacheBootPim; /* Helper macro returning x seconds in units of 100 nanoseconds */ #define WAIT_SECONDS(x) ((x)*10000000) NTSTATUS DriverEntry (PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath); NTSTATUS DriverAddDevice (PDRIVER_OBJECT driverObject, PDEVICE_OBJECT pdo); void DumpMemory (void *memory, int size); BOOL IsAccessibleByUser (PUNICODE_STRING objectFileName, BOOL readOnly); NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension, PIRP Irp); NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension, PIRP Irp); NTSTATUS SendDeviceIoControlRequest (PDEVICE_OBJECT deviceObject, ULONG ioControlCode, void *inputBuffer, int inputBufferSize, void *outputBuffer, int outputBufferSize); NTSTATUS TCDispatchQueueIRP (PDEVICE_OBJECT DeviceObject, PIRP Irp); NTSTATUS TCCreateRootDeviceObject (PDRIVER_OBJECT DriverObject); NTSTATUS TCCreateDeviceObject (PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT * ppDeviceObject, MOUNT_STRUCT * mount); NTSTATUS TCReadDevice (PDEVICE_OBJECT deviceObject, PVOID buffer, LARGE_INTEGER offset, ULONG length); NTSTATUS TCWriteDevice (PDEVICE_OBJECT deviceObject, PVOID buffer, LARGE_INTEGER offset, ULONG length); NTSTATUS TCStartThread (PKSTART_ROUTINE threadProc, PVOID threadArg, PKTHREAD *kThread); NTSTATUS TCStartThreadInProcess (PKSTART_ROUTINE threadProc, PVOID threadArg, PKTHREAD *kThread, PEPROCESS process); NTSTATUS TCStartVolumeThread (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension, MOUNT_STRUCT * mount); void TCStopThread (PKTHREAD kThread, PKEVENT wakeUpEvent); void TCStopVolumeThread (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension); VOID VolumeThreadProc (PVOID Context); void TCSleep (int milliSeconds); void TCGetNTNameFromNumber (LPWSTR ntname, int cbNtName, int nDriveNo); void TCGetDosNameFromNumber (LPWSTR dosname, int cbDosName, int nDriveNo, DeviceNamespaceType namespaceType); LPWSTR TCTranslateCode (ULONG ulCode); void TCDeleteDeviceObject (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension); VOID TCUnloadDriver (PDRIVER_OBJECT DriverObject); void OnShutdownPending (); NTSTATUS TCDeviceIoControl (PWSTR deviceName, ULONG IoControlCode, void *InputBuffer, ULONG InputBufferSize, void *OutputBuffer, ULONG OutputBufferSize); NTSTATUS TCOpenFsVolume (PEXTENSION Extension, PHANDLE volumeHandle, PFILE_OBJECT * fileObject); void TCCloseFsVolume (HANDLE volumeHandle, PFILE_OBJECT fileObject); NTSTATUS TCFsctlCall (PFILE_OBJECT fileObject, LONG IoControlCode, void *InputBuffer, int InputBufferSize, void *OutputBuffer, int OutputBufferSize); NTSTATUS CreateDriveLink (int nDosDriveNo); NTSTATUS RemoveDriveLink (int nDosDriveNo); NTSTATUS MountManagerMount (MOUNT_STRUCT *mount); NTSTATUS MountManagerUnmount (int nDosDriveNo); NTSTATUS MountDevice (PDEVICE_OBJECT deviceObject, MOUNT_STRUCT *mount); NTSTATUS UnmountDevice (UNMOUNT_STRUCT *unmountRequest, PDEVICE_OBJECT deviceObject, BOOL ignoreOpenFiles); NTSTATUS UnmountAllDevices (UNMOUNT_STRUCT *unmountRequest, BOOL ignoreOpenFiles); NTSTATUS SymbolicLinkToTarget (PWSTR symlinkName, PWSTR targetName, USHORT maxTargetNameLength); BOOL RootDeviceControlMutexAcquireNoWait (); void RootDeviceControlMutexRelease (); BOOL RegionsOverlap (unsigned __int64 start1, unsigned __int64 end1, unsigned __int64 start2, unsigned __int64 end2); void GetIntersection (uint64 start1, uint32 length1, uint64 start2, uint64 end2, uint64 *intersectStart, uint32 *intersectLength); NTSTATUS TCCompleteIrp (PIRP irp, NTSTATUS status, ULONG_PTR information); NTSTATUS TCCompleteDiskIrp (PIRP irp, NTSTATUS status, ULONG_PTR information); NTSTATUS ProbeRealDriveSize (PDEVICE_OBJECT driveDeviceObject, LARGE_INTEGER *driveSize); BOOL UserCanAccessDriveDevice (); size_t GetCpuCount (); void EnsureNullTerminatedString (wchar_t *str, size_t maxSizeInBytes); void *AllocateMemoryWithTimeout (size_t size, int retryDelay, int timeout); BOOL IsDriveLetterAvailable (int nDosDriveNo, DeviceNamespaceType namespaceType); NTSTATUS TCReadRegistryKey (PUNICODE_STRING keyPath, wchar_t *keyValueName, PKEY_VALUE_PARTIAL_INFORMATION *keyData); NTSTATUS TCWriteRegistryKey (PUNICODE_STRING keyPath, wchar_t *keyValueName, ULONG keyValueType, void *valueData, ULONG valueSize); BOOL IsVolumeClassFilterRegistered (); NTSTATUS ReadRegistryConfigFlags (BOOL driverEntry); NTSTATUS WriteRegistryConfigFlags (uint32 flags); BOOL ValidateIOBufferSize (PIRP irp, size_t requiredBufferSize, ValidateIOBufferSizeType type); NTSTATUS GetDeviceSectorSize (PDEVICE_OBJECT deviceObject, ULONG *bytesPerSector); NTSTATUS ZeroUnreadableSectors (PDEVICE_OBJECT deviceObject, LARGE_INTEGER startOffset, ULONG size, uint64 *zeroedSectorCount); NTSTATUS ReadDeviceSkipUnreadableSectors (PDEVICE_OBJECT deviceObject, byte *buffer, LARGE_INTEGER startOffset, ULONG size, uint64 *badSectorCount); BOOL IsVolumeAccessibleByCurrentUser (PEXTENSION volumeDeviceExtension); void GetElapsedTimeInit (LARGE_INTEGER *lastPerfCounter); int64 GetElapsedTime (LARGE_INTEGER *lastPerfCounter); BOOL IsOSAtLeast (OSVersionEnum reqMinOS); #define TC_BUG_CHECK(status) KeBugCheckEx (SECURITY_SYSTEM, __LINE__, (ULONG_PTR) status, 0, 'VC') #endif // TC_HEADER_NTDRIVER