New LDAP C API
hyc at highlandsun.com
Tue Feb 13 23:21:08 GMT 2007
> On Tue, 2007-02-13 at 10:45 -0800, Howard Chu wrote:
>> Andrew Bartlett and I were having a conversation about LDAP APIs and how
>> terrible the current one is, and the fact that the Samba team has
>> implemented their own. On the OpenLDAP Project we've had redesigning the
>> API on our TODO list for a number of years, but there was never enough
>> time/energy to get it done. It seems that perhaps now there may be
>> enough energy, at least, so I've dug up our old list of API flaws and
>> posted it here http://scratchpad.wikia.com/wiki/LDAP_C_API
> I like point 1, 2 and 11 a lot.
> 10 is a good idea, will make life easier for many.
> What do you mean with 6?
This was one of Kurt's points, but I take it to mean "free-threaded"
i.e. the same library should work with or without threads. The calling
app should provide threading/locking callbacks if needed.
>> I've already invited folks from the Fedora Directory Server team to
>> participate in this new design, and I'd like to get input from you folks
>> too. Anybody who's done a significant amount of work with LDAP has
>> probably cursed the API more than a few times. Let's fix it.
> Is there any proposed set of prototypes already somewhere?
No, not yet. I didn't think we had enough input yet, but feel free to
make a start. My inclination is to go with point 2.1 - define a set of
request parameter structures, one for each type of LDAP operation. This
would tend to make all of the LDAP operation functions have a nearly
uniform signature. The only other general guideline is point 4, use
struct bervals instead of simple strings.
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
Chief Architect, OpenLDAP http://www.openldap.org/project/
More information about the samba-technical