diff options
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 8 |
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++) { |