mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
ITS#6909 blind fix. re-init creds for retry.
Move retry so that cred validity is also re-checked.
This commit is contained in:
parent
81687b321c
commit
45ce60c094
@ -235,6 +235,10 @@ meta_search_dobind_init(
|
||||
|
||||
assert( msc->msc_ld != NULL );
|
||||
|
||||
/* connect must be async only the first time... */
|
||||
ldap_set_option( msc->msc_ld, LDAP_OPT_CONNECT_ASYNC, LDAP_OPT_ON );
|
||||
|
||||
retry:;
|
||||
if ( !BER_BVISEMPTY( &binddn ) && BER_BVISEMPTY( &cred ) ) {
|
||||
/* bind anonymously? */
|
||||
Debug( LDAP_DEBUG_ANY, "%s meta_search_dobind_init[%d] mc=%p: "
|
||||
@ -250,10 +254,6 @@ meta_search_dobind_init(
|
||||
goto other;
|
||||
}
|
||||
|
||||
/* connect must be async only the first time... */
|
||||
ldap_set_option( msc->msc_ld, LDAP_OPT_CONNECT_ASYNC, LDAP_OPT_ON );
|
||||
|
||||
retry:;
|
||||
rc = ldap_sasl_bind( msc->msc_ld, binddn.bv_val, LDAP_SASL_SIMPLE, &cred,
|
||||
NULL, NULL, &candidates[ candidate ].sr_msgid );
|
||||
|
||||
@ -327,6 +327,8 @@ down:;
|
||||
|
||||
if ( rc == LDAP_SUCCESS ) {
|
||||
candidates[ candidate ].sr_msgid = META_MSGID_IGNORE;
|
||||
binddn = msc->msc_bound_ndn;
|
||||
cred = msc->msc_cred;
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user