r25801: Add security_ace_create() function.
authorGünther Deschner <gd@samba.org>
Fri, 2 Nov 2007 10:51:26 +0000 (11:51 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:44:04 +0000 (05:44 +0100)
Guenther
(This used to be commit 0306e0183d4db0da331449b411814e7a93b6db2d)

source4/libcli/security/security_descriptor.c

index 75c20b52cfb1ccd9090715886aa658fe64a4057c..34ccab593d58c3fe5476b4cb2c9dd041eace788b 100644 (file)
@@ -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;
+}