svn commit: samba r9903 - in branches/tmp/RPCREWRITE/source: include rpc_parse

jra at samba.org jra at samba.org
Thu Sep 1 15:42:18 GMT 2005


Author: jra
Date: 2005-09-01 15:42:18 +0000 (Thu, 01 Sep 2005)
New Revision: 9903

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

Log:
Merge from HEAD.
Jeremy.

Modified:
   branches/tmp/RPCREWRITE/source/include/rpc_reg.h
   branches/tmp/RPCREWRITE/source/rpc_parse/parse_reg.c


Changeset:
Modified: branches/tmp/RPCREWRITE/source/include/rpc_reg.h
===================================================================
--- branches/tmp/RPCREWRITE/source/include/rpc_reg.h	2005-09-01 15:40:40 UTC (rev 9902)
+++ branches/tmp/RPCREWRITE/source/include/rpc_reg.h	2005-09-01 15:42:18 UTC (rev 9903)
@@ -227,14 +227,17 @@
 	POLICY_HND handle;
 	UNISTR4 name;
 	UNISTR4 key_class;
-	uint32 reserved;
+	uint32 options;
 	uint32 access;
+	
+	/* FIXME!  collapse all this into one structure */
 	uint32 *sec_info;
 	uint32 ptr2;
 	BUFHDR hdr_sec;
 	uint32 ptr3;
 	SEC_DESC_BUF *data;
-	uint32 unknown_2; /* 0x0000 0000 */
+
+	uint32 *disposition; 
 } REG_Q_CREATE_KEY_EX;
 
 typedef struct {

Modified: branches/tmp/RPCREWRITE/source/rpc_parse/parse_reg.c
===================================================================
--- branches/tmp/RPCREWRITE/source/rpc_parse/parse_reg.c	2005-09-01 15:40:40 UTC (rev 9902)
+++ branches/tmp/RPCREWRITE/source/rpc_parse/parse_reg.c	2005-09-01 15:42:18 UTC (rev 9903)
@@ -227,7 +227,7 @@
 	q_c->ptr2 = 1;
 	init_buf_hdr(&q_c->hdr_sec, sec_buf->len, sec_buf->len);
 	q_c->ptr3 = 1;
-	q_c->unknown_2 = 0x00000000;
+	q_c->disposition = TALLOC_P( get_talloc_ctx(), uint32 );
 }
 
 /*******************************************************************
@@ -259,7 +259,7 @@
 	if(!prs_align(ps))
 		return False;
 
-	if(!prs_uint32("reserved", ps, depth, &q_u->reserved))
+	if(!prs_uint32("options", ps, depth, &q_u->options))
 		return False;
 	if(!prs_uint32("access", ps, depth, &q_u->access))
 		return False;
@@ -267,16 +267,15 @@
 	if(!prs_pointer("sec_info", ps, depth, (void**)&q_u->sec_info, sizeof(uint32), (PRS_POINTER_CAST)prs_uint32))
 		return False;
 
-	if(!prs_uint32("ptr2", ps, depth, &q_u->ptr2))
-		return False;
-	if(!reg_io_hdrbuf_sec(q_u->ptr2, &q_u->ptr3, &q_u->hdr_sec, q_u->data,
-	                      ps, depth))
-		return False;
+	if ( q_u->sec_info ) {
+		if(!prs_uint32("ptr2", ps, depth, &q_u->ptr2))
+			return False;
+		if(!reg_io_hdrbuf_sec(q_u->ptr2, &q_u->ptr3, &q_u->hdr_sec, q_u->data, ps, depth))
+			return False;
+	}
 
-#if 0
-	if(!prs_uint32("unknown_2", ps, depth, &q_u->unknown_2))
+	if(!prs_pointer("disposition", ps, depth, (void**)&q_u->disposition, sizeof(uint32), (PRS_POINTER_CAST)prs_uint32))
 		return False;
-#endif
 
 	return True;
 }



More information about the samba-cvs mailing list