diff options
-rw-r--r-- | source4/libcli/security/sddl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source4/libcli/security/sddl.c b/source4/libcli/security/sddl.c index 423ccc92e9..2746ed8f81 100644 --- a/source4/libcli/security/sddl.c +++ b/source4/libcli/security/sddl.c @@ -312,6 +312,14 @@ static struct security_acl *sddl_decode_acl(struct security_descriptor *sd, talloc_free(acl); return NULL; } + switch (acl->aces[acl->num_aces].type) { + case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: + case SEC_ACE_TYPE_ACCESS_DENIED_OBJECT: + case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT: + case SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT: + acl->revision = SECURITY_ACL_REVISION_ADS; + break; + } talloc_free(astr); sddl += len+2; acl->num_aces++; |