linked_attributes = NULL;
rf1.highwatermark = ctr1->new_highwatermark;
uptodateness_vector = NULL; /* TODO: map it */
+ more_data = ctr1->more_data;
break;
case 6:
mapping_ctr = &ctr6->mapping_ctr;
linked_attributes = ctr6->linked_attributes;
rf1.highwatermark = ctr6->new_highwatermark;
uptodateness_vector = ctr6->uptodateness_vector;
+ more_data = ctr6->more_data;
break;
default:
composite_error(c, werror_to_ntstatus(WERR_BAD_NET_RESP));
* TODO: update our uptodatevector!
*/
- /*
- * if the tmp_highest_usn is higher than highest_usn
- * there's more to pull from this source_dsa
- */
- if (rf1.highwatermark.tmp_highest_usn > rf1.highwatermark.highest_usn) {
- more_data = true;
- }
-
if (more_data) {
dreplsrv_op_pull_source_get_changes_send(st);
return;
struct GUID *source_dsa_guid;
struct GUID *source_dsa_invocation_id;
struct drsuapi_DsReplicaHighWaterMark *new_highwatermark;
+ bool more_data = false;
NTSTATUS nt_status;
if (!W_ERROR_IS_OK(r->out.result)) {
source_dsa_guid = &ctr1->source_dsa_guid;
source_dsa_invocation_id = &ctr1->source_dsa_invocation_id;
new_highwatermark = &ctr1->new_highwatermark;
+ more_data = ctr1->more_data;
break;
case 6:
source_dsa_guid = &ctr6->source_dsa_guid;
source_dsa_invocation_id = &ctr6->source_dsa_invocation_id;
new_highwatermark = &ctr6->new_highwatermark;
+ more_data = ctr6->more_data;
break;
}
partition->highwatermark = *new_highwatermark;
partition->source_dsa_guid = *source_dsa_guid;
partition->source_dsa_invocation_id = *source_dsa_invocation_id;
+ partition->more_data = more_data;
if (!partition->store_chunk) return WERR_OK;
talloc_free(r);
- if (s->schema_part.highwatermark.tmp_highest_usn > s->schema_part.highwatermark.highest_usn) {
+ if (s->schema_part.more_data) {
becomeDC_drsuapi_pull_partition_send(s, &s->drsuapi2, &s->drsuapi3, &s->schema_part,
becomeDC_drsuapi3_pull_schema_recv);
return;
talloc_free(r);
- if (s->config_part.highwatermark.tmp_highest_usn > s->config_part.highwatermark.highest_usn) {
+ if (s->config_part.more_data) {
becomeDC_drsuapi_pull_partition_send(s, &s->drsuapi2, &s->drsuapi3, &s->config_part,
becomeDC_drsuapi3_pull_config_recv);
return;
talloc_free(r);
- if (s->domain_part.highwatermark.tmp_highest_usn > s->domain_part.highwatermark.highest_usn) {
+ if (s->domain_part.more_data) {
becomeDC_drsuapi_pull_partition_send(s, &s->drsuapi2, &s->drsuapi3, &s->domain_part,
becomeDC_drsuapi3_pull_domain_recv);
return;
test_analyse_objects(tctx, ctx, &gensec_skey, ctr1->first_object);
- if (ctr1->new_highwatermark.tmp_highest_usn > ctr1->new_highwatermark.highest_usn) {
+ if (ctr1->more_data) {
r.in.req.req5.highwatermark = ctr1->new_highwatermark;
continue;
}
test_analyse_objects(tctx, ctx, &gensec_skey, ctr6->first_object);
- if (ctr6->new_highwatermark.tmp_highest_usn > ctr6->new_highwatermark.highest_usn) {
+ if (ctr6->more_data) {
r.in.req.req8.highwatermark = ctr6->new_highwatermark;
continue;
}