On Mon, 28 Jan 2008, Kenneth Rogers wrote:
The man page for ldap_search_ext doesn't specify how the timeout value is used. There are external sources that say it defines a timeout both for the client and the server. Is that accurate?
No. ldap_search_ext() only sends a query without waiting for the response. The seconds component of its timeout argument is passed to the server as the 'timeLimit' value (c.f. RFC 4511, section 4.5.1). So, its timeout is only for the server.
Those 'external sources' were probably intending to describe ldap_search_ext_s(), for which the 'timeout' argument is used both for the 'timeLimit' sent to the server and as a timeout on the individual client network read operations.
(NOTE: the timeout to ldap_result() and most (all?) the ldap_*_s() calls is *NOT* a timeout on the full operation but rather on the individual recv() operations!)
Philip Guenther