summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-10-11 11:00:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:39:40 -0500
commit36d73b0e71eb3fbbe8d660b7609806b0355bd09c (patch)
tree2ab0d165d05beafc64f580a5f60a6b7a18d78a13 /source4/lib/ldb/common
parent87255dc743970cdfbccfe66c31504d518512da30 (diff)
downloadsamba-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/common')
-rw-r--r--source4/lib/ldb/common/ldb_match.c7
-rw-r--r--source4/lib/ldb/common/ldb_parse.c2
2 files changed, 7 insertions, 2 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++;