From 18f81804696c0916652acc1f9491e96fda0d25fc Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 12 Jan 2007 16:02:10 +0000 Subject: r20709: pass a repsFromTo1 struct down as it contains all needed info for the source dsa and the highwater mark vector metze (This used to be commit a31e017e5388e5abd6ed9d09adcf26d2527954a6) --- source4/dsdb/repl/replicated_objects.c | 8 +++----- source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 11 +++++++---- source4/dsdb/samdb/samdb.h | 3 +-- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c index da3f6d0461..1e032b4c80 100644 --- a/source4/dsdb/repl/replicated_objects.c +++ b/source4/dsdb/repl/replicated_objects.c @@ -183,8 +183,7 @@ WERROR dsdb_extended_replicated_objects_commit(struct ldb_context *ldb, const struct drsuapi_DsReplicaObjectListItemEx *first_object, uint32_t linked_attributes_count, const struct drsuapi_DsReplicaLinkedAttribute *linked_attributes, - const struct GUID *source_dsa_invocation_id, - const struct drsuapi_DsReplicaHighWaterMark *new_highwatermark, + const struct repsFromTo1 *source_dsa, const struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector, TALLOC_CTX *mem_ctx, struct dsdb_extended_replicated_objects **_out) @@ -205,9 +204,8 @@ WERROR dsdb_extended_replicated_objects_commit(struct ldb_context *ldb, out->partition_dn = ldb_dn_new(out, ldb, partition_dn); W_ERROR_HAVE_NO_MEMORY(out->partition_dn); - out->source_dsa_invocation_id = source_dsa_invocation_id; - out->new_highwatermark = new_highwatermark; - out->uptodateness_vector = uptodateness_vector; + out->source_dsa = source_dsa; + out->uptodateness_vector= uptodateness_vector; out->num_objects = object_count; out->objects = talloc_array(out, diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c index 7998d5466c..a1fe2e7eb5 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -677,6 +677,9 @@ static int replmd_replicated_uptodate_modify(struct replmd_replicated_request *a return replmd_replicated_request_error(ar, ret); } + /* + * first create the new replUpToDateVector + */ ouv_value = ldb_msg_find_ldb_val(ar->sub.search_msg, "replUpToDateVector"); if (ouv_value) { nt_status = ndr_pull_struct_blob(ouv_value, ar->sub.mem_ctx, &ouv, @@ -743,7 +746,7 @@ static int replmd_replicated_uptodate_modify(struct replmd_replicated_request *a */ found = false; for (j=0; j < ni; j++) { - if (!GUID_equal(ar->objs->source_dsa_invocation_id, + if (!GUID_equal(&ar->objs->source_dsa->source_dsa_invocation_id, &nuv.ctr.ctr2.cursors[j].source_dsa_invocation_id)) { continue; } @@ -757,7 +760,7 @@ static int replmd_replicated_uptodate_modify(struct replmd_replicated_request *a * and use the tmp_highest_usn because this is what we have just applied * to our ldb */ - nuv.ctr.ctr2.cursors[j].highest_usn = ar->objs->new_highwatermark->tmp_highest_usn; + nuv.ctr.ctr2.cursors[j].highest_usn = ar->objs->source_dsa->highwatermark.tmp_highest_usn; nuv.ctr.ctr2.cursors[j].last_sync_success = now; break; } @@ -769,8 +772,8 @@ static int replmd_replicated_uptodate_modify(struct replmd_replicated_request *a * and use the tmp_highest_usn because this is what we have just applied * to our ldb */ - nuv.ctr.ctr2.cursors[ni].source_dsa_invocation_id= *ar->objs->source_dsa_invocation_id; - nuv.ctr.ctr2.cursors[ni].highest_usn = ar->objs->new_highwatermark->tmp_highest_usn; + nuv.ctr.ctr2.cursors[ni].source_dsa_invocation_id= ar->objs->source_dsa->source_dsa_invocation_id; + nuv.ctr.ctr2.cursors[ni].highest_usn = ar->objs->source_dsa->highwatermark.tmp_highest_usn; nuv.ctr.ctr2.cursors[ni].last_sync_success = now; ni++; } diff --git a/source4/dsdb/samdb/samdb.h b/source4/dsdb/samdb/samdb.h index 73e40183aa..0a4804dfb3 100644 --- a/source4/dsdb/samdb/samdb.h +++ b/source4/dsdb/samdb/samdb.h @@ -50,8 +50,7 @@ struct dsdb_extended_replicated_object { struct dsdb_extended_replicated_objects { struct ldb_dn *partition_dn; - const struct GUID *source_dsa_invocation_id; - const struct drsuapi_DsReplicaHighWaterMark *new_highwatermark; + const struct repsFromTo1 *source_dsa; const struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector; uint32_t num_objects; -- cgit