diff options
-rw-r--r-- | source4/dsdb/common/util.c | 3 | ||||
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/util.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 22f092c127..ac380e9db6 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -3875,6 +3875,9 @@ int dsdb_search(struct ldb_context *ldb, char *expression = NULL; TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx); + /* cross-partitions searches with a basedn break multi-domain support */ + SMB_ASSERT(basedn == NULL || (dsdb_flags & DSDB_SEARCH_SEARCH_ALL_PARTITIONS) == 0); + res = talloc_zero(tmp_ctx, struct ldb_result); if (!res) { talloc_free(tmp_ctx); diff --git a/source4/dsdb/samdb/ldb_modules/util.c b/source4/dsdb/samdb/ldb_modules/util.c index dfb8600187..48600e718b 100644 --- a/source4/dsdb/samdb/ldb_modules/util.c +++ b/source4/dsdb/samdb/ldb_modules/util.c @@ -127,6 +127,8 @@ int dsdb_module_search_tree(struct ldb_module *module, tmp_ctx = talloc_new(mem_ctx); + /* cross-partitions searches with a basedn break multi-domain support */ + SMB_ASSERT(basedn == NULL || (dsdb_flags & DSDB_SEARCH_SEARCH_ALL_PARTITIONS) == 0); res = talloc_zero(tmp_ctx, struct ldb_result); if (!res) { @@ -198,6 +200,9 @@ int dsdb_module_search(struct ldb_module *module, char *expression; struct ldb_parse_tree *tree; + /* cross-partitions searches with a basedn break multi-domain support */ + SMB_ASSERT(basedn == NULL || (dsdb_flags & DSDB_SEARCH_SEARCH_ALL_PARTITIONS) == 0); + tmp_ctx = talloc_new(mem_ctx); if (format) { |