From c28439db70d156fa612aca1bfff24431d669c131 Mon Sep 17 00:00:00 2001 From: Casper Hornstrup Date: Fri, 25 Oct 2002 21:48:00 +0000 Subject: [PATCH] 2002-10-25 Casper S. Hornstrup * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field AccessMask ... (ROS_ACE): ... here. (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use sizeof(ACE) instead of sizeof(ACE_HEADER). * include/ntos/security.h (ACE_HEADER): Move field AccessMask ... (ACE): ... here. * lib/ntdll/rtl/acl.c: Use new path for AccessMask. * ntoskrnl/se/semgr.c: Ditto. * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use sizeof(ACE) instead of sizeof(ACE_HEADER). * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE) instead of sizeof(ACE_HEADER). svn path=/trunk/; revision=3654 --- reactos/ChangeLog | 16 ++++++++++++++++ reactos/apps/tests/tokentest/tokentest.c | 12 ++++++------ reactos/include/ntos/security.h | 8 ++++---- reactos/lib/ntdll/rtl/acl.c | 6 +++--- reactos/ntoskrnl/se/acl.c | 10 +++++----- reactos/ntoskrnl/se/semgr.c | 4 ++-- reactos/ntoskrnl/se/token.c | 6 +++--- 7 files changed, 39 insertions(+), 23 deletions(-) diff --git a/reactos/ChangeLog b/reactos/ChangeLog index acf0b69c54d..c443afcd510 100644 --- a/reactos/ChangeLog +++ b/reactos/ChangeLog @@ -1,3 +1,19 @@ +2002-10-25 Casper S. Hornstrup + + * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field + AccessMask ... + (ROS_ACE): ... here. + (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use + sizeof(ACE) instead of sizeof(ACE_HEADER). + * include/ntos/security.h (ACE_HEADER): Move field AccessMask ... + (ACE): ... here. + * lib/ntdll/rtl/acl.c: Use new path for AccessMask. + * ntoskrnl/se/semgr.c: Ditto. + * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use + sizeof(ACE) instead of sizeof(ACE_HEADER). + * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE) + instead of sizeof(ACE_HEADER). + 2002-10-20 Casper S. Hornstrup * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names diff --git a/reactos/apps/tests/tokentest/tokentest.c b/reactos/apps/tests/tokentest/tokentest.c index 189f130fe7d..e0bbdbcb2b0 100644 --- a/reactos/apps/tests/tokentest/tokentest.c +++ b/reactos/apps/tests/tokentest/tokentest.c @@ -45,12 +45,12 @@ typedef struct _ROS_ACE_HEADER CHAR AceType; CHAR AceFlags; USHORT AceSize; - ACCESS_MASK AccessMask; } ROS_ACE_HEADER, *PROS_ACE_HEADER; typedef struct { ACE_HEADER Header; + ACCESS_MASK AccessMask; } ROS_ACE, *PROS_ACE; NTSYSAPI @@ -247,7 +247,7 @@ DisplayDacl(PACL pAcl) for (i = 0; i < pAcl->AceCount; i++) { UNICODE_STRING scSid; - ROS_ACE_HEADER* pAce; + ROS_ACE* pAce; LPWSTR wszType = 0; PSID pSid; @@ -259,9 +259,9 @@ DisplayDacl(PACL pAcl) } pSid = (PSID) (pAce + 1); - if ( pAce->AceType == ACCESS_ALLOWED_ACE_TYPE ) + if ( pAce->Header.AceType == ACCESS_ALLOWED_ACE_TYPE ) wszType = L"allow"; - if ( pAce->AceType == ACCESS_DENIED_ACE_TYPE ) + if ( pAce->Header.AceType == ACCESS_DENIED_ACE_TYPE ) wszType = L"deny "; status = RtlConvertSidToUnicodeString(&scSid, pSid, TRUE); @@ -437,8 +437,8 @@ CreateInitialSystemToken(HANDLE* phSystemToken) // Calculate the length needed for the ACL uSize = sizeof(ACL); - uSize += sizeof(ACE_HEADER) + sizeof(sidSystem); - uSize += sizeof(ACE_HEADER) + sizeof(sidAdministrators); + uSize += sizeof(ACE) + sizeof(sidSystem); + uSize += sizeof(ACE) + sizeof(sidAdministrators); uSize = (uSize & (~3)) + 8; tkDefaultDacl.DefaultDacl = (PACL) malloc(uSize); diff --git a/reactos/include/ntos/security.h b/reactos/include/ntos/security.h index da67f46879e..c88df82f510 100644 --- a/reactos/include/ntos/security.h +++ b/reactos/include/ntos/security.h @@ -173,15 +173,15 @@ typedef SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; typedef struct _ACE_HEADER { - CHAR AceType; - CHAR AceFlags; - USHORT AceSize; - ACCESS_MASK AccessMask; + BYTE AceType; + BYTE AceFlags; + WORD AceSize; } ACE_HEADER, *PACE_HEADER; typedef struct { ACE_HEADER Header; + ACCESS_MASK AccessMask; } ACE, *PACE; typedef struct _SID_IDENTIFIER_AUTHORITY diff --git a/reactos/lib/ntdll/rtl/acl.c b/reactos/lib/ntdll/rtl/acl.c index 77a5c2afdca..afbdca9f337 100644 --- a/reactos/lib/ntdll/rtl/acl.c +++ b/reactos/lib/ntdll/rtl/acl.c @@ -1,4 +1,4 @@ -/* $Id: acl.c,v 1.8 2002/09/08 10:23:04 chorns Exp $ +/* $Id: acl.c,v 1.9 2002/10/25 21:48:00 chorns Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -137,7 +137,7 @@ RtlpAddKnownAce(PACL Acl, Ace->Header.AceFlags = 0; Ace->Header.AceType = Type; Ace->Header.AceSize = RtlLengthSid(Sid) + sizeof(ACE); - Ace->Header.AccessMask = AccessMask; + Ace->AccessMask = AccessMask; RtlCopySid(RtlLengthSid(Sid), (PSID)(Ace + 1), Sid); Acl->AceCount++; Acl->AclRevision = Revision; @@ -320,7 +320,7 @@ RtlAddAuditAccessAce(PACL Acl, Ace->Header.AceFlags = Flags; Ace->Header.AceType = 2; Ace->Header.AceSize = RtlLengthSid(Sid) + sizeof(ACE); - Ace->Header.AccessMask = AccessMask; + Ace->AccessMask = AccessMask; RtlCopySid(RtlLengthSid(Sid), (PSID)(Ace + 1), Sid); diff --git a/reactos/ntoskrnl/se/acl.c b/reactos/ntoskrnl/se/acl.c index f41e0dd9656..c7e6dd68b60 100644 --- a/reactos/ntoskrnl/se/acl.c +++ b/reactos/ntoskrnl/se/acl.c @@ -1,4 +1,4 @@ -/* $Id: acl.c,v 1.9 2002/09/08 10:23:43 chorns Exp $ +/* $Id: acl.c,v 1.10 2002/10/25 21:48:00 chorns Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -40,11 +40,11 @@ SepInitDACLs(VOID) ULONG AclLength4; AclLength2 = sizeof(ACL) + - 2 * (RtlLengthRequiredSid(1) + sizeof(ACE_HEADER)); + 2 * (RtlLengthRequiredSid(1) + sizeof(ACE)); AclLength3 = sizeof(ACL) + - 3 * (RtlLengthRequiredSid(1) + sizeof(ACE_HEADER)); + 3 * (RtlLengthRequiredSid(1) + sizeof(ACE)); AclLength4 = sizeof(ACL) + - 4 * (RtlLengthRequiredSid(1) + sizeof(ACE_HEADER)); + 4 * (RtlLengthRequiredSid(1) + sizeof(ACE)); /* create PublicDefaultDacl */ SePublicDefaultDacl = ExAllocatePoolWithTag(NonPagedPool, @@ -210,7 +210,7 @@ RtlpAddKnownAce(PACL Acl, Ace->Header.AceFlags = 0; Ace->Header.AceType = Type; Ace->Header.AceSize = RtlLengthSid(Sid) + sizeof(ACE); - Ace->Header.AccessMask = AccessMask; + Ace->AccessMask = AccessMask; RtlCopySid(RtlLengthSid(Sid), (PSID)(Ace + 1), Sid); Acl->AceCount++; Acl->AclRevision = Revision; diff --git a/reactos/ntoskrnl/se/semgr.c b/reactos/ntoskrnl/se/semgr.c index b6f6b1daf98..5e78f8080fd 100644 --- a/reactos/ntoskrnl/se/semgr.c +++ b/reactos/ntoskrnl/se/semgr.c @@ -1,4 +1,4 @@ -/* $Id: semgr.c,v 1.22 2002/09/08 10:23:43 chorns Exp $ +/* $Id: semgr.c,v 1.23 2002/10/25 21:48:00 chorns Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -479,7 +479,7 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor, if (SepSidInToken(SubjectSecurityContext->ClientToken, Sid)) { CurrentAccess = CurrentAccess | - CurrentAce->Header.AccessMask; + CurrentAce->AccessMask; } } } diff --git a/reactos/ntoskrnl/se/token.c b/reactos/ntoskrnl/se/token.c index 64efe388974..97f8c69f982 100644 --- a/reactos/ntoskrnl/se/token.c +++ b/reactos/ntoskrnl/se/token.c @@ -1,4 +1,4 @@ -/* $Id: token.c,v 1.21 2002/09/08 10:23:43 chorns Exp $ +/* $Id: token.c,v 1.22 2002/10/25 21:48:00 chorns Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -1078,8 +1078,8 @@ SepCreateSystemProcessToken(struct _EPROCESS* Process) assert( i == 20 ); uSize = sizeof(ACL); - uSize += sizeof(ACE_HEADER) + uLocalSystemLength; - uSize += sizeof(ACE_HEADER) + uAdminsLength; + uSize += sizeof(ACE) + uLocalSystemLength; + uSize += sizeof(ACE) + uAdminsLength; uSize = (uSize & (~3)) + 8; AccessToken->DefaultDacl = (PACL) ExAllocatePoolWithTag(NonPagedPool,