venugopal chinnakotla wrote:
> Hi Team,
> 
> We are working on migration of nsldap C sdk to OpenLDAP C sdk for our 
> application client code.
> 
> We are using OpenLDAP 2.6.7.
> 
> As part of this migration, we are facing one issue related to timeouts, that 
> we set LDAP Handle using ldap_set_option and calling an API ldap_search_ext_s.
> 
> With Mozilla NSLDAP, setting PRLDAP_OPT_IO_MAX_TIMEOUT value to zero in LDAP 
> Handle and making ldap_search_ext_s function call. Also passing timeout value 
> (for
> Ex: 30 seconds) explicitly as one on the argument. This search call is giving 
> an error: "Timeout error."
> 
> 
> With OpenLDAP, setting LDAP_OPT_TIMEOUT value to zero in LDAP Handle and 
> making ldap_search_ext_s function call. Also passing timeout value (Same 
> value: 30
> seconds) explicitly as one of the arguments. This search call is giving a 
> successful result instead of Timeout error.

Works For Me.

#include <ldap.h>
#include <stdio.h>
#include <sys/time.h>

int main() {
        int rc;
        LDAP *ld = NULL;
        struct timeval tv;
        LDAPMessage *res = NULL;

        rc = ldap_initialize( &ld, "ldap://:9011"; );
        tv.tv_sec = 0;
        tv.tv_usec = 1;

        ldap_set_option( ld, LDAP_OPT_TIMEOUT, &tv );
        rc = ldap_search_ext_s( ld, "dc=example,dc=com", 1, "(objectclass=*)", 
NULL,
                0, NULL, NULL, NULL, 0, &res );
        printf( "%s\n", ldap_err2string( rc ));
}


-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to