mirror of
https://github.com/reactos/reactos.git
synced 2024-07-06 04:35:07 +00:00
Replace GetOwner helper function with the already existing AccpGetAceSid function and enhance it to also support SYSTEM_MANDATORY_LABEL_ACE_TYPE
svn path=/trunk/; revision=31155
This commit is contained in:
parent
fc12d1bd8e
commit
39103628df
|
@ -140,6 +140,11 @@ AccpGetAceStructureSize(IN PACE_HEADER AceHeader)
|
||||||
Size += sizeof(Ace->InheritedObjectType);
|
Size += sizeof(Ace->InheritedObjectType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case SYSTEM_MANDATORY_LABEL_ACE_TYPE:
|
||||||
|
Size = FIELD_OFFSET(SYSTEM_MANDATORY_LABEL_ACE,
|
||||||
|
SidStart);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Size;
|
return Size;
|
||||||
|
@ -1000,24 +1005,6 @@ GetTrusteeSid(PTRUSTEE Trustee,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static PSID
|
|
||||||
GetOwner(PACE_HEADER Ace)
|
|
||||||
{
|
|
||||||
switch (Ace->AceType)
|
|
||||||
{
|
|
||||||
case ACCESS_ALLOWED_ACE_TYPE:
|
|
||||||
return (PSID)&((PACCESS_ALLOWED_ACE)Ace)->SidStart;
|
|
||||||
case ACCESS_DENIED_ACE_TYPE:
|
|
||||||
return (PSID)&((PACCESS_DENIED_ACE)Ace)->SidStart;
|
|
||||||
case SYSTEM_AUDIT_ACE_TYPE:
|
|
||||||
return (PSID)&((PSYSTEM_AUDIT_ACE)Ace)->SidStart;
|
|
||||||
case SYSTEM_MANDATORY_LABEL_ACE_TYPE:
|
|
||||||
return (PSID)&((PSYSTEM_MANDATORY_LABEL_ACE)Ace)->SidStart;
|
|
||||||
default:
|
|
||||||
DPRINT1("Unknown ACE type 0x%x\n", Ace->AceType);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* AccRewriteSetEntriesInAcl EXPORTED
|
* AccRewriteSetEntriesInAcl EXPORTED
|
||||||
|
@ -1073,7 +1060,7 @@ AccRewriteSetEntriesInAcl(ULONG cCountOfExplicitEntries,
|
||||||
continue;
|
continue;
|
||||||
if (!GetAce(OldAcl, i, (PVOID*)&pAce))
|
if (!GetAce(OldAcl, i, (PVOID*)&pAce))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
pSid2 = GetOwner(pAce);
|
pSid2 = AccpGetAceSid(pAce);
|
||||||
if (RtlEqualSid(pSid1, pSid2))
|
if (RtlEqualSid(pSid1, pSid2))
|
||||||
{
|
{
|
||||||
pKeepAce[i] = FALSE;
|
pKeepAce[i] = FALSE;
|
||||||
|
|
Loading…
Reference in a new issue