ITS#2764, #2781 revert backend.c patch, just catch the NULL referral

case in extended_op
This commit is contained in:
Howard Chu 2003-12-02 03:01:49 +00:00
parent d8bafebf16
commit 7fd21ada07
2 changed files with 5 additions and 20 deletions

View File

@ -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 );

View File

@ -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 );