mirror of
https://github.com/reactos/reactos.git
synced 2024-12-26 17:14:41 +00:00
Open pipe in 'passive' mode if the desired access right is FILE_READ_ATTRIBUTES.
svn path=/trunk/; revision=19017
This commit is contained in:
parent
7b9a187c56
commit
3753cf3e49
1 changed files with 3 additions and 1 deletions
|
@ -114,18 +114,20 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject,
|
||||||
PNPFS_FCB ServerFcb = NULL;
|
PNPFS_FCB ServerFcb = NULL;
|
||||||
PNPFS_DEVICE_EXTENSION DeviceExt;
|
PNPFS_DEVICE_EXTENSION DeviceExt;
|
||||||
BOOLEAN SpecialAccess;
|
BOOLEAN SpecialAccess;
|
||||||
|
ACCESS_MASK DesiredAccess;
|
||||||
|
|
||||||
DPRINT("NpfsCreate(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
DPRINT("NpfsCreate(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
|
DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
|
||||||
IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
|
IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
|
||||||
FileObject = IoStack->FileObject;
|
FileObject = IoStack->FileObject;
|
||||||
|
DesiredAccess = IoStack->Parameters.CreatePipe.SecurityContext->DesiredAccess;
|
||||||
DPRINT("FileObject %p\n", FileObject);
|
DPRINT("FileObject %p\n", FileObject);
|
||||||
DPRINT("FileName %wZ\n", &FileObject->FileName);
|
DPRINT("FileName %wZ\n", &FileObject->FileName);
|
||||||
|
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
|
|
||||||
SpecialAccess = ((IoStack->Parameters.CreatePipe.ShareAccess & 3) == 3);
|
SpecialAccess = ((DesiredAccess & SPECIFIC_RIGHTS_ALL) == FILE_READ_ATTRIBUTES);
|
||||||
if (SpecialAccess)
|
if (SpecialAccess)
|
||||||
{
|
{
|
||||||
DPRINT("NpfsCreate() open client end for special use!\n");
|
DPRINT("NpfsCreate() open client end for special use!\n");
|
||||||
|
|
Loading…
Reference in a new issue