New LDAP C API

Howard Chu hyc at highlandsun.com
Tue Feb 13 23:21:08 GMT 2007


simo wrote:
> 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 mailing list