https://bugs.openldap.org/show_bug.cgi?id=9739
--- Comment #2 from Ondřej Kuzník ondra@mistotebe.net --- We have a number of public symbols that are present depending on whether a macro is set, there seem to be three main types to consider: 1. those that depend on what we (don't) build with - tls seems to be fine and sasl probably too, so long as noone inspects _pvt.h headers. But our own tools do just that 2. LDAP_CONNECTIONLESS which is set at build time by us (and potentially LDAP_DEPRECATED if we decide to remove them) 3. features (ppolicy, paged results, ...) which we should expose once (updating our library version) and never hide again
3. is easy to manage, 1. we should be able to pull off since we're also in good place for that. We have broken ABI from our historical libldap.so.2 by removing some of the LDAP_CONNECTIONLESS symbols (ldap_is_ldapc_url is gone) and we might need to expose them again or bump our ABI to libldap/liblber.so.3.