summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-12-08 17:34:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:29:01 -0500
commitd3c9737e5b8da23165d65b42d37e16549a80ce70 (patch)
treec54e1aa975695ee5248cd3a5e67b6af615f7f9ac /source4
parentc9291facd4d4f0dea226407f8e7b6436d7b3d7bd (diff)
downloadsamba-d3c9737e5b8da23165d65b42d37e16549a80ce70.tar.gz
samba-d3c9737e5b8da23165d65b42d37e16549a80ce70.tar.bz2
samba-d3c9737e5b8da23165d65b42d37e16549a80ce70.zip
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)
Diffstat (limited to 'source4')
-rw-r--r--source4/libnet/libnet_become_dc.c5
-rw-r--r--source4/librpc/idl/drsuapi.idl4
-rw-r--r--source4/torture/rpc/drsuapi.c4
-rw-r--r--source4/torture/rpc/dssync.c4
4 files changed, 9 insertions, 8 deletions
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;