From 6ce1fc099aac09c5249ae68c93a4b9a87f33acab Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Fri, 29 Nov 2002 17:43:28 +0000 Subject: [PATCH] fix handling of anomalous databases, like subordinate ones (as suggested by Howard) --- servers/slapd/back-monitor/database.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) 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; } } -- 2.39.5