Have you run this nsldap code in production?
Yes, it's been running on production machines since january 9 2002.
Is it thread-safe, robust, production-quality?
It is thread safe, robust and production-quality. The only weird thing is that it uses pools (like the db module) and thus it can't bind dynamically as a specific user. This could be a problem if people want to use ldap binding as an authentication method (as opposed to using a priviledged account on the LDAP and checking the users's password).
I have some ideas for implementing the ldap bind call as a user api, but haven't had time to implement it. If there's interest I could probably do it in a couple of days (but I can't start working on it for at least a couple of weeks since I'm in the process of relocating)...
Regards,
-Oscar