From 6d2958163746058f0400998cd1ff070ae80b206d Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sat, 19 Nov 2011 00:37:27 +0100 Subject: [PATCH] s4-dsdb: Modify the repl_meta_data behavior to allow Metadata change on attribute interSiteTopologyGenerator even if the value didn't change Autobuild-User: Matthieu Patou Autobuild-Date: Sat Nov 19 16:47:53 CET 2011 on sn-devel-104 --- source4/dsdb/samdb/ldb_modules/repl_meta_data.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c index b7a6a70b364..eb5d036e628 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -1092,9 +1092,15 @@ static int replmd_update_rpmd_element(struct ldb_context *ldb, return LDB_SUCCESS; } - /* if the attribute's value haven't changed then return LDB_SUCCESS */ + /* if the attribute's value haven't changed then return LDB_SUCCESS + * Unless we have the provision control or if the attribute is + * interSiteTopologyGenerator as this page explain: http://support.microsoft.com/kb/224815 + * this attribute is periodicaly written by the DC responsible for the intersite generation + * in a given site + */ if (old_el != NULL && ldb_msg_element_compare(el, old_el) == 0) { - if (!ldb_request_get_control(req, LDB_CONTROL_PROVISION_OID)) { + if (strcmp(el->name, "interSiteTopologyGenerator") != 0 && + !ldb_request_get_control(req, LDB_CONTROL_PROVISION_OID)) { /* * allow this to make it possible for dbcheck * to rebuild broken metadata -- 2.11.4.GIT