diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-10-03 12:23:00 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-10-03 12:23:00 -0700 |
commit | 23ec448f83ab00105b214388df287f0a934cdb7a (patch) | |
tree | de94cbd50e47eb7592e5bdf9e42643fb5aa4f239 /source4/dsdb/samdb/ldb_modules/partition.c | |
parent | 163fa1d25ae2104b634ba37ed97d51fe033cbc1f (diff) | |
parent | c7625979ceb350d90d87d2add6ed7156440072c3 (diff) | |
download | samba-23ec448f83ab00105b214388df287f0a934cdb7a.tar.gz samba-23ec448f83ab00105b214388df287f0a934cdb7a.tar.bz2 samba-23ec448f83ab00105b214388df287f0a934cdb7a.zip |
Merge commit 'master/master'
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/partition.c')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/partition.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c index 1274061e77..8e4483a78e 100644 --- a/source4/dsdb/samdb/ldb_modules/partition.c +++ b/source4/dsdb/samdb/ldb_modules/partition.c @@ -472,6 +472,14 @@ static int partition_search(struct ldb_module *module, struct ldb_request *req) return LDB_ERR_OPERATIONS_ERROR; } + /* + * for now pass down the LDB_CONTROL_SEARCH_OPTIONS_OID control + * down as uncritical to make windows 2008 dcpromo happy. + */ + if (search_control) { + search_control->critical = 0; + } + /* TODO: Generate referrals (look for a partition under this DN) if we don't have the above control specified */ @@ -1186,6 +1194,20 @@ static int partition_init(struct ldb_module *module) } } + ret = ldb_mod_register_control(module, LDB_CONTROL_DOMAIN_SCOPE_OID); + if (ret != LDB_SUCCESS) { + ldb_debug(module->ldb, LDB_DEBUG_ERROR, + "partition: Unable to register control with rootdse!\n"); + return LDB_ERR_OPERATIONS_ERROR; + } + + ret = ldb_mod_register_control(module, LDB_CONTROL_SEARCH_OPTIONS_OID); + if (ret != LDB_SUCCESS) { + ldb_debug(module->ldb, LDB_DEBUG_ERROR, + "partition: Unable to register control with rootdse!\n"); + return LDB_ERR_OPERATIONS_ERROR; + } + talloc_free(mem_ctx); return ldb_next_init(module); } |