- Implement RtlSetControlSecurityDescriptor

- Remove property set functions from ntdll.def because they are not implemented in Win2K and above.

svn path=/trunk/; revision=13492
This commit is contained in:
Eric Kohl 2005-02-11 12:06:29 +00:00
parent e37dad5493
commit 5930efc575
3 changed files with 41 additions and 17 deletions

View file

@ -40,6 +40,7 @@ RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -278,9 +279,10 @@ RtlSetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
SecurityDescriptor->Control = SecurityDescriptor->Control | SE_OWNER_DEFAULTED;
}
return(STATUS_SUCCESS);
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -319,6 +321,7 @@ RtlGetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -347,6 +350,7 @@ RtlSetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -578,8 +582,7 @@ RtlMakeSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
NTSTATUS STDCALL
RtlAbsoluteToSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
PSECURITY_DESCRIPTOR RelSD,
PULONG BufferLength
)
PULONG BufferLength)
{
if (AbsSD->Control & SE_SELF_RELATIVE)
{
@ -611,6 +614,29 @@ RtlGetControlSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
}
/*
* @implemented
*/
NTSTATUS STDCALL
RtlSetControlSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet)
{
if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
{
return STATUS_UNKNOWN_REVISION;
}
/* Zero the 'bits of interest' */
SecurityDescriptor->Control &= ~ControlBitsOfInterest;
/* Set the 'bits to set' */
SecurityDescriptor->Control |= (ControlBitsToSet & ControlBitsOfInterest);
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -657,6 +683,7 @@ RtlGetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -694,6 +721,7 @@ RtlSetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
return STATUS_SUCCESS;
}
/*
* @implemented
*/
@ -759,6 +787,7 @@ RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR RelSD,
return STATUS_SUCCESS;
}
/*
* @unimplemented
*/
@ -770,9 +799,10 @@ RtlSelfRelativeToAbsoluteSD2(PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor
return STATUS_NOT_IMPLEMENTED;
}
/*
* @implemented
*/
* @implemented
*/
BOOLEAN STDCALL
RtlValidRelativeSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
IN ULONG SecurityDescriptorLength,