Fixed libldap dnssrv port format specifier (ITS#6644)
Fixed libldap GnuTLS hang on socket close (ITS#6673)
Fixed libldap sasl partial write handling (ITS#6639)
+ Fixed libldap referral chasing (ITS#6602)
Fixed libldap url parsing with NULL host (ITS#6653)
Fixed liblutil getpass prompts (ITS#6702)
Fixed ldapsearch segfault with deref (ITS#6638)
LDAPConn *lc;
int rc, count, i, j, id;
LDAPreqinfo rinfo;
+ LDAP_NEXTREF_PROC *nextref_proc = ld->ld_nextref_proc ? ld->ld_nextref_proc : ldap_int_nextref;
ld->ld_errno = LDAP_SUCCESS; /* optimistic */
*hadrefp = 0;
refarray = refs;
refs = NULL;
- if ( ld->ld_nextref_proc == NULL ) {
- ld->ld_nextref_proc = ldap_int_nextref;
- }
-
/* parse out & follow referrals */
+ /* NOTE: if nextref_proc == ldap_int_nextref, params is ignored */
i = -1;
- for ( ld->ld_nextref_proc( ld, &refarray, &i, ld->ld_nextref_params );
+ for ( nextref_proc( ld, &refarray, &i, ld->ld_nextref_params );
i != -1;
- ld->ld_nextref_proc( ld, &refarray, &i, ld->ld_nextref_params ) )
+ nextref_proc( ld, &refarray, &i, ld->ld_nextref_params ) )
{
/* Parse the referral URL */