uint64_t mod_usn_urgent;
} *ncs;
struct ldb_dn *schema_dn;
+ bool originating_updates;
};
struct la_entry {
modified_partition->mod_usn_urgent = ac->seq_num;
}
}
+ if (!ac->apply_mode) {
+ replmd_private->originating_updates = true;
+ }
}
if (ac->apply_mode) {
static int replmd_replicated_uptodate_vector(struct replmd_replicated_request *ar)
{
- struct ldb_context *ldb;
+ struct ldb_context *ldb = ldb_module_get_ctx(ar->module);
+ struct replmd_private *replmd_private =
+ talloc_get_type_abort(ldb_module_get_private(ar->module),
+ struct replmd_private);
int ret;
static const char *attrs[] = {
"replUpToDateVector",
};
struct ldb_request *search_req;
- ldb = ldb_module_get_ctx(ar->module);
ar->search_msg = NULL;
+ /*
+ * Let the caller know that we did an originating updates
+ */
+ ar->objs->originating_updates = replmd_private->originating_updates;
+
ret = ldb_build_search_req(&search_req,
ldb,
ar,
talloc_free(e);
}
+ replmd_private->originating_updates = false;
+
return ldb_next_start_trans(module);
}
* this is the version of the dsdb_extended_replicated_objects
* version 0: initial implementation
*/
-#define DSDB_EXTENDED_REPLICATED_OBJECTS_VERSION 2
+#define DSDB_EXTENDED_REPLICATED_OBJECTS_VERSION 3
uint32_t version;
/* DSDB_REPL_FLAG_* flags */
const struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;
WERROR error;
+
+ bool originating_updates;
};
#define DSDB_EXTENDED_CREATE_PARTITION_OID "1.3.6.1.4.1.7165.4.4.4"