diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-10-11 11:00:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:40 -0500 |
commit | 36d73b0e71eb3fbbe8d660b7609806b0355bd09c (patch) | |
tree | 2ab0d165d05beafc64f580a5f60a6b7a18d78a13 /source4/lib/ldb | |
parent | 87255dc743970cdfbccfe66c31504d518512da30 (diff) | |
download | samba-36d73b0e71eb3fbbe8d660b7609806b0355bd09c.tar.gz samba-36d73b0e71eb3fbbe8d660b7609806b0355bd09c.tar.bz2 samba-36d73b0e71eb3fbbe8d660b7609806b0355bd09c.zip |
r10894: make the handling of dn/distinguishedName much closer to real
ldap. Also ensure we put a objectclass on our private ldb's, so they
have some chance of being stored in ldap if you want to
(This used to be commit 1af2cc067f70f6654d08387fc28def67229bb06a)
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r-- | source4/lib/ldb/common/ldb_match.c | 7 | ||||
-rw-r--r-- | source4/lib/ldb/common/ldb_parse.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/tools/cmdline.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/tools/ldbdel.c | 4 | ||||
-rw-r--r-- | source4/lib/ldb/tools/ldbedit.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/tools/ldbsearch.c | 2 |
6 files changed, 12 insertions, 7 deletions
diff --git a/source4/lib/ldb/common/ldb_match.c b/source4/lib/ldb/common/ldb_match.c index 1269d99a0f..78e4304f6c 100644 --- a/source4/lib/ldb/common/ldb_match.c +++ b/source4/lib/ldb/common/ldb_match.c @@ -88,7 +88,7 @@ static int ldb_match_present(struct ldb_context *ldb, enum ldb_scope scope) { - if (ldb_attr_cmp(tree->u.present.attr, "dn") == 0) { + if (ldb_attr_cmp(tree->u.present.attr, "distinguishedName") == 0) { return 1; } @@ -151,8 +151,13 @@ static int ldb_match_equality(struct ldb_context *ldb, struct ldb_dn *valuedn; int ret; + /* catch the old method of dn matching */ if (ldb_attr_cmp(tree->u.equality.attr, "dn") == 0) { + ldb_debug(ldb, LDB_DEBUG_FATAL, "attempt to match on 'dn' - should use distinguishedName"); + return 0; + } + if (ldb_attr_cmp(tree->u.equality.attr, "distinguishedName") == 0) { valuedn = ldb_dn_explode_casefold(ldb, tree->u.equality.value.data); if (valuedn == NULL) { return 0; diff --git a/source4/lib/ldb/common/ldb_parse.c b/source4/lib/ldb/common/ldb_parse.c index 27f9e1ec25..e61511ebec 100644 --- a/source4/lib/ldb/common/ldb_parse.c +++ b/source4/lib/ldb/common/ldb_parse.c @@ -621,7 +621,7 @@ static struct ldb_parse_tree *ldb_parse_filter(void *mem_ctx, const char **s) struct ldb_parse_tree *ldb_parse_tree(void *mem_ctx, const char *s) { if (s == NULL || *s == 0) { - s = "(|(objectClass=*)(dn=*))"; + s = "(|(objectClass=*)(distinguishedName=*))"; } while (isspace((unsigned char)*s)) s++; diff --git a/source4/lib/ldb/tools/cmdline.c b/source4/lib/ldb/tools/cmdline.c index 2428306f39..ca9d3847e8 100644 --- a/source4/lib/ldb/tools/cmdline.c +++ b/source4/lib/ldb/tools/cmdline.c @@ -54,7 +54,7 @@ struct ldb_cmdline *ldb_cmdline_process(struct ldb_context *ldb, int argc, const { "recursive", 'r', POPT_ARG_NONE, &options.recursive, 0, "recursive delete", NULL }, { "num-searches", 0, POPT_ARG_INT, &options.num_searches, 0, "number of test searches", NULL }, { "num-records", 0, POPT_ARG_INT, &options.num_records, 0, "number of test records", NULL }, - { "all", 'a', POPT_ARG_NONE, &options.all_records, 0, "dn=*", NULL }, + { "all", 'a', POPT_ARG_NONE, &options.all_records, 0, "objectClass=*", NULL }, { "nosync", 0, POPT_ARG_NONE, &options.nosync, 0, "non-synchronous transactions", NULL }, { "sorted", 'S', POPT_ARG_NONE, &options.sorted, 0, "sort attributes", NULL }, { "sasl-mechanism", 0, POPT_ARG_STRING, &options.sasl_mechanism, 0, "choose SASL mechanism", "MECHANISM" }, diff --git a/source4/lib/ldb/tools/ldbdel.c b/source4/lib/ldb/tools/ldbdel.c index 6082931e22..bd40fccbdb 100644 --- a/source4/lib/ldb/tools/ldbdel.c +++ b/source4/lib/ldb/tools/ldbdel.c @@ -44,10 +44,10 @@ static int ldb_delete_recursive(struct ldb_context *ldb, const struct ldb_dn *dn) { int ret, i, total=0; - const char *attrs[] = { "dn", NULL }; + const char *attrs[] = { NULL }; struct ldb_message **res; - ret = ldb_search(ldb, dn, LDB_SCOPE_SUBTREE, "dn=*", attrs, &res); + ret = ldb_search(ldb, dn, LDB_SCOPE_SUBTREE, "distinguishedName=*", attrs, &res); if (ret <= 0) return -1; for (i=0;i<ret;i++) { diff --git a/source4/lib/ldb/tools/ldbedit.c b/source4/lib/ldb/tools/ldbedit.c index a850562a7d..bc629fef93 100644 --- a/source4/lib/ldb/tools/ldbedit.c +++ b/source4/lib/ldb/tools/ldbedit.c @@ -283,7 +283,7 @@ static void usage(void) struct ldb_message **msgs; struct ldb_dn *basedn = NULL; int ret; - const char *expression = "(|(objectclass=*)(dn=*))"; + const char *expression = "(|(objectclass=*)(distinguishedName=*))"; const char * const * attrs = NULL; ldb = ldb_init(NULL); diff --git a/source4/lib/ldb/tools/ldbsearch.c b/source4/lib/ldb/tools/ldbsearch.c index 4499bc9359..4abc7269d5 100644 --- a/source4/lib/ldb/tools/ldbsearch.c +++ b/source4/lib/ldb/tools/ldbsearch.c @@ -124,7 +124,7 @@ static int do_search(struct ldb_context *ldb, const char * const * attrs = NULL; struct ldb_cmdline *options; int ret = -1; - const char *expression = "(|(objectclass=*)(dn=*))"; + const char *expression = "(objectclass=*)"; ldb = ldb_init(NULL); |