X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbconfig.c;h=8ade0c3f225ef611a3901b72e42d9739828e331b;hb=9b5972dc9e14e1f7a7bef755bfd0dc61bcf1ffb3;hp=2579050ca7c27d416c045abfdc63652f1f5223e7;hpb=85b439cb59be78c4ed2f730a493f8299d23e1b88;p=openldap diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 2579050ca7..8ade0c3f22 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2015 The OpenLDAP Foundation. + * Copyright 2005-2016 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3039,7 +3039,7 @@ config_rootpw(ConfigArgs *c) { } tbe = select_backend(&c->be->be_rootndn, 0); - if(tbe != c->be) { + if(tbe != c->be && !SLAP_DBHIDDEN( c->be )) { snprintf( c->cr_msg, sizeof( c->cr_msg ), "<%s> can only be set when rootdn is under suffix", c->argv[0] ); Debug(LDAP_DEBUG_ANY, "%s: %s\n", @@ -4679,7 +4679,7 @@ check_name_index( CfEntryInfo *parent, ConfigType ce_type, Entry *e, if ( ce_type == Cft_Database ) nsibs--; - if ( index != nsibs ) { + if ( index != nsibs || isfrontend ) { if ( gotindex ) { if ( index < nsibs ) { if ( tailindex ) return LDAP_NAMING_VIOLATION; @@ -7220,22 +7220,6 @@ 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; }