131 ulLength =
sizeof(
ACL) +
161 ulLength =
sizeof(
ACL) +
178 ulLength =
sizeof(
ACL) +
323 DWORD dwBufferLength = 0;
337 DPRINT(
"BufferLength %lu\n", dwBufferLength);
342 if (pRelativeSD ==
NULL)
347 DPRINT(
"pRelativeSD %p\n", pRelativeSD);
358 *ppSecurityDescriptor = pRelativeSD;
363 if (pRelativeSD !=
NULL)
#define SECURITY_AUTHENTICATED_USER_RID
#define SECURITY_LOCAL_SYSTEM_RID
static VOID ScmFreeAcls(VOID)
NTSYSAPI NTSTATUS NTAPI RtlSetGroupSecurityDescriptor(IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN PSID Group, IN BOOLEAN GroupDefaulted)
static PSID pAuthenticatedUserSid
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define SERVICE_INTERROGATE
NTSYSAPI PULONG NTAPI RtlSubAuthoritySid(_In_ PSID Sid, _In_ ULONG SubAuthority)
static PSID pAliasAdminsSid
NTSYSAPI NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR, PSID, BOOLEAN)
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptor(_Out_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ ULONG Revision)
#define SECURITY_NULL_SID_AUTHORITY
#define SERVICE_ALL_ACCESS
NTSYSAPI NTSTATUS WINAPI RtlAddAccessAllowedAce(PACL, DWORD, DWORD, PSID)
NTSYSAPI NTSTATUS WINAPI RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR, BOOLEAN, PACL, BOOLEAN)
#define SERVICE_ENUMERATE_DEPENDENTS
DWORD ScmInitializeSecurity(VOID)
#define STATUS_BUFFER_TOO_SMALL
NTSYSAPI NTSTATUS NTAPI RtlCreateAcl(PACL Acl, ULONG AclSize, ULONG AclRevision)
#define SECURITY_DESCRIPTOR_REVISION
static SID_IDENTIFIER_AUTHORITY NtAuthority
NTSYSAPI NTSTATUS NTAPI RtlInitializeSid(IN OUT PSID Sid, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
static DWORD ScmCreatePipeSD(VOID)
NTSYSAPI NTSTATUS NTAPI RtlAbsoluteToSelfRelativeSD(IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor, IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor, IN PULONG BufferLength)
static DWORD ScmCreateSids(VOID)
NTSYSAPI ULONG NTAPI RtlLengthSid(IN PSID Sid)
#define SERVICE_QUERY_STATUS
NTSYSAPI NTSTATUS NTAPI RtlSetSaclSecurityDescriptor(IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN SaclPresent, IN PACL Sacl, IN BOOLEAN SaclDefaulted)
#define SECURITY_NT_AUTHORITY
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
#define SECURITY_BUILTIN_DOMAIN_RID
#define NT_SUCCESS(StatCode)
#define SERVICE_USER_DEFINED_CONTROL
static VOID ScmFreePipeSD(VOID)
#define SECURITY_WORLD_RID
#define SECURITY_NULL_RID
static VOID ScmFreeDefaultSD(VOID)
static DWORD ScmCreateDefaultSD(VOID)
static PSECURITY_DESCRIPTOR pDefaultSD
static PSID pLocalSystemSid
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAce(_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
static DWORD ScmCreateAcls(VOID)
PSECURITY_DESCRIPTOR pPipeSD
#define SERVICE_QUERY_CONFIG
DWORD ScmCreateDefaultServiceSD(PSECURITY_DESCRIPTOR *ppSecurityDescriptor)
#define DOMAIN_ALIAS_RID_ADMINS
#define SERVICE_PAUSE_CONTINUE
VOID ScmShutdownSecurity(VOID)
static VOID ScmFreeSids(VOID)
NTSYSAPI ULONG NTAPI RtlLengthRequiredSid(IN ULONG SubAuthorityCount)