From 8d06fdf44b0d337f1e321e61ee1b22972ddea917 Mon Sep 17 00:00:00 2001 From: tbordaz Date: Fri, 2 Apr 2021 14:05:41 +0200 Subject: [PATCH 3/3] Issue 4700 - Regression in winsync replication agreement (#4712) Bug description: #4396 fixes a memory leak but did not set 'cn=config' as DSE backend. It had no signicant impact unless with sidgen IPA plugin Fix description: revert the portion of the #4364 patch that set be_suffix in be_addsuffix, free the suffix before setting it relates: https://github.com/389ds/389-ds-base/issues/4700 Reviewed by: Pierre Rogier (thanks !) Platforms tested: F33 --- ldap/servers/slapd/backend.c | 3 ++- ldap/servers/slapd/fedse.c | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ldap/servers/slapd/backend.c b/ldap/servers/slapd/backend.c index 5707504a9..5db706841 100644 --- a/ldap/servers/slapd/backend.c +++ b/ldap/servers/slapd/backend.c @@ -173,7 +173,8 @@ void be_addsuffix(Slapi_Backend *be, const Slapi_DN *suffix) { if (be->be_state != BE_STATE_DELETED) { - be->be_suffix = slapi_sdn_dup(suffix);; + slapi_sdn_free(&be->be_suffix); + be->be_suffix = slapi_sdn_dup(suffix); } } diff --git a/ldap/servers/slapd/fedse.c b/ldap/servers/slapd/fedse.c index 7b820b540..44159c991 100644 --- a/ldap/servers/slapd/fedse.c +++ b/ldap/servers/slapd/fedse.c @@ -2846,6 +2846,7 @@ setup_internal_backends(char *configdir) Slapi_DN counters; Slapi_DN snmp; Slapi_DN root; + Slapi_Backend *be; Slapi_DN encryption; Slapi_DN saslmapping; Slapi_DN plugins; @@ -2894,7 +2895,10 @@ setup_internal_backends(char *configdir) dse_register_callback(pfedse, SLAPI_OPERATION_ADD, DSE_FLAG_PREOP, &saslmapping, LDAP_SCOPE_SUBTREE, "(objectclass=nsSaslMapping)", sasl_map_config_add, NULL, NULL); dse_register_callback(pfedse, SLAPI_OPERATION_ADD, DSE_FLAG_PREOP, &plugins, LDAP_SCOPE_SUBTREE, "(objectclass=nsSlapdPlugin)", check_plugin_path, NULL, NULL); - be_new_internal(pfedse, "DSE", DSE_BACKEND, &fedse_plugin); + be = be_new_internal(pfedse, "DSE", DSE_BACKEND, &fedse_plugin); + be_addsuffix(be, &root); + be_addsuffix(be, &monitor); + be_addsuffix(be, &config); /* * Now that the be's are in place, we can setup the mapping tree. -- 2.31.1