Why are my Active Directory users not being found?
I am using Gordano’s ADSIAuth DLL to interface to my Active Directory to retreive user information. Valid users in Active Directory are from time to time unable to access their accounts or receive mail.
The Microsoft implementation of Active Directory (AD) does not appear to be thread safe. This means that AD can only be accessed in serial (with each request being held in a queue until AD can process it). Most server software uses multi-threading to provide high and responsive performance to requests from clients.
There is no protection within AD itself to stop multiple threads using it. This means that any software that is multi-threaded and assumes that AD is multi-threaded will see unusual and erronous results from the AD services.
In version 7B of GMS the ADSIAuth.dll has been re-written to allow for the fact that Microsoft’s Active Directory implementation is not thread safe. This has the result of slowing access to the Active Directory information because each thread must wait for the previous one to complete before it can then query the Active Directory server.
This update will allow all the Active Directory users to be found correctly.
Keywords:AD, ADSI, Active Directory, access, POP, IMAP, Webmail, SMTP