diff options
author | Nalin Dahyabhai <nalin@dahyabhai.net> | 2013-08-08 17:30:29 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin@dahyabhai.net> | 2013-08-12 15:43:32 -0400 |
commit | d69d77dda7ba05cc15c635f5c6aed592e7b43050 (patch) | |
tree | 854c818926aaf79010696210446eb9f9ca922000 /src | |
parent | 542b845f4b8b477251d26af6f857de5bfeb2c90e (diff) | |
download | slapi-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.c | 5 |
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, |