uint64_t mod_usn_urgent;
} *ncs;
- TALLOC_CTX *sd_updates_mem_ctx;
- struct sd_update {
- struct sd_update *prev, *next;
- struct ldb_dn *dn;
- } *sd_updates;
+ uint32_t num_sd_updates;
+ struct ldb_dn *sd_updates;
};
struct la_entry {
replmd_private->la_backlinks = NULL;
replmd_private->bl_ctx = NULL;
- talloc_free(replmd_private->sd_updates_mem_ctx);
- replmd_private->sd_updates_mem_ctx = NULL;
+ talloc_free(replmd_private->sd_updates);
replmd_private->sd_updates = NULL;
+ replmd_private->num_sd_updates = 0;
}
static int replmd_replicated_apply_merge(struct replmd_replicated_request *ar)
{
- struct replmd_private *replmd_private =
- talloc_get_type_abort(ldb_module_get_private(ar->module),
- struct replmd_private);
- struct ldb_context *ldb = ldb_module_get_ctx(ar->module);
+ struct ldb_context *ldb;
struct ldb_request *change_req;
enum ndr_err_code ndr_err;
struct ldb_message *msg;
unsigned int removed_attrs = 0;
int ret;
int (*callback)(struct ldb_request *req, struct ldb_reply *ares) = replmd_op_callback;
+ struct replmd_private *replmd_private = talloc_get_type(ldb_module_get_private(module),
+ struct replmd_private);
bool sd_updated = false;
+ ldb = ldb_module_get_ctx(ar->module);
msg = ar->objs->objects[ar->index_current].msg;
rmd = ar->objs->objects[ar->index_current].meta_data;
ar->index_current, msg->num_elements);
if (sd_updated) {
- struct sd_update *up;
-
- up = talloc_zero(replmd_private->sd_updates_mem_ctx,
- struct sd_update);
- if (up == NULL) {
-
- }
- up->dn = msg->dn;
- DLIST_ADD_END(eplmd_private->sd_updates, up);
//ret = replmd_add_
//replmd_private;
//BINARY_ARRAY_SEARCH
talloc_get_type(ldb_module_get_private(module), struct replmd_private);
struct la_entry *la, *prev;
struct la_backlink *bl;
- struct sd_update *up;
int ret;
/* walk the list backwards, to do the first entry first, as we
}
}
- for (up=replmd_private->sd_updates; up; up = up->next) {
-
- }
-
replmd_txn_cleanup(replmd_private);
/* possibly change @REPLCHANGED */