mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 17:56:00 +00:00
[NTOS:SE]
- Call SeAssignSecurityEx from SeAssignSecurity - Fix a FIXME svn path=/trunk/; revision=65183
This commit is contained in:
parent
a841fadcaa
commit
760375811e
1 changed files with 53 additions and 31 deletions
|
@ -1134,8 +1134,11 @@ SeValidSecurityDescriptor(IN ULONG Length,
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SeDeassignSecurity(PSECURITY_DESCRIPTOR *SecurityDescriptor)
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SeDeassignSecurity(
|
||||||
|
_Inout_ PSECURITY_DESCRIPTOR *SecurityDescriptor)
|
||||||
{
|
{
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -1149,36 +1152,22 @@ SeDeassignSecurity(PSECURITY_DESCRIPTOR *SecurityDescriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
NTSTATUS NTAPI
|
|
||||||
SeAssignSecurityEx(IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
|
|
||||||
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
|
|
||||||
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
|
|
||||||
IN GUID *ObjectType OPTIONAL,
|
|
||||||
IN BOOLEAN IsDirectoryObject,
|
|
||||||
IN ULONG AutoInheritFlags,
|
|
||||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
|
||||||
IN PGENERIC_MAPPING GenericMapping,
|
|
||||||
IN POOL_TYPE PoolType)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS NTAPI
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
SeAssignSecurity(PSECURITY_DESCRIPTOR _ParentDescriptor OPTIONAL,
|
NTSTATUS
|
||||||
PSECURITY_DESCRIPTOR _ExplicitDescriptor OPTIONAL,
|
NTAPI
|
||||||
PSECURITY_DESCRIPTOR *NewDescriptor,
|
SeAssignSecurityEx(
|
||||||
BOOLEAN IsDirectoryObject,
|
_In_opt_ PSECURITY_DESCRIPTOR _ParentDescriptor,
|
||||||
PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
_In_opt_ PSECURITY_DESCRIPTOR _ExplicitDescriptor,
|
||||||
PGENERIC_MAPPING GenericMapping,
|
_Out_ PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||||
POOL_TYPE PoolType)
|
_In_opt_ GUID *ObjectType,
|
||||||
|
_In_ BOOLEAN IsDirectoryObject,
|
||||||
|
_In_ ULONG AutoInheritFlags,
|
||||||
|
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||||
|
_In_ PGENERIC_MAPPING GenericMapping,
|
||||||
|
_In_ POOL_TYPE PoolType)
|
||||||
{
|
{
|
||||||
PISECURITY_DESCRIPTOR ParentDescriptor = _ParentDescriptor;
|
PISECURITY_DESCRIPTOR ParentDescriptor = _ParentDescriptor;
|
||||||
PISECURITY_DESCRIPTOR ExplicitDescriptor = _ExplicitDescriptor;
|
PISECURITY_DESCRIPTOR ExplicitDescriptor = _ExplicitDescriptor;
|
||||||
|
@ -1196,6 +1185,11 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR _ParentDescriptor OPTIONAL,
|
||||||
PACL Dacl = NULL;
|
PACL Dacl = NULL;
|
||||||
PACL Sacl = NULL;
|
PACL Sacl = NULL;
|
||||||
|
|
||||||
|
DBG_UNREFERENCED_PARAMETER(ObjectType);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(AutoInheritFlags);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(GenericMapping);
|
||||||
|
UNREFERENCED_PARAMETER(PoolType);
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
/* Lock subject context */
|
/* Lock subject context */
|
||||||
|
@ -1327,7 +1321,7 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR _ParentDescriptor OPTIONAL,
|
||||||
if (Descriptor == NULL)
|
if (Descriptor == NULL)
|
||||||
{
|
{
|
||||||
DPRINT1("ExAlloctePool() failed\n");
|
DPRINT1("ExAlloctePool() failed\n");
|
||||||
/* FIXME: Unlock subject context */
|
SeUnlockSubjectContext(SubjectContext);
|
||||||
return STATUS_INSUFFICIENT_RESOURCES;
|
return STATUS_INSUFFICIENT_RESOURCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1375,10 +1369,38 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR _ParentDescriptor OPTIONAL,
|
||||||
|
|
||||||
*NewDescriptor = Descriptor;
|
*NewDescriptor = Descriptor;
|
||||||
|
|
||||||
DPRINT("Descrptor %p\n", Descriptor);
|
DPRINT("Descriptor %p\n", Descriptor);
|
||||||
ASSERT(RtlLengthSecurityDescriptor(Descriptor));
|
ASSERT(RtlLengthSecurityDescriptor(Descriptor));
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SeAssignSecurity(
|
||||||
|
_In_opt_ PSECURITY_DESCRIPTOR ParentDescriptor,
|
||||||
|
_In_opt_ PSECURITY_DESCRIPTOR ExplicitDescriptor,
|
||||||
|
_Out_ PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||||
|
_In_ BOOLEAN IsDirectoryObject,
|
||||||
|
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||||
|
_In_ PGENERIC_MAPPING GenericMapping,
|
||||||
|
_In_ POOL_TYPE PoolType)
|
||||||
|
{
|
||||||
|
PAGED_CODE();
|
||||||
|
|
||||||
|
return SeAssignSecurityEx(ParentDescriptor,
|
||||||
|
ExplicitDescriptor,
|
||||||
|
NewDescriptor,
|
||||||
|
NULL,
|
||||||
|
IsDirectoryObject,
|
||||||
|
0,
|
||||||
|
SubjectContext,
|
||||||
|
GenericMapping,
|
||||||
|
PoolType);
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue