diff options
author | Matthieu Patou <mat@matws.net> | 2011-07-07 00:27:44 +0400 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-07-11 14:32:44 +1000 |
commit | ab77df800eb5e4af83d3a9e1079c369e00903fac (patch) | |
tree | 5efa9cd221d6a1318202d778ac96c26ef51cb9b6 | |
parent | e3fef4db0fe3f92ad0c12b9b85dccbea64d38193 (diff) | |
download | samba-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>
-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++) { |