svn commit: samba r8171 - in branches/SAMBA_4_0/source: lib/registry librpc/idl torture/rpc

tpot at samba.org tpot at samba.org
Wed Jul 6 01:53:35 GMT 2005


Author: tpot
Date: 2005-07-06 01:53:34 +0000 (Wed, 06 Jul 2005)
New Revision: 8171

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

Log:
According to Samba 3 and Ethereal, the winreg_OpenUnkown stuff is 
actually a uint16 * without the [string] attribute, a la the the 
system_name argument to samr_Connect().

Initialising the pointer to NULL is sufficient and we still pass the 
RPC-WINREG test against win2k3.

Modified:
   branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc.c
   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/lib/registry/reg_backend_rpc.c
===================================================================
--- branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc.c	2005-07-05 15:18:24 UTC (rev 8170)
+++ branches/SAMBA_4_0/source/lib/registry/reg_backend_rpc.c	2005-07-06 01:53:34 UTC (rev 8171)
@@ -43,12 +43,9 @@
 #define openhive(u) static WERROR open_ ## u(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *hnd) \
 { \
 	struct winreg_Open ## u r; \
-	struct winreg_OpenUnknown unknown; \
 	NTSTATUS status; \
 	\
-	unknown.unknown0 = 0x84e0; \
-	unknown.unknown1 = 0x0000; \
-	r.in.unknown = &unknown; \
+	r.in.system_name = 0; \
 	r.in.access_required = SEC_FLAG_MAXIMUM_ALLOWED; \
 	r.out.handle = hnd;\
 	\

Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2005-07-05 15:18:24 UTC (rev 8170)
+++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2005-07-06 01:53:34 UTC (rev 8171)
@@ -20,15 +20,10 @@
 		unistr *name;
 	} winreg_String;
 
-	typedef struct {
-		uint16 unknown0;
-		uint16 unknown1;
-	} winreg_OpenUnknown;
-
 	/******************/
 	/* Function: 0x00 */
 	WERROR winreg_OpenHKCR(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -36,7 +31,7 @@
 	/******************/
 	/* Function: 0x01 */
 	WERROR winreg_OpenHKCU(
-		[in]      winreg_OpenUnknown *unknown,
+	        [in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -44,7 +39,7 @@
 	/******************/
 	/* Function: 0x02 */
 	WERROR winreg_OpenHKLM(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -52,7 +47,7 @@
 	/******************/
 	/* Function: 0x03 */
 	WERROR winreg_OpenHKPD(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -60,7 +55,7 @@
 	/******************/
 	/* Function: 0x04 */
 	WERROR winreg_OpenHKU(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -293,7 +288,7 @@
 	/******************/
 	/* Function: 0x1b */
 	WERROR winreg_OpenHKCC(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -301,7 +296,7 @@
 	/******************/
 	/* Function: 0x1c */
 	WERROR winreg_OpenHKDD(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -342,7 +337,7 @@
 	/******************/
 	/* Function: 0x20 */
 	WERROR winreg_OpenHKPT(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);
@@ -350,7 +345,7 @@
 	/******************/
 	/* Function: 0x21 */
 	WERROR winreg_OpenHKPN(
-		[in]      winreg_OpenUnknown *unknown,
+		[in]      uint16 *system_name,
 		[in]      uint32 access_required,
 		[out,ref] policy_handle *handle
 	);

Modified: branches/SAMBA_4_0/source/torture/rpc/winreg.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/winreg.c	2005-07-05 15:18:24 UTC (rev 8170)
+++ branches/SAMBA_4_0/source/torture/rpc/winreg.c	2005-07-06 01:53:34 UTC (rev 8171)
@@ -475,14 +475,11 @@
 {
 	NTSTATUS status;
 	struct winreg_OpenHKLM r;
-	struct winreg_OpenUnknown unknown;
 	BOOL ret = True;
 
 	printf("\ntesting OpenHKLM\n");
 
-	unknown.unknown0 = 0x84e0;
-	unknown.unknown1 = 0x0000;
-	r.in.unknown = &unknown;
+	r.in.system_name = 0;
 	r.in.access_required = SEC_FLAG_MAXIMUM_ALLOWED;
 	r.out.handle = handle;
 
@@ -506,14 +503,11 @@
 {
 	NTSTATUS status;
 	struct winreg_OpenHKU r;
-	struct winreg_OpenUnknown unknown;
 	BOOL ret = True;
 
 	printf("\ntesting OpenHKU\n");
 
-	unknown.unknown0 = 0x84e0;
-	unknown.unknown1 = 0x0000;
-	r.in.unknown = &unknown;
+	r.in.system_name = 0;
 	r.in.access_required = SEC_FLAG_MAXIMUM_ALLOWED;
 	r.out.handle = handle;
 
@@ -537,14 +531,11 @@
 {
 	NTSTATUS status;
 	struct winreg_OpenHKCR r;
-	struct winreg_OpenUnknown unknown;
 	BOOL ret = True;
 
 	printf("\ntesting OpenHKCR\n");
 
-	unknown.unknown0 = 0x84e0;
-	unknown.unknown1 = 0x0000;
-	r.in.unknown = &unknown;
+	r.in.system_name = 0;
 	r.in.access_required = SEC_FLAG_MAXIMUM_ALLOWED;
 	r.out.handle = handle;
 
@@ -649,14 +640,11 @@
 {
 	NTSTATUS status;
 	struct winreg_OpenHKCU r;
-	struct winreg_OpenUnknown unknown;
 	BOOL ret = True;
 
 	printf("\ntesting OpenHKCU\n");
 
-	unknown.unknown0 = 0x84e0;
-	unknown.unknown1 = 0x0000;
-	r.in.unknown = &unknown;
+	r.in.system_name = 0;
 	r.in.access_required = SEC_FLAG_MAXIMUM_ALLOWED;
 	r.out.handle = handle;
 



More information about the samba-cvs mailing list