Volker Lendecke wrote:
Hi!
What's the status of those two? They are mentioned in the manpages of for example Debian Jessie and FreeBSD 11 (maybe from ports?), but the manpage explicitly says you have to #include <ldap_pvt.h>, which is not shipped.
What's the reason of them being in ldap_pvt.h? Are they supposed to change in the future? The function is now more than 10 years old, without too much change in that decade.
Generally, <ldap.h> was only supposed to export the "official" LDAP API and anything that was specific to OpenLDAP's implementation was stashed in <ldap_pvt.h> as non-standard features. I suppose the distinction is somewhat meaningless these days since the last LDAP API RFC was only valid for LDAPv2 and a version for LDAPv3 was never approved. At this point, OpenLDAP's API is the de facto standard. As clumsy as it may be...
Not being able to fully asynchronously connect to a server was my main reason to start my own little ldap library a few years ago, so I think this can be useful code :-)
Talk to your distro folks about shipping the files then. The Project's policy is that we do source releases exclusively, and everything contained in a source release is intended for end-users to read and use. That is, again, the point of open source. It would also help if end-users read the scripts in the test suite and used them as examples of how to setup various configurations.
Thanks, Volker
On Mon, May 08, 2017 at 11:57:28AM +0100, Howard Chu wrote:
Generally, <ldap.h> was only supposed to export the "official" LDAP API and anything that was specific to OpenLDAP's implementation was stashed in <ldap_pvt.h> as non-standard features. I suppose the distinction is somewhat meaningless these days since the last LDAP API RFC was only valid for LDAPv2 and a version for LDAPv3 was never approved. At this point, OpenLDAP's API is the de facto standard. As clumsy as it may be...
So I'm getting from this that ldap_pvt.h should be installed and that you don't plan to change this arbitrarily. "pvt" to me meant "private". For Samba, if we have a "private" API, we take the liberty to change this without real notice.
Thanks,
Volker
Hi,
On 08.05.2017 15:10, Volker Lendecke wrote:
On Mon, May 08, 2017 at 11:57:28AM +0100, Howard Chu wrote:
Generally, <ldap.h> was only supposed to export the "official" LDAP API and anything that was specific to OpenLDAP's implementation was stashed in <ldap_pvt.h> as non-standard features. I suppose the distinction is somewhat meaningless these days since the last LDAP API RFC was only valid for LDAPv2 and a version for LDAPv3 was never approved. At this point, OpenLDAP's API is the de facto standard. As clumsy as it may be...
So I'm getting from this that ldap_pvt.h should be installed and that you don't plan to change this arbitrarily. "pvt" to me meant "private". For Samba, if we have a "private" API, we take the liberty to change this without real notice.
Was there any conclusive decision? May be the attached patch could help to get things moving?
We'd like to use ldap_init_fd() in Samba and if it is OK to use it, may be moving it to <ldap.h> is a good solution?
On ma, 05 kesä 2017, Alexander Bokovoy wrote:
Hi,
On 08.05.2017 15:10, Volker Lendecke wrote:
On Mon, May 08, 2017 at 11:57:28AM +0100, Howard Chu wrote:
Generally, <ldap.h> was only supposed to export the "official" LDAP API and anything that was specific to OpenLDAP's implementation was stashed in <ldap_pvt.h> as non-standard features. I suppose the distinction is somewhat meaningless these days since the last LDAP API RFC was only valid for LDAPv2 and a version for LDAPv3 was never approved. At this point, OpenLDAP's API is the de facto standard. As clumsy as it may be...
So I'm getting from this that ldap_pvt.h should be installed and that you don't plan to change this arbitrarily. "pvt" to me meant "private". For Samba, if we have a "private" API, we take the liberty to change this without real notice.
Was there any conclusive decision? May be the attached patch could help to get things moving?
We'd like to use ldap_init_fd() in Samba and if it is OK to use it, may be moving it to <ldap.h> is a good solution?
A small update -- get back to use 'struct ldap **ldp' in ldap_pvt.h header instead of 'LDAP **ldp' as that one is not defined in the private header. Also re-format ldap_init_fd() definition in ldap.h to follow the rest of the header.