]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8799 Let the common backend be configured through cn=config
authorOndřej Kuzník <ondra@openldap.org>
Mon, 13 May 2019 10:46:19 +0000 (11:46 +0100)
committerOndřej Kuzník <ondra@mistotebe.net>
Thu, 20 Jun 2019 15:03:27 +0000 (17:03 +0200)
servers/slapd/back-ldap/chain.c

index cf28ec988e4925b84e7934b821f12432eab21488..6b5bd04b459953c6f385a4c310ac2079ac70df14 100644 (file)
@@ -1336,7 +1336,7 @@ chain_ldadd( CfEntryInfo *p, Entry *e, ConfigArgs *ca )
 
        } else
 #endif
-       if ( lc->lc_common_li != NULL && at == NULL ) {
+       if ( lc->lc_common_li != NULL && lc->lc_common_li != lc->lc_cfg_li && at == NULL ) {
                /* FIXME: we should generate an empty default entry
                 * if none is supplied */
                Debug( LDAP_DEBUG_ANY, "slapd-chain: "
@@ -1356,6 +1356,7 @@ chain_ldadd( CfEntryInfo *p, Entry *e, ConfigArgs *ca )
 
        }
        rc = ldap_chain_db_init_one( ca->be );
+       lc->lc_cfg_li = NULL;
 
        if ( rc != 0 ) {
 fail:
@@ -1461,6 +1462,8 @@ chain_cfadd( Operation *op, SlapReply *rs, Entry *p, ConfigArgs *ca )
                ca->be->be_private = priv;
        }
 
+       lc->lc_cfg_li = NULL;
+
        return 0;
 }