summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2013-08-08 17:30:29 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2013-08-12 15:43:32 -0400
commitd69d77dda7ba05cc15c635f5c6aed592e7b43050 (patch)
tree854c818926aaf79010696210446eb9f9ca922000 /src
parent542b845f4b8b477251d26af6f857de5bfeb2c90e (diff)
downloadslapi-nis-d69d77dda7ba05cc15c635f5c6aed592e7b43050.tar.gz
slapi-nis-d69d77dda7ba05cc15c635f5c6aed592e7b43050.tar.xz
slapi-nis-d69d77dda7ba05cc15c635f5c6aed592e7b43050.zip
Always use normalized RDNs as map keys
Always use normalized RDNs as map keys, so that we can be sure that a lookup using part of the DN will find the entry, even if it needed to be escaped and/or normalized to something else at some point.
Diffstat (limited to 'src')
-rw-r--r--src/back-sch.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/back-sch.c b/src/back-sch.c
index 2dd8b10..46e5383 100644
--- a/src/back-sch.c
+++ b/src/back-sch.c
@@ -587,7 +587,7 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source,
/* Normalize the RDN, so that we can use it as a key. */
srdn = slapi_rdn_new_sdn(slapi_entry_get_sdn(entry));
if (srdn != NULL) {
- rdnstr = slapi_rdn_get_rdn(srdn);
+ rdnstr = slapi_rdn_get_nrdn(srdn);
} else {
rdnstr = NULL;
}
@@ -601,6 +601,7 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source,
rdn, ndn, slapi_entry_get_ndn(entry));
keys[0] = (char *) rdnstr;
keys[1] = NULL;
+ rdn_len = strlen(rdnstr);
values[0] = (char *) slapi_entry_get_ndn(entry);
values[1] = NULL;
value_len = -1;
@@ -1457,7 +1458,7 @@ backend_locate_cb(const char *group, const char *set, bool_t flag,
* RDN as a key. */
rdn = slapi_rdn_new_sdn(cbdata->target_dn);
if (rdn != NULL) {
- rdnstr = slapi_rdn_get_rdn(rdn);
+ rdnstr = slapi_rdn_get_nrdn(rdn);
if (map_match(cbdata->state, group, set, &flag,
strlen(rdnstr), rdnstr,
&ndnlen, &ndn,