summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2011-02-14 13:22:27 +1100
committerAndrew Tridgell <tridge@samba.org>2011-02-14 08:45:51 +0100
commita6af1efb422e10bb66524fdceb2babaa8ca1bffe (patch)
treefe6b6bb052745b5efa0167f4d4ab0d4232d720fa /source4/dsdb/samdb/ldb_modules
parent95e347a2d05d3b2c01655e02fd9eb0f5e4659ec1 (diff)
downloadsamba-a6af1efb422e10bb66524fdceb2babaa8ca1bffe.tar.gz
samba-a6af1efb422e10bb66524fdceb2babaa8ca1bffe.tar.bz2
samba-a6af1efb422e10bb66524fdceb2babaa8ca1bffe.zip
s4-dsdb: cope with broken exchange schema with single valued backlinks
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Mon Feb 14 08:45:51 CET 2011 on sn-devel-104
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules')
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index 87327e5760..53d53d9021 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -247,6 +247,13 @@ static int replmd_process_backlink(struct ldb_module *module, struct la_backlink
}
msg->elements[0].flags = bl->active?LDB_FLAG_MOD_ADD:LDB_FLAG_MOD_DELETE;
+ /* a backlink should never be single valued. Unfortunately the
+ exchange schema has a attribute
+ msExchBridgeheadedLocalConnectorsDNBL which is single
+ valued and a backlink. We need to cope with that by
+ ignoring the single value flag */
+ msg->elements[0].flags |= LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECK;
+
ret = dsdb_module_modify(module, msg, DSDB_FLAG_NEXT_MODULE, parent);
if (ret != LDB_SUCCESS) {
ldb_asprintf_errstring(ldb, "Failed to %s backlink from %s to %s - %s",