Hi All,

 

Recently, I tried to write a ldap client to do ldap search asynchronously, but failed to perform search operation after a successful async sasl (digest-md5) bind.

I’ve tried some code, but only succeeded in searching in synchronized sasl bind.

 

I compared the captured sync and async packets:

In sync bind, the search packets were encrypted.

In async bind, after sasl (digest-md5) binding to ldap server asynchronously (by calling ldap_sasl_interactive_bind() twice), ldap_search_ext() was called. But the search packet was in plain text. Then the ldap server reset the connection or just didn’t response (in the case of MSAD).

 

Did I use the ldap API incorrectly? Or async sasl bind doesn’t support search operation?

Any suggestion will be appreciated and sorry for my poor English.