[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openldap-bugs
Subject:    Re: pb with subordinate (ITS#2214)
From:       ando () sys-net ! it
Date:       2002-11-29 20:13:26
[Download RAW message or body]

> Surlignage Pierangelo Masarati <ando@sys-net.it>:
>
>>
>> > A 16:33 28/11/2002 +0000, vous avez écrit :
>> >>OK, I found the segv problem. Please try again, rev 1.48 of
>> backglue.c
>> >> and let me know.
>> >
>> >
>> > That's right. It work's perfectly.
>> >
>> > I have just an incompatibility with backends subordinate, and
>> backend monitor, but it isn't vital.
>>
>> You may check out the latest commit to
>> servers/slapd/back-monitor/database.c
>> (as suggested by Howard), which should
>> fix your problem.
>>
>
> I can't get it. If I go to the CVSWeb, the last database.c is old for 4
> monthes.

Should be available in a short while; anyway I'll forward you the fix
(a couple of lines :)

Pierangelo.
-- 
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it


["database.patch" (application/octet-stream)]

Index: servers/slapd/back-monitor/database.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-monitor/database.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- servers/slapd/back-monitor/database.c	11 Jul 2002 18:33:34 -0000	1.13
+++ servers/slapd/back-monitor/database.c	29 Nov 2002 16:43:28 -0000	1.14
@@ -86,6 +86,11 @@
 
 		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 @@
 		}
 
 		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;
 			}
 		}


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic