summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2007-11-02 11:51:26 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:44:04 +0100
commit2342d611ace6e2a76cfd7e0cf408d3a497c89ba0 (patch)
tree1247e0d1fe1b08b33ecca31e344978a4802fecc5 /source4
parentf05a356cbbdd4b0f3b7775338f288b2756f5fc24 (diff)
downloadsamba-2342d611ace6e2a76cfd7e0cf408d3a497c89ba0.tar.gz
samba-2342d611ace6e2a76cfd7e0cf408d3a497c89ba0.tar.bz2
samba-2342d611ace6e2a76cfd7e0cf408d3a497c89ba0.zip
r25801: Add security_ace_create() function.
Guenther (This used to be commit 0306e0183d4db0da331449b411814e7a93b6db2d)
Diffstat (limited to 'source4')
-rw-r--r--source4/libcli/security/security_descriptor.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/source4/libcli/security/security_descriptor.c b/source4/libcli/security/security_descriptor.c
index 75c20b52cf..34ccab593d 100644
--- a/source4/libcli/security/security_descriptor.c
+++ b/source4/libcli/security/security_descriptor.c
@@ -422,3 +422,32 @@ struct security_descriptor *security_descriptor_create(TALLOC_CTX *mem_ctx,
return sd;
}
+
+struct security_ace *security_ace_create(TALLOC_CTX *mem_ctx,
+ const char *sid_str,
+ enum security_ace_type type,
+ uint32_t access_mask,
+ uint8_t flags)
+
+{
+ struct dom_sid *sid;
+ struct security_ace *ace;
+
+ ace = talloc_zero(mem_ctx, struct security_ace);
+ if (ace == NULL) {
+ return NULL;
+ }
+
+ sid = dom_sid_parse_talloc(ace, sid_str);
+ if (sid == NULL) {
+ talloc_free(ace);
+ return NULL;
+ }
+
+ ace->trustee = *sid;
+ ace->type = type;
+ ace->access_mask = access_mask;
+ ace->flags = flags;
+
+ return ace;
+}