summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-07-07 00:27:44 +0400
committerAndrew Tridgell <tridge@samba.org>2011-07-11 14:32:44 +1000
commitab77df800eb5e4af83d3a9e1079c369e00903fac (patch)
tree5efa9cd221d6a1318202d778ac96c26ef51cb9b6 /source4/dsdb
parente3fef4db0fe3f92ad0c12b9b85dccbea64d38193 (diff)
downloadsamba-ab77df800eb5e4af83d3a9e1079c369e00903fac.tar.gz
samba-ab77df800eb5e4af83d3a9e1079c369e00903fac.tar.bz2
samba-ab77df800eb5e4af83d3a9e1079c369e00903fac.zip
s4-dsdb: if the provision control is specified, update replication metadata even if the data hasn't change
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index f201ce3b89..a76b88ecbc 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -1068,7 +1068,13 @@ static int replmd_update_rpmd_element(struct ldb_context *ldb,
/* if the attribute's value haven't changed then return LDB_SUCCESS */
if (old_el != NULL && ldb_msg_element_compare(el, old_el) == 0) {
- return LDB_SUCCESS;
+ if (!ldb_request_get_control(req, LDB_CONTROL_PROVISION_OID)) {
+ /*
+ * allow this to make it possible for dbcheck
+ * to rebuild broken metadata
+ */
+ return LDB_SUCCESS;
+ }
}
for (i=0; i<omd->ctr.ctr1.count; i++) {