From: Hans Leidekker Subject: [2/2] server: Accept mandatory label ACEs. Message-Id: <1429196578.1899.7.camel@codeweavers.com> Date: Thu, 16 Apr 2015 17:02:58 +0200 --- server/token.c | 4 ++++ server/trace.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/server/token.c b/server/token.c index cb81eec..c235ece 100644 --- a/server/token.c +++ b/server/token.c @@ -265,6 +265,10 @@ static int acl_is_valid( const ACL *acl, data_size_t size ) sid = (const SID *)&((const SYSTEM_ALARM_ACE *)ace)->SidStart; sid_size = ace->AceSize - FIELD_OFFSET(SYSTEM_ALARM_ACE, SidStart); break; + case SYSTEM_MANDATORY_LABEL_ACE_TYPE: + sid = (const SID *)&((const SYSTEM_MANDATORY_LABEL_ACE *)ace)->SidStart; + sid_size = ace->AceSize - FIELD_OFFSET(SYSTEM_MANDATORY_LABEL_ACE, SidStart); + break; default: return FALSE; } diff --git a/server/trace.c b/server/trace.c index 236c9ab..20895b1 100644 --- a/server/trace.c +++ b/server/trace.c @@ -914,6 +914,12 @@ static void dump_inline_acl( const char *prefix, const ACL *acl, data_size_t siz fprintf( stderr, "SYSTEM_ALARM_ACE_TYPE,Mask=%x", ((const SYSTEM_ALARM_ACE *)ace)->Mask ); break; + case SYSTEM_MANDATORY_LABEL_ACE_TYPE: + sid = (const SID *)&((const SYSTEM_MANDATORY_LABEL_ACE *)ace)->SidStart; + sid_size = ace->AceSize - FIELD_OFFSET(SYSTEM_MANDATORY_LABEL_ACE, SidStart); + fprintf( stderr, "SYSTEM_MANDATORY_LABEL_ACE_TYPE,Mask=%x", + ((const SYSTEM_MANDATORY_LABEL_ACE *)ace)->Mask ); + break; default: fprintf( stderr, "unknown<%d>", ace->AceType ); break;