diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-10-05 03:22:11 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2015-10-05 04:31:17 +0200 |
commit | c94f8c9b63edc756aa05ec85ed8da84ab799205c (patch) | |
tree | 63607ad8dc4f41d349e14310e0ae61d57ff062c3 /src/Driver/Ntdriver.h | |
parent | ea451c72414ea8a14e34fb5da3eaf18c05f9b5dd (diff) | |
download | VeraCrypt-c94f8c9b63edc756aa05ec85ed8da84ab799205c.tar.gz VeraCrypt-c94f8c9b63edc756aa05ec85ed8da84ab799205c.zip |
Windows Driver: Modify fix for CVE-2015-7358 to solve side effects on Windows mount manager while still making it hard to abuse drive letter handling.
Diffstat (limited to 'src/Driver/Ntdriver.h')
-rw-r--r-- | src/Driver/Ntdriver.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Driver/Ntdriver.h b/src/Driver/Ntdriver.h index 8da75c69..07ae5f83 100644 --- a/src/Driver/Ntdriver.h +++ b/src/Driver/Ntdriver.h @@ -101,6 +101,11 @@ typedef enum ValidateInputOutput
} ValidateIOBufferSizeType;
+typedef enum
+{
+ DeviceNamespaceDefault,
+ DeviceNamespaceGlobal,
+} DeviceNamespaceType;
extern PDRIVER_OBJECT TCDriverObject;
extern PDEVICE_OBJECT RootDeviceObject;
@@ -133,7 +138,7 @@ 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);
+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);
@@ -161,7 +166,7 @@ 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);
+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 ();
|