svn commit: samba r25608 - in branches/SAMBA_4_0/source/libcli/security: .

gd at samba.org gd at samba.org
Wed Oct 10 13:17:29 GMT 2007


Author: gd
Date: 2007-10-10 13:17:28 +0000 (Wed, 10 Oct 2007)
New Revision: 25608

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25608

Log:
Call security_descriptor_append from within security_descriptor_create.

Guenther

Modified:
   branches/SAMBA_4_0/source/libcli/security/security_descriptor.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/security/security_descriptor.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/security/security_descriptor.c	2007-10-10 13:12:53 UTC (rev 25607)
+++ branches/SAMBA_4_0/source/libcli/security/security_descriptor.c	2007-10-10 13:17:28 UTC (rev 25608)
@@ -387,7 +387,6 @@
 {
 	va_list ap;
 	struct security_descriptor *sd;
-	const char *sidstr;
 
 	sd = security_descriptor_initialise(mem_ctx);
 	if (sd == NULL) return NULL;
@@ -410,34 +409,7 @@
 	}
 
 	va_start(ap, group_sid);
-	while ((sidstr = va_arg(ap, const char *))) {
-		struct dom_sid *sid;
-		struct security_ace *ace = talloc(sd, struct security_ace);
-		NTSTATUS status;
-
-		if (ace == NULL) {
-			talloc_free(sd);
-			va_end(ap);
-			return NULL;
-		}
-		ace->type = va_arg(ap, unsigned int);
-		ace->access_mask = va_arg(ap, unsigned int);
-		ace->flags = va_arg(ap, unsigned int);
-		sid = dom_sid_parse_talloc(ace, sidstr);
-		if (sid == NULL) {
-			va_end(ap);
-			talloc_free(sd);
-			return NULL;
-		}
-		ace->trustee = *sid;
-		status = security_descriptor_dacl_add(sd, ace);
-		/* TODO: check: would talloc_free(ace) here be correct? */
-		if (!NT_STATUS_IS_OK(status)) {
-			va_end(ap);
-			talloc_free(sd);
-			return NULL;
-		}
-	}
+	sd = security_descriptor_append(sd, ap);
 	va_end(ap);
 
 	return sd;



More information about the samba-cvs mailing list