mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-21 23:29:34 -05:00
ITS#4986 - remove special manageDSAit handing in select_backend()
This commit is contained in:
parent
ca7ad7f2e3
commit
d09d43559a
1 changed files with 3 additions and 30 deletions
|
|
@ -629,7 +629,7 @@ select_backend(
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
ber_len_t len, dnlen = dn->bv_len;
|
ber_len_t len, dnlen = dn->bv_len;
|
||||||
Backend *be, *b2 = NULL;
|
Backend *be;
|
||||||
|
|
||||||
LDAP_STAILQ_FOREACH( be, &backendDB, be_next ) {
|
LDAP_STAILQ_FOREACH( be, &backendDB, be_next ) {
|
||||||
if ( be->be_nsuffix == NULL || SLAP_DBHIDDEN( be )) {
|
if ( be->be_nsuffix == NULL || SLAP_DBHIDDEN( be )) {
|
||||||
|
|
@ -663,39 +663,12 @@ select_backend(
|
||||||
if ( strcmp( be->be_nsuffix[j].bv_val,
|
if ( strcmp( be->be_nsuffix[j].bv_val,
|
||||||
&dn->bv_val[dnlen-len] ) == 0 )
|
&dn->bv_val[dnlen-len] ) == 0 )
|
||||||
{
|
{
|
||||||
if ( b2 == NULL ) {
|
break;
|
||||||
b2 = be;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* causes ITS#4986: a catchall relay
|
|
||||||
* database with empty suffix points
|
|
||||||
* to another database; operations
|
|
||||||
* directed to a specific database
|
|
||||||
* fail if manageDSAit is set.
|
|
||||||
* Not clear what's the purpose
|
|
||||||
* of this test */
|
|
||||||
if ( manageDSAit && len == dnlen &&
|
|
||||||
!SLAP_GLUE_SUBORDINATE( be ) )
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} else {
|
|
||||||
/* If any parts of the tree are glued, use the first
|
|
||||||
* match regardless of manageDSAit. Otherwise use the
|
|
||||||
* last match.
|
|
||||||
*/
|
|
||||||
if( !( SLAP_DBFLAGS( be ) & ( SLAP_DBFLAG_GLUE_INSTANCE |
|
|
||||||
SLAP_DBFLAG_GLUE_SUBORDINATE )))
|
|
||||||
b2 = be;
|
|
||||||
}
|
|
||||||
return b2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return b2;
|
return be;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue