X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-monitor%2Fbackend.c;h=da24672159fae89dd76cd5b0dd7b1104e1a11999;hb=d9edc7d5afd2860fac2fa0121044db28d94c9f7f;hp=30e4b08d23342e830c48e244e9ce9ed3ca5c06fb;hpb=5aadfdfedb79bb2243a2d649759e1cae657b8b28;p=openldap diff --git a/servers/slapd/back-monitor/backend.c b/servers/slapd/back-monitor/backend.c index 30e4b08d23..da24672159 100644 --- a/servers/slapd/back-monitor/backend.c +++ b/servers/slapd/back-monitor/backend.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2005 The OpenLDAP Foundation. + * Copyright 2001-2011 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * @@ -57,8 +57,7 @@ monitor_subsys_backend_init( return -1; } - if ( monitor_cache_get( mi, &ms->mss_ndn, &e_backend ) ) - { + if ( monitor_cache_get( mi, &ms->mss_ndn, &e_backend ) ) { Debug( LDAP_DEBUG_ANY, "monitor_subsys_backend_init: " "unable to get entry \"%s\"\n", @@ -73,39 +72,19 @@ monitor_subsys_backend_init( i = -1; LDAP_STAILQ_FOREACH( bi, &backendInfo, bi_next ) { char buf[ BACKMONITOR_BUFSIZE ]; - BackendDB *be; + BackendDB *be; struct berval bv; int j; Entry *e; i++; - snprintf( buf, sizeof( buf ), - "dn: cn=Backend %d,%s\n" - "objectClass: %s\n" - "structuralObjectClass: %s\n" - "cn: Backend %d\n" - "%s: %s\n" - "%s: %s\n" - "creatorsName: %s\n" - "modifiersName: %s\n" - "createTimestamp: %s\n" - "modifyTimestamp: %s\n", - i, - ms->mss_dn.bv_val, - mi->mi_oc_monitoredObject->soc_cname.bv_val, - mi->mi_oc_monitoredObject->soc_cname.bv_val, - i, - mi->mi_ad_monitoredInfo->ad_cname.bv_val, - bi->bi_type, - mi->mi_ad_monitorRuntimeConfig->ad_cname.bv_val, - bi->bi_cf_ocs == NULL ? "FALSE" : "TRUE", - mi->mi_creatorsName.bv_val, - mi->mi_creatorsName.bv_val, - mi->mi_startTime.bv_val, - mi->mi_startTime.bv_val ); - - e = str2entry( buf ); + bv.bv_len = snprintf( buf, sizeof( buf ), "cn=Backend %d", i ); + bv.bv_val = buf; + + e = monitor_entry_stub( &ms->mss_dn, &ms->mss_ndn, &bv, + mi->mi_oc_monitoredObject, mi, NULL, NULL ); + if ( e == NULL ) { Debug( LDAP_DEBUG_ANY, "monitor_subsys_backend_init: " @@ -115,9 +94,15 @@ monitor_subsys_backend_init( } ber_str2bv( bi->bi_type, 0, 0, &bv ); + attr_merge_normalize_one( e, mi->mi_ad_monitoredInfo, + &bv, NULL ); attr_merge_normalize_one( e_backend, mi->mi_ad_monitoredInfo, &bv, NULL ); + attr_merge_normalize_one( e, mi->mi_ad_monitorRuntimeConfig, + bi->bi_cf_ocs == NULL ? (struct berval *)&slap_false_bv : + (struct berval *)&slap_true_bv, NULL ); + if ( bi->bi_controls ) { int j;