[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: bind fallback

On Aug 28, 2006, at 9:18 AM, Michael B Allen wrote:
On Mon, 28 Aug 2006 17:58:38 +0200 (CEST)
"Pierangelo Masarati" <ando@sys-net.it> wrote:

deprecated), and it's intended to be the opposite of ldap_initialize(3)
(formerly, ldap_init(3), now deprecated). The name might sound
misleading; it comes from draft-ietf-ldapext-ldap-c-api.

Funny the latest draft-ietf-ldapext-ldap-c-api-xxx.txt from webcvs has
no mention of ldap_initialize(3). Is this really portable? Are these
functions ok to use with 2.2?

Yes. The draft is very old and its design is a bit outdated. OpenLDAP
implements the calls in the draft, but most of them are deprecated in 2.3
and may no longer be supported in the future. OpenLDAP provides valid
alternatives to deprecated code. Anything but ldap_initialize() should be
used to initialize a connection, for example. It has been around for a
long time (2.something, possibly 2.0). I don't know about portability
with respect to other implementors (and I don't want to).

So what you're saying is that OpenLDAP will not be following industry accepted standard APIs and may even remove functionality wrt those standard APIs?

I was thinking about this recently when I did a little work on someone else's LDAP bindings for the Haskell programming language. Of course it's convenient in a case like this if the basic API is common to a reasonably broad set of implementations. I take it that when you asked "Is this really portable?", you meant portable between implementations.

At present, of course the portable API is the classic U Mich one,
with ldap_bind_s, ldqp_unbind, etc., and that's what the author
of that foreign function interface had chosen.  A quick look at
the breadth of the deprecations in 2.3 convinced me that he was
right to do so, and we could defer any API switch for a good long
while.  I don't know if there's any official plan for future support
of the old API, but I'm sure they understand that it's going to be
a long time before the world is ready for ldap_sasl_interactive_bind_s
as the only bind function, for example.

	Donn Cave, donn@u.washington.edu