[python-ldap] LDAP Sync (RFC 4533) support

Chris Mikkelson cmikk at qwest.net
Thu Jul 28 17:29:16 CEST 2011


On Thu, Jul 28, 2011 at 09:01:55AM +0200, Michael Str?der wrote:
> Chris Mikkelson wrote:
> > replication client. It also requires the patch to
> > Modules/message.c Michael just committed.
> 
> I have to review that again. Maybe the 3-tuple vs. 4-tuple thing should be
> fixed in LDAPObject.result4(). I will do that during the day...

I think the C fix is the right one. The field removed
from the decoded response data is a duplicate of information
in the overall response. That is, before the C code change,
the structure of an intermediate response was:

	[ 121, [ (121, oid, value, controls) ], ...]

and after it is:

	[ 121, [ (oid, value, controls) ], ...]

a search response was (and still is):

	[ 100, [ (dn, attrs, controls) ], ... ]

> > Since the sync replication protocol is moderately
> > complicated, the primary API exposed by this module is a
> > base class which inherits from LDAPObject
> 
> How about implementing it as a mix-in class like ldap.resiter.ResultProcessor?
> Then one can use it together with ReconnectLDAPObject or any other class
> derived from LDAPObject.
> 
> http://www.python-ldap.org/doc/html/ldap-resiter.html
> 
> If you don't mind I will change your patch. Especially it would be nice if one
> could use ldap.resiter.ResultProcessor (result processing generator class)
> together with syncrepl.

I don't mind at all, go ahead.

-- 
Chris Mikkelson  | For example, I could be a sentient PERL script.  That
cmikk at qwest.net  | pretty much assumes that someone brilliant enough to
                 | write me was also stupid enough to program in PERL.
                 | Not a likely explanation.  -- Terry Lambert


More information about the python-ldap mailing list