summaryrefslogtreecommitdiffstats
path: root/source4/libcli/security
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-01-15 10:10:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:43:31 -0500
commite754ec1d8a52ac717d0d511b28c8556d43eb2f86 (patch)
tree9cf2b529617abb54f578f9a05d361e821877a61a /source4/libcli/security
parentbeb955758bfd56aaf51de1342bdc269ba2ee65c0 (diff)
downloadsamba-e754ec1d8a52ac717d0d511b28c8556d43eb2f86.tar.gz
samba-e754ec1d8a52ac717d0d511b28c8556d43eb2f86.tar.xz
samba-e754ec1d8a52ac717d0d511b28c8556d43eb2f86.zip
r20799: if any ace has the optional sub object, the acl revision needs
to be SECURITY_ACL_REVISION_ADS (4) metze (This used to be commit a67bb4365958f4bfadbf47b2231992e2aadd26a1)
Diffstat (limited to 'source4/libcli/security')
-rw-r--r--source4/libcli/security/sddl.c8
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++;