mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 08:53:01 -05:00
dll: fsp_fuse_op_enter, fsp_fuse_op_leave
This commit is contained in:
parent
0e8d694bdd
commit
8f0f5b3d9e
@ -118,12 +118,23 @@ NTSTATUS fsp_fuse_op_enter(FSP_FILE_SYSTEM *FileSystem,
|
|||||||
FSP_FSCTL_TRANSACT_REQ *Request, FSP_FSCTL_TRANSACT_RSP *Response)
|
FSP_FSCTL_TRANSACT_REQ *Request, FSP_FSCTL_TRANSACT_RSP *Response)
|
||||||
{
|
{
|
||||||
NTSTATUS Result;
|
NTSTATUS Result;
|
||||||
|
HANDLE Token;
|
||||||
|
|
||||||
Result = FspFileSystemOpEnter(FileSystem, Request, Response);
|
Result = FspFileSystemOpEnter(FileSystem, Request, Response);
|
||||||
if (!NT_SUCCESS(Result))
|
if (!NT_SUCCESS(Result))
|
||||||
return Result;
|
return Result;
|
||||||
|
|
||||||
return fsp_fuse_op_set_context(FileSystem, 0);
|
if (FspFsctlTransactCreateKind == Request->Kind)
|
||||||
|
Token = (HANDLE)Request->Req.Create.AccessToken;
|
||||||
|
else if (FspFsctlTransactSetInformationKind == Request->Kind &&
|
||||||
|
10/*FileRenameInformation*/ == Request->Req.SetInformation.FileInformationClass)
|
||||||
|
Token = (HANDLE)Request->Req.SetInformation.Info.Rename.AccessToken;
|
||||||
|
else if (FspFsctlTransactSetSecurityKind == Request->Kind)
|
||||||
|
Token = (HANDLE)Request->Req.SetSecurity.AccessToken;
|
||||||
|
else
|
||||||
|
Token = 0;
|
||||||
|
|
||||||
|
return fsp_fuse_op_set_context(FileSystem, Token);
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS fsp_fuse_op_leave(FSP_FILE_SYSTEM *FileSystem,
|
NTSTATUS fsp_fuse_op_leave(FSP_FILE_SYSTEM *FileSystem,
|
||||||
@ -133,8 +144,8 @@ NTSTATUS fsp_fuse_op_leave(FSP_FILE_SYSTEM *FileSystem,
|
|||||||
|
|
||||||
context = fsp_fuse_get_context(0);
|
context = fsp_fuse_get_context(0);
|
||||||
context->fuse = 0;
|
context->fuse = 0;
|
||||||
context->uid = 0;
|
context->uid = -1;
|
||||||
context->gid = 0;
|
context->gid = -1;
|
||||||
|
|
||||||
FspFileSystemOpLeave(FileSystem, Request, Response);
|
FspFileSystemOpLeave(FileSystem, Request, Response);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user