mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
ITS#2764, #2781 revert backend.c patch, just catch the NULL referral
case in extended_op
This commit is contained in:
parent
d8bafebf16
commit
7fd21ada07
@ -353,26 +353,6 @@ int backend_startup(Backend *be)
|
||||
|
||||
/* open each backend database */
|
||||
for( i = 0; i < nBackendDB; i++ ) {
|
||||
#ifndef SLAPD_MULTIMASTER
|
||||
if ( backendDB[i].be_update_ndn.bv_val && (
|
||||
!backendDB[i].be_update_refs &&
|
||||
LDAP_STAILQ_EMPTY( &backendDB[i].be_syncinfo ) &&
|
||||
!default_referral ) )
|
||||
{
|
||||
#ifdef NEW_LOGGING
|
||||
LDAP_LOG( BACKEND, CRIT,
|
||||
"backend_startup: slave \"%s\" updateref missing\n",
|
||||
backendDB[i].be_suffix[0].bv_val, 0, 0 );
|
||||
|
||||
#else
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"backend_startup: slave \"%s\" updateref missing\n",
|
||||
backendDB[i].be_suffix[0].bv_val, 0, 0 );
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* append global access controls */
|
||||
acl_append( &backendDB[i].be_acl, global_acl );
|
||||
|
||||
|
@ -314,6 +314,11 @@ done2:;
|
||||
if ( rs->sr_err == LDAP_REFERRAL && rs->sr_ref == NULL ) {
|
||||
rs->sr_ref = referral_rewrite( default_referral,
|
||||
NULL, NULL, LDAP_SCOPE_DEFAULT );
|
||||
if ( !rs->sr_ref ) rs->sr_ref = default_referral;
|
||||
if ( !rs->sr_ref ) {
|
||||
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
|
||||
rs->sr_text = "referral missing";
|
||||
}
|
||||
}
|
||||
|
||||
send_ldap_extended( op, rs );
|
||||
|
Loading…
Reference in New Issue
Block a user