svn commit: samba r25730 - in branches/SAMBA_4_0/source: librpc/idl torture/rpc

gd at samba.org gd at samba.org
Thu Oct 25 11:12:02 GMT 2007


Author: gd
Date: 2007-10-25 11:12:02 +0000 (Thu, 25 Oct 2007)
New Revision: 25730

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

Log:
Fix IDL for incorrect winreg_SetKeySecurity.

Guenther

Modified:
   branches/SAMBA_4_0/source/librpc/idl/winreg.idl
   branches/SAMBA_4_0/source/torture/rpc/winreg.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2007-10-25 11:07:30 UTC (rev 25729)
+++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2007-10-25 11:12:02 UTC (rev 25730)
@@ -273,7 +273,7 @@
 	/* Function: 0x15 */
 	WERROR winreg_SetKeySecurity(
 		[in,ref] policy_handle *handle,
-		[in] winreg_AccessMask access_mask,
+		[in] security_secinfo sec_info,
 		[in,ref] KeySecurityData *sd
 	);
 

Modified: branches/SAMBA_4_0/source/torture/rpc/winreg.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/winreg.c	2007-10-25 11:07:30 UTC (rev 25729)
+++ branches/SAMBA_4_0/source/torture/rpc/winreg.c	2007-10-25 11:12:02 UTC (rev 25730)
@@ -228,6 +228,7 @@
 	struct winreg_SetKeySecurity r;
 	struct KeySecurityData *sdata = NULL;
 	DATA_BLOB sdblob;
+	uint32_t sec_info;
 
 	ZERO_STRUCT(r);
 
@@ -245,8 +246,23 @@
 	sdata->size = sdblob.length;
 	sdata->len = sdblob.length;
 
+	sec_info = SECINFO_UNPROTECTED_SACL | SECINFO_UNPROTECTED_DACL;
+
+	if (sd->owner_sid) {
+		sec_info |= SECINFO_OWNER;
+	}
+	if (sd->group_sid) {
+		sec_info |= SECINFO_GROUP;
+	}
+	if (sd->sacl) {
+		sec_info |= SECINFO_SACL;
+	}
+	if (sd->dacl) {
+		sec_info |= SECINFO_DACL;
+	}
+
 	r.in.handle = handle;
-	r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+	r.in.sec_info = sec_info;
 	r.in.sd = sdata;
 
 	torture_assert_ntstatus_ok(tctx,



More information about the samba-cvs mailing list