It not clear to me whether Howard was referring to a specific LDAP extension, or to the set of LDAP extensions that can be used for some form of "event notification" and/or "content synchronization".
Anyways, while there are many LDAP extensions in this area, slapd(8) supports one primary mechanism for content synchronization, the LDAP Sync Operation. This is described in draft-zeilenga-ldup-sync (in doc/drafts or from the IETF) and is in the queue for publication as an RFC (on Experimental). This extension is intended to be an alternative to the LDAP Client Update Protocol (LCUP) published as RFC 3928 (on the Standards Track). It is believed that LCUP is not supported in any released LDAP client or server. The other mechanisms (e.g., "persistent search", "triggered search", "dirsync", "changelog", "accesslog"*, "auditlog"*) are all vendor specific and/or not (yet) formalized. (* OpenLDAP specific) At present, libldap does not include convenience functions for most (any?) of these extensions... however, convenience functions are certainly not necessary to make use of any of these extensions (with a server that supports them). One can encode and decode the necessary protocol elements using base functions provided in libldap. As slapd(8) does implement the client side of LDAP Sync, it would be nice to extract out its LDAP Sync encoding/decoding functions into libldap convenience functions. But until then, that would be your LDAP sync example code (e.g., slapd/syncrepl.c). Kurt At 06:30 AM 11/4/2005, Jan-Piet Mens wrote: >On Fri Nov 04 2005 at 06:52:03 CET, Howard Chu wrote: > >> The typical directory-friendly way of doing this is to write an LDAP >> client that issues a persistent search for all of the events of >> interest. That client can then feed the data into whatever other >> database you're working with. > >How does one issue a persistent search from the OpenLDAP C API? >A `grep -i persistent man3/*.3' doesn't reveal a lot... > > -JP
