From: Pierangelo Masarati Date: Wed, 17 Aug 2011 04:17:43 +0000 (-0600) Subject: make sure frontend gets the {-1} (ITS#7016) X-Git-Tag: OPENLDAP_REL_ENG_2_5_0ALPHA~1285 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb83bf08bc09ec736041914f4f1417b06d03fb04;p=thirdparty%2Fopenldap.git make sure frontend gets the {-1} (ITS#7016) --- diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 61901930ff..3a0b1890d7 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -7247,6 +7247,22 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text ) return NOID; } } else { + if ( !strncmp( e->e_nname.bv_val + + STRLENOF( "olcDatabase" ), "=frontend", + STRLENOF( "=frontend" ) ) ) + { + struct berval rdn, pdn, ndn; + dnParent( &e->e_nname, &pdn ); + rdn.bv_val = ca.log; + rdn.bv_len = snprintf(rdn.bv_val, sizeof( ca.log ), + "%s=" SLAP_X_ORDERED_FMT "%s", + cfAd_database->ad_cname.bv_val, -1, + frontendDB->bd_info->bi_type ); + build_new_dn( &ndn, &pdn, &rdn, NULL ); + ber_memfree( e->e_name.bv_val ); + e->e_name = ndn; + ber_bvreplace( &e->e_nname, &e->e_name ); + } entry_put_got_frontend++; isFrontend = 1; }