summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-11-27 04:43:20 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:46:20 +0100
commitd41f34e979bb119f71ab3cc2fdb3c08e4b92849c (patch)
tree6d9294062b8da44d0ec59d48e09efafa9d06a5e3
parent3136dccd542a72ecda0c73a91674383736571bb5 (diff)
downloadsamba-d41f34e979bb119f71ab3cc2fdb3c08e4b92849c.tar.gz
r26140: Add a new test for searches by distinguieshedName and dn, and
implement these in the simple ldap mapping module. We still don't pass this test, because we must get linked attributes into OpenLDAP. Andrew Bartlett
-rw-r--r--source/dsdb/samdb/ldb_modules/simple_ldap_map.c18
-rwxr-xr-xtestprogs/ejs/ldap.js22
2 files changed, 40 insertions, 0 deletions
diff --git a/source/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source/dsdb/samdb/ldb_modules/simple_ldap_map.c
index 2b8b07f0b42..7efcccc9ffc 100644
--- a/source/dsdb/samdb/ldb_modules/simple_ldap_map.c
+++ b/source/dsdb/samdb/ldb_modules/simple_ldap_map.c
@@ -376,6 +376,15 @@ static const struct ldb_map_attribute entryuuid_attributes[] =
}
},
{
+ .local_name = "dn",
+ .type = MAP_RENAME,
+ .u = {
+ .rename = {
+ .remote_name = "entryDN"
+ }
+ }
+ },
+ {
.local_name = "groupType",
.type = MAP_CONVERT,
.u = {
@@ -525,6 +534,15 @@ static const struct ldb_map_attribute nsuniqueid_attributes[] =
}
},
{
+ .local_name = "dn",
+ .type = MAP_RENAME,
+ .u = {
+ .rename = {
+ .remote_name = "entryDN"
+ }
+ }
+ },
+ {
.local_name = "groupType",
.type = MAP_CONVERT,
.u = {
diff --git a/testprogs/ejs/ldap.js b/testprogs/ejs/ldap.js
index ddf5d814f52..40ce404890f 100755
--- a/testprogs/ejs/ldap.js
+++ b/testprogs/ejs/ldap.js
@@ -230,6 +230,28 @@ member: cn=ldaptestuser3,cn=users," + base_dn + "
assert(res.msgs[0].cn == "ldaptestUSER3");
assert(res.msgs[0].name == "ldaptestUSER3");
+ println("Testing ldb.search for (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ var res = ldb.search("(dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ if (res.error != 0 || res.msgs.length != 1) {
+ println("Could not find (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ assert(res.error == 0);
+ assert(res.msgs.length == 1);
+ }
+ assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));
+ assert(res.msgs[0].cn == "ldaptestUSER3");
+ assert(res.msgs[0].name == "ldaptestUSER3");
+
+ println("Testing ldb.search for (distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ var res = ldb.search("(distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ if (res.error != 0 || res.msgs.length != 1) {
+ println("Could not find (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");
+ assert(res.error == 0);
+ assert(res.msgs.length == 1);
+ }
+ assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));
+ assert(res.msgs[0].cn == "ldaptestUSER3");
+ assert(res.msgs[0].name == "ldaptestUSER3");
+
// ensure we cannot add it again
ok = ldb.add("
dn: cn=ldaptestuser3,cn=userS," + base_dn + "