summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-06-28 10:54:37 -0500
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-28 19:33:45 +0200
commited4c107bc1eac8531fdd8d09f7698efcbc7ecb14 (patch)
tree06b8ef70ca0967ea58a6a86284a2b43bc8f3f62e
parentfa9557fee3ca546878d99b77f1ff37f724c37024 (diff)
downloadsamba-ed4c107bc1eac8531fdd8d09f7698efcbc7ecb14.tar.gz
samba-ed4c107bc1eac8531fdd8d09f7698efcbc7ecb14.tar.bz2
samba-ed4c107bc1eac8531fdd8d09f7698efcbc7ecb14.zip
s4/dsdb: Fixed partition_search() not to pass special DN's to LDAP backend.
Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>
-rw-r--r--source4/dsdb/samdb/ldb_modules/partition.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c
index 6c0d9cdd4e..d022d128e9 100644
--- a/source4/dsdb/samdb/ldb_modules/partition.c
+++ b/source4/dsdb/samdb/ldb_modules/partition.c
@@ -470,12 +470,14 @@ static int partition_search(struct ldb_module *module, struct ldb_request *req)
return ret;
}
- p = find_partition(data, NULL, req);
- if (p != NULL) {
- /* the caller specified what partition they want the
- * search - just pass it on
- */
- return ldb_next_request(p->module, req);
+ if (!ldb_dn_is_special(req->op.search.base)) {
+ p = find_partition(data, NULL, req);
+ if (p != NULL) {
+ /* the caller specified what partition they want the
+ * search - just pass it on
+ */
+ return ldb_next_request(p->module, req);
+ }
}
/* Get back the search options from the search control, and mark it as