dll,sys: FSP_CFG_REJECT_EARLY_IRP

Includes Avast fix for FUSE.
This commit is contained in:
Bill Zissimopoulos
2020-02-07 15:11:24 -08:00
parent 91c36b8f09
commit 71995a1fcd
7 changed files with 17 additions and 9 deletions

View File

@ -273,10 +273,12 @@ static DWORD WINAPI FspFileSystemDispatcherThread(PVOID FileSystem0)
OperationContext.Response = Response;
TlsSetValue(FspFileSystemTlsKey, &OperationContext);
#if defined(FSP_CFG_REJECT_EARLY_IRP)
Result = FspFsctlTransact(FileSystem->VolumeHandle, 0, 0, 0, 0, FALSE);
/* send a Transact0 to inform the FSD that the dispatcher is ready */
if (!NT_SUCCESS(Result))
goto exit;
#endif
memset(Response, 0, sizeof *Response);
for (;;)

View File

@ -510,6 +510,9 @@ FSP_FUSE_API struct fuse *fsp_fuse_new(struct fsp_fuse_env *env,
opt_data.VolumeParams.PostCleanupWhenModifiedOnly = TRUE;
opt_data.VolumeParams.PassQueryDirectoryFileName = TRUE;
opt_data.VolumeParams.DeviceControl = TRUE;
#if defined(FSP_CFG_REJECT_EARLY_IRP)
opt_data.VolumeParams.RejectIrpPriorToTransact0 = TRUE;
#endif
opt_data.VolumeParams.UmFileContextIsUserContext2 = TRUE;
if (L'\0' == opt_data.VolumeParams.FileSystemName[0])
memcpy(opt_data.VolumeParams.FileSystemName, L"FUSE", 5 * sizeof(WCHAR));

View File

@ -28,6 +28,8 @@
#include <shared/minimal.h>
#include <strsafe.h>
#define FSP_CFG_REJECT_EARLY_IRP
#define LIBRARY_NAME "WinFsp"
/* DEBUGLOG */