From: Kurt Zeilenga Date: Mon, 2 Dec 2002 19:21:07 +0000 (+0000) Subject: subordinate database fix X-Git-Tag: OPENLDAP_REL_ENG_2_1_9~3 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=292961ad23038f2d5b8fbd2ae3bc692967629bbd;p=openldap subordinate database fix --- diff --git a/servers/slapd/back-monitor/database.c b/servers/slapd/back-monitor/database.c index 2ed5225faa..96439a715d 100644 --- a/servers/slapd/back-monitor/database.c +++ b/servers/slapd/back-monitor/database.c @@ -86,6 +86,11 @@ monitor_subsys_database_init( be = &backendDB[i]; + /* Subordinates are not exposed as their own naming context */ + if ( be->be_flags & SLAP_BFLAG_GLUE_SUBORDINATE ) { + continue; + } + snprintf( buf, sizeof( buf ), "dn: cn=Database %d,%s\n" SLAPD_MONITOR_OBJECTCLASSES @@ -123,21 +128,15 @@ monitor_subsys_database_init( } for ( j = nBackendInfo; j--; ) { - if ( &backendInfo[ j ] == be->bd_info ) { - struct berval bv[ 2 ]; - - /* we check the pointer; the test on the - * string should be more reliable */ - assert( strcasecmp( backendInfo[ j ].bi_type, - be->bd_info->bi_type ) == 0 ); + if ( backendInfo[ j ].bi_type == be->bd_info->bi_type ) { + struct berval bv; snprintf( buf, sizeof( buf ), "cn=Backend %d,%s", j, monitor_subsys[SLAPD_MONITOR_BACKEND].mss_dn.bv_val ); - bv[ 0 ].bv_val = buf; - bv[ 0 ].bv_len = strlen( buf ); - bv[ 1 ].bv_val = NULL; - attr_merge( e, ad_seeAlso, bv ); + bv.bv_val = buf; + bv.bv_len = strlen( buf ); + attr_merge_one( e, ad_seeAlso, &bv ); break; } }