python-ldap as replication client

Michael Ströder michael at stroeder.com
Fri Mar 11 19:24:54 CET 2011


Eric Brunson wrote:
> On 03/11/2011 11:00 AM, Michael Ströder wrote:
>> Eric Brunson wrote:
>>> On 03/11/2011 05:40 AM, Michael Ströder wrote:
>>>> No matter which sync protocol you implement it's very likely that
>>>> you need
>>>> python-LDAP from CVS HEAD (will be python 2.4) since this version
>>>> contains
>>>> code to extract response controls from intermediate responses.
>>> I'm currently working on a project that requires me to do a syncrepl
>>> from python and after much, much reading I'm afraid that the python-ldap
>>> library does not implement 4533 correctly.
>>>
>>> Sync cookies are only retrieved by python-ldap if they are returned in a
>>> server control, however this is only the case in an
>>> LDAP_RES_SEARCH_RESULT or an LDAP_RES_SEARCH_ENTRY packets.  The
>>> protocol passes both deletes and presence records in
>>> LDAP_RES_INTERMEDIATE packets, which don't get returned to the python
>>> caller as they don't have LDAP entries in them, and cookies are also
>>> returned in these intermediate result packets, but not in a server
>>> control, so those are missed.
>> The patches in CVS HEAD were contributed by Rich exactly to make syncrepl
>> possible with python-ldap. If you think the current implementation in
>> CVS HEAD
>> still has deficiencies regarding controls in intermediate responses I
>> happily
>> will review a patch. ;-)
> 
> Wow, Michael, that is super awesome news.  I'll check the CVS head, try
> it out and get back to you.

Make sure to set the right arguments for LDAPObject.result4().

Ciao, Michael.


More information about the python-ldap mailing list