> -----Original Message-----
> From: [email protected] [mailto:[email protected]] 
> Sent: Friday, September 11, 2009 8:03 PM
> To: Xu, Qiang (FXSGSC)
> Cc: [email protected]
> Subject: Re: timeout on ldap_simple_bind_s()
> 
> 
> if you are using NSPR there you should try setting [before init calls]
> 
> prldap_set_session_option( NULL, NULL, PRLDAP_OPT_IO_MAX_TIMEOUT, 5000 /* 5s 
> */);
> 
> and see if that helps to get it to timeout in about 5 seconds.

Gosh, it works!
===============================================
<distribution> (Sat Sep 12 2009 14:34:32.667) 
<p578,t813147760,aba_ldap_interface.c,1396>
     INFO>> Secure Login
<distribution> (Sat Sep 12 2009 14:34:32.667) 
<p578,t813147760,aba_ldap_interface.c,5886>
     INFO>> debug ldap_simple_bind_ext_s timeout = 10
<distribution> (Sat Sep 12 2009 14:34:32.667) 
<p578,t813147760,aba_ldap_interface.c,5890>
     INFO>> debug ldap_simple_bind_ext_s --1
<distribution> (Sat Sep 12 2009 14:34:37.665) 
<p578,t813147760,aba_ldap_interface.c,1407>
     INFO>> ldap_simple_bind_ext_s return 91
<distribution> (Sat Sep 12 2009 14:34:37.665) 
<p578,t813147760,aba_ldap_interface.c,1412>
     INFO>> LDAP BIND: Value of ldapStatus 91
<distribution> (Sat Sep 12 2009 14:34:37.665) 
<p578,t813147760,aba_ldap_interface.c,1481>
    ERROR>> LDAP BIND: Value of ldap failure status and text 91 Can't connect 
to the LDAP server
===============================================
You can notice the time interval is around 5 seconds (14:34:37.665 - 
14:34:32.667). That's exactly what I want. :-)
 
> otherwise the stack trace is useless, i cant tell anything from it.

Still, I am curious about on when the following code will take effect: 
===============================================
static int ldap_simple_bind_ext_s( LDAP *ld, const char *dn, const char 
*passwd, struct timeval *timeout ) 
{
        int             msgid;
        LDAPMessage     *result;

            LOGINFO("debug ldap_simple_bind_ext_s timeout = %d ", 
timeout->tv_sec );

        if ( ld == NULL ) {
                return( LDAP_PARAM_ERROR );
        }

            LOGINFO("debug ldap_simple_bind_ext_s --1" );

        if ( (msgid = ldap_simple_bind( ld, dn, passwd )) == -1 )
                return( ldap_get_lderrno( ld, NULL, NULL ) );

            LOGINFO("debug ldap_simple_bind_ext_s --2 ");

        if ( ldap_result( ld, msgid, 1, timeout, &result ) == -1 )
                return( ldap_get_lderrno( ld, NULL, NULL ) );

            LOGINFO("debug ldap_simple_bind_ext_s --3" );

        return( ldap_result2error( ld, result, 1 ) );
}
===============================================
It just seems to me that the behavior of ldap_simple_bind() is almost identical 
to the behavior of ldap_simple_bind_s(). It shouldn't be, right? Could you 
hightlight more on this issue, Anton?

Thanks a lot for your help,
Xu Qiang
_______________________________________________
dev-tech-ldap mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-ldap

Reply via email to