mirror of
https://github.com/reactos/reactos.git
synced 2025-04-25 08:00:24 +00:00
- Switch back to the previous implementation of GetPrivateObjectSecurity now that RtlQuerySecurityObject is implemented (thanks jimtabor)
svn path=/trunk/; revision=38533
This commit is contained in:
parent
658957a6ab
commit
790283c9de
1 changed files with 0 additions and 64 deletions
|
@ -2250,11 +2250,6 @@ DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR *ObjectDescriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
//
|
|
||||||
// Use when RtlQuerySecurityObject is implemented
|
|
||||||
//
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
@ -2284,65 +2279,6 @@ GetPrivateObjectSecurity(IN PSECURITY_DESCRIPTOR ObjectDescriptor,
|
||||||
/* Success */
|
/* Success */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
//
|
|
||||||
// Wine's implementation (as of December 30th 2008)
|
|
||||||
//
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
BOOL
|
|
||||||
WINAPI
|
|
||||||
GetPrivateObjectSecurity(IN PSECURITY_DESCRIPTOR ObjectDescriptor,
|
|
||||||
IN SECURITY_INFORMATION SecurityInformation,
|
|
||||||
OUT PSECURITY_DESCRIPTOR ResultantDescriptor OPTIONAL,
|
|
||||||
IN DWORD DescriptorLength,
|
|
||||||
OUT PDWORD ReturnLength)
|
|
||||||
{
|
|
||||||
SECURITY_DESCRIPTOR desc;
|
|
||||||
BOOL defaulted, present;
|
|
||||||
PACL pacl;
|
|
||||||
PSID psid;
|
|
||||||
|
|
||||||
TRACE("(%p,0x%08x,%p,0x%08x,%p)\n", ObjectDescriptor, SecurityInformation,
|
|
||||||
ResultantDescriptor, DescriptorLength, ReturnLength);
|
|
||||||
|
|
||||||
if (!InitializeSecurityDescriptor(&desc, SECURITY_DESCRIPTOR_REVISION))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (SecurityInformation & OWNER_SECURITY_INFORMATION)
|
|
||||||
{
|
|
||||||
if (!GetSecurityDescriptorOwner(ObjectDescriptor, &psid, &defaulted))
|
|
||||||
return FALSE;
|
|
||||||
SetSecurityDescriptorOwner(&desc, psid, defaulted);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SecurityInformation & GROUP_SECURITY_INFORMATION)
|
|
||||||
{
|
|
||||||
if (!GetSecurityDescriptorGroup(ObjectDescriptor, &psid, &defaulted))
|
|
||||||
return FALSE;
|
|
||||||
SetSecurityDescriptorGroup(&desc, psid, defaulted);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SecurityInformation & DACL_SECURITY_INFORMATION)
|
|
||||||
{
|
|
||||||
if (!GetSecurityDescriptorDacl(ObjectDescriptor, &present, &pacl, &defaulted))
|
|
||||||
return FALSE;
|
|
||||||
SetSecurityDescriptorDacl(&desc, present, pacl, defaulted);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (SecurityInformation & SACL_SECURITY_INFORMATION)
|
|
||||||
{
|
|
||||||
if (!GetSecurityDescriptorSacl(ObjectDescriptor, &present, &pacl, &defaulted))
|
|
||||||
return FALSE;
|
|
||||||
SetSecurityDescriptorSacl(&desc, present, pacl, defaulted);
|
|
||||||
}
|
|
||||||
|
|
||||||
*ReturnLength = DescriptorLength;
|
|
||||||
return MakeSelfRelativeSD(&desc, ResultantDescriptor, ReturnLength);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue