[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha4-176-g82940f6

Stefan Metzmacher metze at samba.org
Mon Jun 30 15:40:59 GMT 2008


The branch, v4-0-test has been updated
       via  82940f6ca120026378e6deb49a07becb2d581f45 (commit)
       via  d41b3dd6ffc4fd894bc05798dbc2ff4b53933a06 (commit)
       via  924ef407bd20331cc94f5aeb58f53a5838ae00a4 (commit)
      from  bb6e0ee953dfc59d0e04f9ea2daf051f6a6ff837 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 82940f6ca120026378e6deb49a07becb2d581f45
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 30 17:15:49 2008 +0200

    schema_fsmo: only set module->private_data in case we keep the struct for a long time
    
    metze

commit d41b3dd6ffc4fd894bc05798dbc2ff4b53933a06
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 30 13:03:17 2008 +0200

    drsuapi.idl: remove some unknows from DsGetNCChanges() (update samba4 callers)
    
    metze

commit 924ef407bd20331cc94f5aeb58f53a5838ae00a4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 30 13:01:02 2008 +0200

    drsuapi.idl: remove some unknows from DsGetNCChanges()
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 source/dsdb/repl/drepl_out_helpers.c        |   12 +++++-----
 source/dsdb/samdb/ldb_modules/schema_fsmo.c |    5 ++-
 source/libnet/libnet_become_dc.c            |   12 +++++-----
 source/librpc/idl/drsuapi.idl               |   30 +++++++++++++++++++++-----
 source/torture/rpc/drsuapi.c                |   12 +++++-----
 source/torture/rpc/dssync.c                 |   12 +++++-----
 6 files changed, 51 insertions(+), 32 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/dsdb/repl/drepl_out_helpers.c b/source/dsdb/repl/drepl_out_helpers.c
index aede6e6..d79d94f 100644
--- a/source/dsdb/repl/drepl_out_helpers.c
+++ b/source/dsdb/repl/drepl_out_helpers.c
@@ -253,10 +253,10 @@ static void dreplsrv_op_pull_source_get_changes_send(struct dreplsrv_op_pull_sou
 		r->in.req.req8.replica_flags		= rf1->replica_flags;
 		r->in.req.req8.max_object_count		= 133;
 		r->in.req.req8.max_ndr_size		= 1336811;
-		r->in.req.req8.unknown4			= 0;
-		r->in.req.req8.h1			= 0;
-		r->in.req.req8.unique_ptr1		= 0;
-		r->in.req.req8.unique_ptr2		= 0;
+		r->in.req.req8.extended_op		= DRSUAPI_EXOP_NONE;
+		r->in.req.req8.fsmo_info		= 0;
+		r->in.req.req8.partial_attribute_set	= NULL;
+		r->in.req.req8.partial_attribute_set_ex	= NULL;
 		r->in.req.req8.mapping_ctr.num_mappings	= 0;
 		r->in.req.req8.mapping_ctr.mappings	= NULL;
 	} else {
@@ -269,8 +269,8 @@ static void dreplsrv_op_pull_source_get_changes_send(struct dreplsrv_op_pull_sou
 		r->in.req.req5.replica_flags		= rf1->replica_flags;
 		r->in.req.req5.max_object_count		= 133;
 		r->in.req.req5.max_ndr_size		= 1336770;
-		r->in.req.req5.unknown4			= 0;
-		r->in.req.req5.h1			= 0;
+		r->in.req.req5.extended_op		= DRSUAPI_EXOP_NONE;
+		r->in.req.req5.fsmo_info		= 0;
 	}
 
 	req = dcerpc_drsuapi_DsGetNCChanges_send(drsuapi->pipe, r, r);
diff --git a/source/dsdb/samdb/ldb_modules/schema_fsmo.c b/source/dsdb/samdb/ldb_modules/schema_fsmo.c
index 8ceeba9..bc1e60a 100644
--- a/source/dsdb/samdb/ldb_modules/schema_fsmo.c
+++ b/source/dsdb/samdb/ldb_modules/schema_fsmo.c
@@ -54,6 +54,8 @@ static int schema_fsmo_init(struct ldb_module *module)
 		NULL
 	};
 
+	module->private_data = NULL;
+
 	if (dsdb_get_schema(module->ldb)) {
 		return ldb_next_init(module);
 	}
@@ -77,7 +79,6 @@ static int schema_fsmo_init(struct ldb_module *module)
 		ldb_oom(module->ldb);
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
-	module->private_data = schema_fsmo;
 
 	schema = dsdb_new_schema(mem_ctx, lp_iconv_convenience(ldb_get_opaque(module->ldb, "loadparm")));
 	if (!schema) {
@@ -246,7 +247,7 @@ static int schema_fsmo_init(struct ldb_module *module)
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 
-	talloc_steal(module, schema_fsmo);
+	module->private_data = talloc_steal(module, schema_fsmo);
 
 	ldb_debug(module->ldb, LDB_DEBUG_TRACE,
 			  "schema_fsmo_init: we are master: %s\n",
diff --git a/source/libnet/libnet_become_dc.c b/source/libnet/libnet_become_dc.c
index 1c4c1d0..d3eeebe 100644
--- a/source/libnet/libnet_become_dc.c
+++ b/source/libnet/libnet_become_dc.c
@@ -2392,10 +2392,10 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s
 		r->in.req.req8.replica_flags		= partition->replica_flags;
 		r->in.req.req8.max_object_count		= 133;
 		r->in.req.req8.max_ndr_size		= 1336811;
-		r->in.req.req8.unknown4			= 0;
-		r->in.req.req8.h1			= 0;
-		r->in.req.req8.unique_ptr1		= 0;
-		r->in.req.req8.unique_ptr2		= 0;
+		r->in.req.req8.extended_op		= DRSUAPI_EXOP_NONE;
+		r->in.req.req8.fsmo_info		= 0;
+		r->in.req.req8.partial_attribute_set	= NULL;
+		r->in.req.req8.partial_attribute_set_ex	= NULL;
 		r->in.req.req8.mapping_ctr.num_mappings	= 0;
 		r->in.req.req8.mapping_ctr.mappings	= NULL;
 	} else {
@@ -2408,8 +2408,8 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s
 		r->in.req.req5.replica_flags		= partition->replica_flags;
 		r->in.req.req5.max_object_count		= 133;
 		r->in.req.req5.max_ndr_size		= 1336770;
-		r->in.req.req5.unknown4			= 0;
-		r->in.req.req5.h1			= 0;
+		r->in.req.req5.extended_op		= DRSUAPI_EXOP_NONE;
+		r->in.req.req5.fsmo_info		= 0;
 	}
 
 	/* 
diff --git a/source/librpc/idl/drsuapi.idl b/source/librpc/idl/drsuapi.idl
index 2f48287..6701d22 100644
--- a/source/librpc/idl/drsuapi.idl
+++ b/source/librpc/idl/drsuapi.idl
@@ -230,6 +230,17 @@ interface drsuapi
 		DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET		= 0x40000000
 	} drsuapi_DsReplicaNeighbourFlags;
 
+	typedef [flag(NDR_PAHEX),v1_enum] enum {
+		DRSUAPI_EXOP_NONE				= 0x00000000,
+		DRSUAPI_EXOP_FSMO_REQ_ROLE			= 0x00000001,
+		DRSUAPI_EXOP_FSMO_RID_ALLOC			= 0x00000002,
+		DRSUAPI_EXOP_FSMO_RID_REQ_ROLE			= 0x00000003,
+		DRSUAPI_EXOP_FSMO_REQ_PDC			= 0x00000004,
+		DRSUAPI_EXOP_FSMO_ABANDON_ROLE			= 0x00000005,
+		DRSUAPI_EXOP_REPL_OBJ				= 0x00000006,
+		DRSUAPI_EXOP_REPL_SECRET			= 0x00000007
+	} drsuapi_DsExtendedOperation;
+
 	typedef struct {
 		GUID destination_dsa_guid;
 		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */
@@ -239,8 +250,8 @@ interface drsuapi
 		drsuapi_DsReplicaNeighbourFlags replica_flags;
 		uint32 max_object_count; /* w2k3 uses min(133,max(100,max_object_count)) */
 		uint32 max_ndr_size; /* w2k3 seems to ignore this */
-		uint32 unknown4;
-		hyper h1;
+		drsuapi_DsExtendedOperation extended_op;
+		hyper fsmo_info;
 	} drsuapi_DsGetNCChangesRequest5;
 
 	/*
@@ -401,6 +412,13 @@ interface drsuapi
 	} drsuapi_DsAttributeId;
 
 	typedef struct {
+		[value(1)] uint32 version;
+		[value(0)] uint32 reserved1;
+		[range(1,0x100000)] uint32 num_attids;
+		[size_is(num_attids)] drsuapi_DsAttributeId attids[];
+	} drsuapi_DsPartialAttributeSet;
+
+	typedef struct {
 		GUID destination_dsa_guid;
 		GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */
 		[ref] drsuapi_DsReplicaObjectIdentifier *naming_context;
@@ -409,10 +427,10 @@ interface drsuapi
 		drsuapi_DsReplicaNeighbourFlags replica_flags;
 		uint32 max_object_count; /* w2k3 uses min(133,max(100,max_object_count)) */
 		uint32 max_ndr_size; /* w2k3 seems to ignore this */
-		uint32 unknown4;
-		hyper h1;
-		uint32 unique_ptr1;
-		uint32 unique_ptr2;
+		drsuapi_DsExtendedOperation extended_op;
+		hyper fsmo_info;
+		drsuapi_DsPartialAttributeSet *partial_attribute_set;
+		drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;
 		drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
 	} drsuapi_DsGetNCChangesRequest8;
 
diff --git a/source/torture/rpc/drsuapi.c b/source/torture/rpc/drsuapi.c
index bbdb73e..e5cb3d7 100644
--- a/source/torture/rpc/drsuapi.c
+++ b/source/torture/rpc/drsuapi.c
@@ -549,8 +549,8 @@ static bool test_DsGetNCChanges(struct dcerpc_pipe *p, struct torture_context *t
 			}
 			r.in.req.req5.max_object_count			= 0;
 			r.in.req.req5.max_ndr_size			= 0;
-			r.in.req.req5.unknown4				= 0;
-			r.in.req.req5.h1				= 0;
+			r.in.req.req5.extended_op			= DRSUAPI_EXOP_NONE;
+			r.in.req.req5.fsmo_info				= 0;
 
 			break;
 		case 8:
@@ -579,10 +579,10 @@ static bool test_DsGetNCChanges(struct dcerpc_pipe *p, struct torture_context *t
 									;
 			r.in.req.req8.max_object_count			= 402;
 			r.in.req.req8.max_ndr_size			= 402116;
-			r.in.req.req8.unknown4				= 0;
-			r.in.req.req8.h1				= 0;
-			r.in.req.req8.unique_ptr1			= 0;
-			r.in.req.req8.unique_ptr2			= 0;
+			r.in.req.req8.extended_op			= DRSUAPI_EXOP_NONE;
+			r.in.req.req8.fsmo_info				= 0;
+			r.in.req.req8.partial_attribute_set		= NULL;
+			r.in.req.req8.partial_attribute_set_ex		= NULL;
 			r.in.req.req8.mapping_ctr.num_mappings		= 0;
 			r.in.req.req8.mapping_ctr.mappings		= NULL;
 
diff --git a/source/torture/rpc/dssync.c b/source/torture/rpc/dssync.c
index 989a1fa..ec52768 100644
--- a/source/torture/rpc/dssync.c
+++ b/source/torture/rpc/dssync.c
@@ -623,8 +623,8 @@ static bool test_FetchData(struct torture_context *tctx, struct DsSyncTest *ctx)
 									;
 			r.in.req.req5.max_object_count			= 133;
 			r.in.req.req5.max_ndr_size			= 1336770;
-			r.in.req.req5.unknown4				= 0;
-			r.in.req.req5.h1				= 0;
+			r.in.req.req5.extended_op			= DRSUAPI_EXOP_NONE;
+			r.in.req.req5.fsmo_info				= 0;
 
 			break;
 		case 8:
@@ -655,10 +655,10 @@ static bool test_FetchData(struct torture_context *tctx, struct DsSyncTest *ctx)
 			r.in.req.req8.max_object_count			= 402;
 			r.in.req.req8.max_ndr_size			= 402116;
 
-			r.in.req.req8.unknown4				= 0;
-			r.in.req.req8.h1				= 0;
-			r.in.req.req8.unique_ptr1			= 0;
-			r.in.req.req8.unique_ptr2			= 0;
+			r.in.req.req8.extended_op			= DRSUAPI_EXOP_NONE;
+			r.in.req.req8.fsmo_info				= 0;
+			r.in.req.req8.partial_attribute_set		= NULL;
+			r.in.req.req8.partial_attribute_set_ex		= NULL;
 			r.in.req.req8.mapping_ctr.num_mappings		= 0;
 			r.in.req.req8.mapping_ctr.mappings		= NULL;
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list