[Date Prev][Date Next] [Chronological] [Thread] [Top]

ldap rebind proc problem



I'm trying to get my code to rebind appropriately when it's
automatically chasing referrals, but I'm running into a strange
problem.

I bind to server A, which returns me a referral to server B.

My rebind proc is called, which tries to bind to server B. That
succeeds, and (accoring to Wireshark) I get a couple referrals.
(DomainDnsZones, ForestDnsZones, and server C).

Then my rebind proc is called to bind to server C, but then
recursively it is called (on the same thread, says pthread_self) to
bind to DomainDnsZones, and
then recursively again it is called to bind to ForestDnsZones, which
is where my code hangs for at least 5 minutes before I kill it.
My rebind proc is calling ldap_sasl_bind_s, which seems to be what is
then re-calling my rebind proc in each case.

The problem is that my code hangs in one of the ldap_sasl_bind_s
calls, and never returns, but Wireshark shows that it successfully
binds to all thee of the referred servers.

I'm using openldap-2.3.24.

My questions are:
- Is my rebind proc correct? It seems that calling ldap_sasl_bind_s is
correct and allowed.
- Was there a bug that has been fixed since 2.3.24 in direct regard to
rebinding?
- Any tips or hints on what could be hanging up the code?

Thanks,
 - Jeremiah