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

Re: wldap32 implemented on top of OpenLDAP libraries

Hans Leidekker wrote:
On Tuesday 20 September 2005 01:24, Howard Chu wrote:
That's pretty interesting news, thanks for sharing it. I would guess you
could even gain some measure of thread-safety (using libldap_r) which
native wldap32 lacks. Probably a moot point, since Windows apps would be
written to assume a non-threadsafe library.

I'm not sure why you say that native wldap32 lacks thread-safety, MSDN
certainly claims these calls are thread-safe. Do you have evidence to
the contrary? Maybe this has changed in the mean time?

Ah you're right, I was thinking of ADSI e.g. http://groups.google.com/group/microsoft.public.adsi.general/msg/c1236f7f7d74dd3a?dmode=source

Whatever the case may be, yes, having libldap_r is helpful in providing
thread-safety, otherwise I probably would have had to do that myself ;-).

And because Wine requires thread support on the Unix platform it runs on I
suspect that there's a great overlap with the platforms where libldap_r is available.

Still, we don't support some apps out there (very old apps probably, don't
know about any) that access the LDAP context structure directly, instead
of using ldap_{get,set}_option(). Not because of thread-safety issues,
but because we don't use a Windows compatible context structure, we simply
pass on pointers to OpenLDAP context structures.
That's fair; in the LDAPv3 API the context structures are opaque anyway, and only get/set_option are supported.

So do you also include the OpenLDAP DLLs on their own (e.g. libldap_r.dll) and provide wldap32.dll just as a wrapper? Can end-users supply a set of OpenLDAP DLLs of their own without needing to rebuild wldap32.dll?

 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/