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;
|
||||
ber_len_t len, dnlen = dn->bv_len;
|
||||
Backend *be, *b2 = NULL;
|
||||
Backend *be;
|
||||
|
||||
LDAP_STAILQ_FOREACH( be, &backendDB, be_next ) {
|
||||
if ( be->be_nsuffix == NULL || SLAP_DBHIDDEN( be )) {
|
||||
|
|
@ -663,39 +663,12 @@ select_backend(
|
|||
if ( strcmp( be->be_nsuffix[j].bv_val,
|
||||
&dn->bv_val[dnlen-len] ) == 0 )
|
||||
{
|
||||
if ( b2 == NULL ) {
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return b2;
|
||||
return be;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
|||
Loading…
Reference in a new issue