diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-06-13 09:10:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:18:06 -0500 |
commit | 4b0e5bd75373ffa2d847706a71fd0349dfa15e71 (patch) | |
tree | 5911c1b644daa5778fb437c43fbccd2ab416504a /source4/ldap_server | |
parent | d71e1a7a7fe363d27a0e8256ccfb4cec425c13b5 (diff) | |
download | samba-4b0e5bd75373ffa2d847706a71fd0349dfa15e71.tar.gz samba-4b0e5bd75373ffa2d847706a71fd0349dfa15e71.tar.bz2 samba-4b0e5bd75373ffa2d847706a71fd0349dfa15e71.zip |
r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
its ASN.1 parsed search expressions straight to ldb, instead of going
via strings.
- updated all the ldb modules code to handle the new interface
- got rid of the separate ldb_parse.h now that the ldb_parse
structures are exposed externally
- moved to C99 structure initialisation in ldb
- switched ldap server to using ldb_search_bytree()
(This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
Diffstat (limited to 'source4/ldap_server')
-rw-r--r-- | source4/ldap_server/ldap_backend.c | 2 | ||||
-rw-r--r-- | source4/ldap_server/ldap_hacked_ldb.c | 6 | ||||
-rw-r--r-- | source4/ldap_server/ldap_simple_ldb.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c index d87ea657d7..1c2ba87018 100644 --- a/source4/ldap_server/ldap_backend.c +++ b/source4/ldap_server/ldap_backend.c @@ -89,7 +89,7 @@ static NTSTATUS ldapsrv_SearchRequest(struct ldapsrv_call *call) DEBUG(10, ("SearchRequest")); DEBUGADD(10, (" basedn: %s", req->basedn)); - DEBUGADD(10, (" filter: %s\n", req->filter)); + DEBUGADD(10, (" filter: %s\n", ldb_filter_from_tree(call, req->tree))); part = ldapsrv_get_partition(call->conn, req->basedn, req->scope); diff --git a/source4/ldap_server/ldap_hacked_ldb.c b/source4/ldap_server/ldap_hacked_ldb.c index 0829ae7753..154211ba63 100644 --- a/source4/ldap_server/ldap_hacked_ldb.c +++ b/source4/ldap_server/ldap_hacked_ldb.c @@ -99,7 +99,7 @@ static NTSTATUS convert_values(TALLOC_CTX *mem_ctx, if (strcasecmp(attrs->name, "ncname") == 0) { - char *filter = talloc_strdup(mem_ctx, r->filter); + char *filter = ldb_filter_from_tree(mem_ctx, r->tree); struct ldb_message **res = NULL; int count; const char *dom_dn; @@ -333,8 +333,8 @@ static NTSTATUS hacked_Search(struct ldapsrv_partition *partition, struct ldapsr attrs[j] = NULL; } DEBUG(0,("hacked basedn: %s\n", basedn_str)); -DEBUGADD(0,("hacked filter: %s\n", r->filter)); - count = ldb_search(samdb, basedn_str, scope, r->filter, attrs, &res); +DEBUGADD(0,("hacked filter: %s\n", ldb_filter_from_tree(r, r->tree))); + count = ldb_search_bytree(samdb, basedn_str, scope, r->tree, attrs, &res); talloc_steal(samdb, res); if (count < 1) { diff --git a/source4/ldap_server/ldap_simple_ldb.c b/source4/ldap_server/ldap_simple_ldb.c index 905acc10f1..d6b84a37ba 100644 --- a/source4/ldap_server/ldap_simple_ldb.c +++ b/source4/ldap_server/ldap_simple_ldb.c @@ -62,7 +62,7 @@ static NTSTATUS sldb_Search(struct ldapsrv_partition *partition, struct ldapsrv_ VALID_DN_SYNTAX(basedn,0); DEBUG(10, ("sldb_Search: basedn: [%s]\n", basedn->dn)); - DEBUG(10, ("sldb_Search: filter: [%s]\n", r->filter)); + DEBUG(10, ("sldb_Search: filter: [%s]\n", ldb_filter_from_tree(call, r->tree))); switch (r->scope) { case LDAP_SEARCH_SCOPE_BASE: @@ -90,7 +90,7 @@ static NTSTATUS sldb_Search(struct ldapsrv_partition *partition, struct ldapsrv_ attrs[i] = NULL; } - count = ldb_search(samdb, basedn->dn, scope, r->filter, attrs, &res); + count = ldb_search_bytree(samdb, basedn->dn, scope, r->tree, attrs, &res); talloc_steal(samdb, res); for (i=0; i < count; i++) { |