Author: abartlet Date: 2007-11-27 04:43:20 +0000 (Tue, 27 Nov 2007) New Revision: 26140
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26140 Log: 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 Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/simple_ldap_map.c branches/SAMBA_4_0/testprogs/ejs/ldap.js Changeset: Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/simple_ldap_map.c =================================================================== --- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/simple_ldap_map.c 2007-11-27 02:49:37 UTC (rev 26139) +++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/simple_ldap_map.c 2007-11-27 04:43:20 UTC (rev 26140) @@ -376,6 +376,15 @@ } }, { + .local_name = "dn", + .type = MAP_RENAME, + .u = { + .rename = { + .remote_name = "entryDN" + } + } + }, + { .local_name = "groupType", .type = MAP_CONVERT, .u = { @@ -525,6 +534,15 @@ } }, { + .local_name = "dn", + .type = MAP_RENAME, + .u = { + .rename = { + .remote_name = "entryDN" + } + } + }, + { .local_name = "groupType", .type = MAP_CONVERT, .u = { Modified: branches/SAMBA_4_0/testprogs/ejs/ldap.js =================================================================== --- branches/SAMBA_4_0/testprogs/ejs/ldap.js 2007-11-27 02:49:37 UTC (rev 26139) +++ branches/SAMBA_4_0/testprogs/ejs/ldap.js 2007-11-27 04:43:20 UTC (rev 26140) @@ -230,6 +230,28 @@ 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 + "