mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
recent check for syncrepl searchbase broke test048; fixing...
This commit is contained in:
parent
a73826b834
commit
1f3d88f32b
3 changed files with 25 additions and 2 deletions
|
|
@ -693,6 +693,26 @@ be_issuffix(
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
be_issubordinate(
|
||||
Backend *be,
|
||||
struct berval *bvsubordinate )
|
||||
{
|
||||
int i;
|
||||
|
||||
if ( be->be_nsuffix == NULL ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for ( i = 0; !BER_BVISNULL( &be->be_nsuffix[i] ); i++ ) {
|
||||
if ( dnIsSuffix( bvsubordinate, &be->be_nsuffix[i] ) ) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
be_isroot_dn( Backend *be, struct berval *ndn )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -340,6 +340,8 @@ LDAP_SLAPD_F (BackendDB *) select_backend LDAP_P((
|
|||
|
||||
LDAP_SLAPD_F (int) be_issuffix LDAP_P(( Backend *be,
|
||||
struct berval *suffix ));
|
||||
LDAP_SLAPD_F (int) be_issubordinate LDAP_P(( Backend *be,
|
||||
struct berval *subordinate ));
|
||||
LDAP_SLAPD_F (int) be_isroot LDAP_P(( Operation *op ));
|
||||
LDAP_SLAPD_F (int) be_isroot_dn LDAP_P(( Backend *be, struct berval *ndn ));
|
||||
LDAP_SLAPD_F (int) be_isroot_pw LDAP_P(( Operation *op ));
|
||||
|
|
|
|||
|
|
@ -3358,8 +3358,9 @@ parse_syncrepl_line(
|
|||
Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg, 0 );
|
||||
return -1;
|
||||
}
|
||||
if ( select_backend( &si->si_base, 0 ) != c->be ) {
|
||||
ber_memfree( si->si_base.bv_val );
|
||||
if ( !be_issubordinate( c->be, &si->si_base ) ) {
|
||||
ch_free( si->si_base.bv_val );
|
||||
BER_BVZERO( &si->si_base );
|
||||
snprintf( c->cr_msg, sizeof( c->cr_msg ),
|
||||
"Base DN \"%s\" is not within the database naming context",
|
||||
val );
|
||||
|
|
|
|||
Loading…
Reference in a new issue