On Tue, 7 Aug 2012, Max Kunz wrote: ...
Here is what the program actually do: //initialize returns success result = ldap_initialize( &ld, host); result = ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, LDAP_VERSION3);
That "actually" what it does? I'm surprised it doesn't segfault immediately there, given that ldap_set_option() deferences the last argument as pointer. What's the value of 'result' after that?
(If the code is different from what you showed, then "actually" was a lie.)
//set this option only after successful bind? result = ldap_set_option(ld, LDAP_OPT_X_TLS_REQUIRE_CERT, LDAP_OPT_X_TLS_NEVER);
Same problem here.
My conclusion is that the problem is in the real code that you didn't show.
Philip Guenther