summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2010-12-10 04:17:09 +0200
committerKamen Mazdrashki <kamenim@samba.org>2010-12-15 00:51:19 +0100
commit0a9f780d26d8d193081915f4f3aff7b7f8335a28 (patch)
tree1cc66daa524fda034ea591efd6d4e7eb0027b4ce /source4/dsdb/repl
parent2b74838c14f4ee77236634c7b10b8ac26eff40fa (diff)
downloadsamba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.tar.gz
samba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.tar.bz2
samba-0a9f780d26d8d193081915f4f3aff7b7f8335a28.zip
s4-drepl: We won't need a working schema for empty replicas sent.
Without this check, receiving empty replica leads to a situation where we left with a working_schema attached to the ldb. The problem here is that working_schema is not fully functional schema cache and keeping it attached to the ldb may lead to modules failing to accomplish their jobs
Diffstat (limited to 'source4/dsdb/repl')
-rw-r--r--source4/dsdb/repl/drepl_out_helpers.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index 6481028a42..6bb2516f2d 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -588,8 +588,11 @@ static void dreplsrv_op_pull_source_apply_changes_trigger(struct tevent_req *req
return;
}
- /* Decide what working schema to use for object conversion */
- if (ldb_dn_compare(partition->dn, schema->base_dn) == 0) {
+ /*
+ * Decide what working schema to use for object conversion.
+ * We won't need a working schema for empty replicas sent.
+ */
+ if (first_object && ldb_dn_compare(partition->dn, schema->base_dn) == 0) {
/* create working schema to convert objects with */
status = dsdb_repl_make_working_schema(service->samdb,
schema,