make sure we don't interfere with frontend's entry when the suffix is empty (test027)

This commit is contained in:
Pierangelo Masarati 2006-09-17 16:45:24 +00:00
parent 7fd11ad679
commit c0c089f4a4

View file

@ -329,6 +329,16 @@ bdb_monitor_db_open( BackendDB *be )
ldap_bv2escaped_filter_value( &be->be_nsuffix[ 0 ], &suffix ); ldap_bv2escaped_filter_value( &be->be_nsuffix[ 0 ], &suffix );
} }
if ( BER_BVISEMPTY( &suffix ) ) {
/* frontend also has empty suffix, sigh! */
filter->bv_len = STRLENOF( "(&(namingContexts:distinguishedNameMatch:=" )
+ suffix.bv_len + STRLENOF( ")(!(cn=frontend)))" );
ptr = filter->bv_val = ch_malloc( filter->bv_len + 1 );
ptr = lutil_strcopy( ptr, "(&(namingContexts:distinguishedNameMatch:=" );
ptr = lutil_strncopy( ptr, suffix.bv_val, suffix.bv_len );
ptr = lutil_strcopy( ptr, ")(!(cn=frontend)))" );
} else {
/* just look for the naming context */ /* just look for the naming context */
filter->bv_len = STRLENOF( "(namingContexts:distinguishedNameMatch:=" ) filter->bv_len = STRLENOF( "(namingContexts:distinguishedNameMatch:=" )
+ suffix.bv_len + STRLENOF( ")" ); + suffix.bv_len + STRLENOF( ")" );
@ -336,6 +346,7 @@ bdb_monitor_db_open( BackendDB *be )
ptr = lutil_strcopy( ptr, "(namingContexts:distinguishedNameMatch:=" ); ptr = lutil_strcopy( ptr, "(namingContexts:distinguishedNameMatch:=" );
ptr = lutil_strncopy( ptr, suffix.bv_val, suffix.bv_len ); ptr = lutil_strncopy( ptr, suffix.bv_val, suffix.bv_len );
ptr = lutil_strcopy( ptr, ")" ); ptr = lutil_strcopy( ptr, ")" );
}
ptr[ 0 ] = '\0'; ptr[ 0 ] = '\0';
assert( filter->bv_len == ptr - filter->bv_val ); assert( filter->bv_len == ptr - filter->bv_val );