[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
redesigning the client API
I've had a number of offline discussions with various
folks regarding the need to redesign/reimplement the
client API. As frequently noted, the current API
(and its implementation) suffer from a number of
problems, including poor error handling, poor handling
of referrals/search continuations, poor handling of
security contexts (especially in the face of referrals/
search continuations), and I/O issues. Also, depending
on how distributed operations are specified, we may also
need to re-encode PDUs into the extension value of an
extended operation. I think a new API is needed (though
hopefully we can borrow some of the existing API's
implementation).
Hence, I am thinking the following general design
might be appropriate to have the following disjoint
APIs:
1) layered I/O (Sockbuf) API
2) LBER encoding/decoding API
3) LDAP encoding/decoding API
4) LDAP utility API
4) LDAP session API
(A LDAP session involves one LDAP connection to
a particular server.)
5) Directory session API
(A Directory session involves possible multiple
LDAP connections to various servers which are
subject to some shared security policy statement.)
I note that it would be possible to utilize a 3rd party
layered I/O system, or a 3rd party DER-encoder/BER-decoder.
Of course, the devil is in the details.
Comments?
Kurt