]> 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)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 20 Jun 2019 17:43:59 +0000 (17:43 +0000)
servers/slapd/back-ldap/chain.c

index b1d01ff8b2ec5cb6c6d4d014cf61e0839347d6be..20b0cf9acae434fe7ce2c7efa086836facd4c5c0 100644 (file)
@@ -1332,7 +1332,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: "
@@ -1352,6 +1352,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:
@@ -1457,6 +1458,8 @@ chain_cfadd( Operation *op, SlapReply *rs, Entry *p, ConfigArgs *ca )
                ca->be->be_private = priv;
        }
 
+       lc->lc_cfg_li = NULL;
+
        return 0;
 }