[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