File 0001-Revert-Issue-6417-3rd-If-an-entry-RDN-is-identical-t.patch of Package 389-ds.39635
From e83afe109989c51d8309ef7f62515e1645ab3a2c Mon Sep 17 00:00:00 2001
From: William <william@blackhats.net.au>
Date: Wed, 2 Jul 2025 12:56:17 +1000
Subject: [PATCH 1/3] Revert "Issue 6417 - (3rd) If an entry RDN is identical
to the suffix, then Entryrdn gets broken during a reindex (#6480)"
This reverts commit 8bba87cb2f696388b60a14a01fd53e6dee30d0df.
---
ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c | 32 +++++++++-----------
1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c b/ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c
index b38921ea5..7ff85b6d4 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c
@@ -1061,25 +1061,21 @@ entryrdn_lookup_dn(backend *be,
/* Setting the bulk fetch buffer */
dblayer_value_init(be, &data);
- /* Just in case the suffix ID is not '1' retrieve it from the database
- * if the suffix is not defined suffix_id remains '1'
- */
- if (be->be_suffix) {
- keybuf = slapi_ch_strdup(slapi_sdn_get_ndn(be->be_suffix));
- dblayer_value_set(be, &key, keybuf, strlen(keybuf) + 1);
- rc = dblayer_cursor_op(&cursor, DBI_OP_MOVE_TO_KEY, &key, &data);
- if (rc) {
- slapi_log_err(SLAPI_LOG_WARNING, "entryrdn_lookup_dn",
- "Fails to retrieve the ID of suffix %s - keep the default value '%d'\n",
- slapi_sdn_get_ndn(be->be_suffix),
- suffix_id);
- } else {
- elem = (rdn_elem *) data.data;
- suffix_id = id_stored_to_internal(elem->rdn_elem_id);
- }
- dblayer_value_free(be, &data);
- dblayer_value_free(be, &key);
+ /* Just in case the suffix ID is not '1' retrieve it from the database */
+ keybuf = slapi_ch_strdup(slapi_sdn_get_ndn(be->be_suffix));
+ dblayer_value_set(be, &key, keybuf, strlen(keybuf) + 1);
+ rc = dblayer_cursor_op(&cursor, DBI_OP_MOVE_TO_KEY, &key, &data);
+ if (rc) {
+ slapi_log_err(SLAPI_LOG_WARNING, "entryrdn_lookup_dn",
+ "Fails to retrieve the ID of suffix %s - keep the default value '%d'\n",
+ slapi_sdn_get_ndn(be->be_suffix),
+ suffix_id);
+ } else {
+ elem = (rdn_elem *)data.data;
+ suffix_id = id_stored_to_internal(elem->rdn_elem_id);
}
+ dblayer_value_free(be, &data);
+ dblayer_value_free(be, &key);
do {
/* Setting up a key for the node to get its parent */
--
2.50.0