From d0953a3d80db7cfcdeca9c8375fdce71e7caa7ff Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Fri, 8 Oct 2004 23:20:57 +0000 Subject: [PATCH] Create mail slots with security information if argument is present svn path=/trunk/; revision=11242 --- reactos/lib/kernel32/file/mailslot.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/reactos/lib/kernel32/file/mailslot.c b/reactos/lib/kernel32/file/mailslot.c index b6b1fa7b0ec..8afb740dae8 100644 --- a/reactos/lib/kernel32/file/mailslot.c +++ b/reactos/lib/kernel32/file/mailslot.c @@ -1,4 +1,4 @@ -/* $Id: mailslot.c,v 1.11 2004/06/13 20:04:55 navaraf Exp $ +/* $Id: mailslot.c,v 1.12 2004/10/08 23:20:57 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -60,6 +60,8 @@ CreateMailslotW(LPCWSTR lpName, BOOLEAN Result; LARGE_INTEGER DefaultTimeOut; IO_STATUS_BLOCK Iosb; + ULONG Attributes = OBJ_CASE_INSENSITIVE; + PSECURITY_DESCRIPTOR SecurityDescriptor = NULL; Result = RtlDosPathNameToNtPathName_U((LPWSTR)lpName, &MailslotName, @@ -73,11 +75,18 @@ CreateMailslotW(LPCWSTR lpName, DPRINT("Mailslot name: %wZ\n", &MailslotName); + if(lpSecurityAttributes) + { + SecurityDescriptor = lpSecurityAttributes->lpSecurityDescriptor; + if(lpSecurityAttributes->bInheritHandle) + Attributes |= OBJ_INHERIT; + } + InitializeObjectAttributes(&ObjectAttributes, &MailslotName, - OBJ_CASE_INSENSITIVE, + Attributes, NULL, - NULL); + SecurityDescriptor); DefaultTimeOut.QuadPart = lReadTimeout * 10000;