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

RE: Crash on recursive rebind following referral (ITS#3359)



If you need timeouts, you shouldn't be using the _s() API.
You should be calling ldap_result() directly as needed with
an appropriate timeout.  Unfornately, to take advantage of
some security services (SASL, TLS), you must use the _s() API
(for LDAP calls associated with those services).

At 11:09 AM 10/11/2004, ipuleston@SonicWALL.com wrote:
>Ah, now I understand what is going on. All the functions that I listed (with
>one exception - see below) pass NULL for the timeout to ldap_result and
>hence do not expect a zero return code. However, my port is an embedded LDAP
>client running under vxWorks, and we cannot have an infinite timeout in
>embedded code (we do not want to lock up the LDAP task) and so I have
>changed ldap_int_select() in my port to use a default timeout if none is
>specified. Hence my port is returning a timeout error to code that is not
>equipped to handle it.
>
>I can change my port to allow for this if you do not want to change the main
>code base. It looks like what I need to do to handle the timeout is as per
>function ldap_search_st() which has code to explicitly handle a timeout
>return from ldap_result().
>
>
>> -----Original Message-----
>> From: Kurt D. Zeilenga [mailto:Kurt@OpenLDAP.org] 
>> 
>> I note, as timeout parameter is specified as NULL here,
>> return of 0 (timeout) should not be possible here.