I actually wrote C ++, a wrapper for the OpenLDAP C API for my daily work, and it was not a very pleasant experience.
I did not find a suitable C ++ shell for my purposes (this was in 2006, so everything has changed since then). I ended up interacting directly with the C api, which was horrible, but it had some oddities. Assuming you are on the C / OpenLDAP route, I can offer you a couple of tips.
Something that I found a bit strange, the C API is defined in RFC1823 , which means that almost every library has the same API.
In the case of OpenLDAP, however, many of the RFC1823 API calls are outdated, especially around authentication parts. Depending on who distributed your OpenLDAP library and which version it will determine if these legacy features have been disabled.
The main changes to avoid obsolete APIs are switching from ldap_init() and ldap_open() to ldap_initialize() and using ldap_sasl_bind() (which confuses all auth types)
source share