dll: fuse: testing

This commit is contained in:
Bill Zissimopoulos 2016-06-12 23:27:28 -07:00
parent adecc6fb25
commit 9b56b3a420

View File

@ -24,7 +24,8 @@ NTSTATUS fsp_fuse_op_enter(FSP_FILE_SYSTEM *FileSystem,
struct fsp_fuse_context_header *contexthdr; struct fsp_fuse_context_header *contexthdr;
char *PosixPath = 0; char *PosixPath = 0;
UINT32 Uid = -1, Gid = -1; UINT32 Uid = -1, Gid = -1;
PWSTR FileName = 0; PWSTR FileName = 0, Suffix;
WCHAR Root[2] = L"\\";
HANDLE Token = 0; HANDLE Token = 0;
union union
{ {
@ -43,6 +44,9 @@ NTSTATUS fsp_fuse_op_enter(FSP_FILE_SYSTEM *FileSystem,
if (FspFsctlTransactCreateKind == Request->Kind) if (FspFsctlTransactCreateKind == Request->Kind)
{ {
if (Request->Req.Create.OpenTargetDirectory)
FspPathSuffix((PWSTR)Request->Buffer, &FileName, &Suffix, Root);
else
FileName = (PWSTR)Request->Buffer; FileName = (PWSTR)Request->Buffer;
Token = (HANDLE)Request->Req.Create.AccessToken; Token = (HANDLE)Request->Req.Create.AccessToken;
} }
@ -58,6 +62,8 @@ NTSTATUS fsp_fuse_op_enter(FSP_FILE_SYSTEM *FileSystem,
if (0 != FileName) if (0 != FileName)
{ {
Result = FspPosixMapWindowsToPosixPath(FileName, &PosixPath); Result = FspPosixMapWindowsToPosixPath(FileName, &PosixPath);
if (FspFsctlTransactCreateKind == Request->Kind && Request->Req.Create.OpenTargetDirectory)
FspPathCombine((PWSTR)Request->Buffer, Suffix);
if (!NT_SUCCESS(Result)) if (!NT_SUCCESS(Result))
goto exit; goto exit;
} }