diff options
author | Andrew Bartlett <abartlet@samba.org> | 2007-11-27 04:43:20 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:46:20 +0100 |
commit | d41f34e979bb119f71ab3cc2fdb3c08e4b92849c (patch) | |
tree | 6d9294062b8da44d0ec59d48e09efafa9d06a5e3 | |
parent | 3136dccd542a72ecda0c73a91674383736571bb5 (diff) | |
download | samba-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.c | 18 | ||||
-rwxr-xr-x | testprogs/ejs/ldap.js | 22 |
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 + " |