From d3c9737e5b8da23165d65b42d37e16549a80ce70 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 8 Dec 2006 17:34:15 +0000 Subject: r20079: the 2nd guid is the source_dsa invocation_id not the objectGUID, this wasn't noticed because on the 1st dc in the forest both have the same value metze (This used to be commit 527bd9a0a361e19606e25e885b92da316e740bf9) --- source4/libnet/libnet_become_dc.c | 5 +++-- source4/librpc/idl/drsuapi.idl | 4 ++-- source4/torture/rpc/drsuapi.c | 4 ++-- source4/torture/rpc/dssync.c | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) (limited to 'source4') diff --git a/source4/libnet/libnet_become_dc.c b/source4/libnet/libnet_become_dc.c index 491e32806c..c9ffe30df3 100644 --- a/source4/libnet/libnet_become_dc.c +++ b/source4/libnet/libnet_become_dc.c @@ -118,6 +118,7 @@ struct libnet_BecomeDC_state { struct drsuapi_DsReplicaObjectIdentifier nc; struct GUID destination_dsa_guid; struct GUID source_dsa_guid; + struct GUID source_dsa_invocation_id; struct drsuapi_DsReplicaHighWaterMark highwatermark; struct drsuapi_DsReplicaCoursorCtrEx *uptodateness_vector; uint32_t replica_flags; @@ -1555,7 +1556,7 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s if (drsuapi_h->remote_info28.supported_extensions & DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8) { r->in.level = 8; r->in.req.req8.destination_dsa_guid = partition->destination_dsa_guid; - r->in.req.req8.source_dsa_guid = partition->source_dsa_guid; + r->in.req.req8.source_dsa_invocation_id = partition->source_dsa_invocation_id; r->in.req.req8.naming_context = &partition->nc; r->in.req.req8.highwatermark = partition->highwatermark; r->in.req.req8.uptodateness_vector = partition->uptodateness_vector; @@ -1571,7 +1572,7 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s } else { r->in.level = 5; r->in.req.req5.destination_dsa_guid = partition->destination_dsa_guid; - r->in.req.req5.source_dsa_guid = partition->source_dsa_guid; + r->in.req.req5.source_dsa_invocation_id = partition->source_dsa_invocation_id; r->in.req.req5.naming_context = &partition->nc; r->in.req.req5.highwatermark = partition->highwatermark; r->in.req.req5.uptodateness_vector = partition->uptodateness_vector; diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index 4cd89b75d3..6a7fc21d3e 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -230,7 +230,7 @@ interface drsuapi typedef struct { GUID destination_dsa_guid; - GUID source_dsa_guid; + GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */ [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; drsuapi_DsReplicaHighWaterMark highwatermark; drsuapi_DsReplicaCoursorCtrEx *uptodateness_vector; @@ -258,7 +258,7 @@ interface drsuapi typedef struct { GUID destination_dsa_guid; - GUID source_dsa_guid; + GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */ [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; drsuapi_DsReplicaHighWaterMark highwatermark; drsuapi_DsReplicaCoursorCtrEx *uptodateness_vector; diff --git a/source4/torture/rpc/drsuapi.c b/source4/torture/rpc/drsuapi.c index 29b6b0633b..ea7cf8d8bd 100644 --- a/source4/torture/rpc/drsuapi.c +++ b/source4/torture/rpc/drsuapi.c @@ -553,7 +553,7 @@ static BOOL test_DsGetNCChanges(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, nc.dn = priv->domain_obj_dn?priv->domain_obj_dn:""; r.in.req.req5.destination_dsa_guid = GUID_random(); - r.in.req.req5.source_dsa_guid = null_guid; + r.in.req.req5.source_dsa_invocation_id = null_guid; r.in.req.req5.naming_context = &nc; r.in.req.req5.highwatermark.tmp_highest_usn = 0; r.in.req.req5.highwatermark.reserved_usn = 0; @@ -575,7 +575,7 @@ static BOOL test_DsGetNCChanges(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, nc.dn = priv->domain_obj_dn?priv->domain_obj_dn:""; r.in.req.req8.destination_dsa_guid = GUID_random(); - r.in.req.req8.source_dsa_guid = null_guid; + r.in.req.req8.source_dsa_invocation_id = null_guid; r.in.req.req8.naming_context = &nc; r.in.req.req8.highwatermark.tmp_highest_usn = 0; r.in.req.req8.highwatermark.reserved_usn = 0; diff --git a/source4/torture/rpc/dssync.c b/source4/torture/rpc/dssync.c index e00033154e..f07df0f7ad 100644 --- a/source4/torture/rpc/dssync.c +++ b/source4/torture/rpc/dssync.c @@ -421,7 +421,7 @@ static BOOL test_FetchData(struct DsSyncTest *ctx) nc.dn = partition; r.in.req.req5.destination_dsa_guid = ctx->new_dc.invocation_id; - r.in.req.req5.source_dsa_guid = null_guid; + r.in.req.req5.source_dsa_invocation_id = null_guid; r.in.req.req5.naming_context = &nc; r.in.req.req5.highwatermark.tmp_highest_usn = highest_usn; r.in.req.req5.highwatermark.reserved_usn = 0; @@ -452,7 +452,7 @@ static BOOL test_FetchData(struct DsSyncTest *ctx) /* nc.dn can be set to any other ad partition */ r.in.req.req8.destination_dsa_guid = ctx->new_dc.invocation_id; - r.in.req.req8.source_dsa_guid = null_guid; + r.in.req.req8.source_dsa_invocation_id = null_guid; r.in.req.req8.naming_context = &nc; r.in.req.req8.highwatermark.tmp_highest_usn = highest_usn; r.in.req.req8.highwatermark.reserved_usn = 0; -- cgit