Lasa Martxel wrote:
Hello Howard,
I have tried that, but without success.
I have had a look at the tls implementation, and once the tls context is created and initialized, it is only destroyed when the reference count to the context is 0, which happens when the context is destroyed.
From what I've seen, the context is destroyed when the program exits (atexit callback).
The tls context contains the client certificates among other things, so I can't reinitialize it with the new ones for the second instance.
I may be missing something.
Yes. Read the ldap_set_option(3) manpage more carefully. Use LDAP_OPT_X_TLS_NEWCTX.
Thanks!
*De:* Howard Chu hyc@symas.com *Enviado:* jueves, 2 de abril de 2020 12:31 *Para:* Lasa Martxel mlasa@ikerlan.es; openldap-technical@openldap.org openldap-technical@openldap.org *Asunto:* Re: Multiple OpenLDAP client instances with the c library Lasa Martxel wrote:
Hello,
I'm using the openldap c client library (2.4.45).
I would like to somehow have two client instances (not necessarily simultaneously) within the same application, but I'm having issues with the second instance I create.
I have not found a way to clear the global options so the new ones (different ca cerficiate, different client certificate) can be used with the second instance. With the second ldap_initialize, global options are already initialized. Same with the TLS context, it's initialized too.
So just use ldap_set_option on the second LDAP* handle and change the options.
-- -- Howard Chu CTO, Symas Corp. https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.symas.c... Director, Highland Sun https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhighlandsun... Chief Architect, OpenLDAP https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.openlda...