On Tue, Jun 17, 2008 at 5:16 PM, Graham Barr <gbarr@pobox.com> wrote:
> On Jun 14, 2008, at 2:01 PM, Mathieu PARENT wrote:
>>
>> Hi,
>>
>> I have implemented LDAP Content Synchronization Operation (rfc4533) in
>> perl-ldap (See the attached patch). This is used by the OpenLDAP
>> server and provide features similar to Persistent Searches in a more
>> consistent way.
>>
>> This is my first try in this code, any feedback is welcome.
>
> It looks good. However the makefile is generated so we do not need a patch
> for that. And you should add your new files to the MANIFEST file.
Thanks. I've corrected this.
>> I don't know how to handle the Sync Info Message which is an LDAP
>> Intermediate Response Message (see 2.5 in RFC). perl-ldap doesn't
>> seems to support intermediate responses in response to LDAP::Search.
>> What is the way to correct this ?
>
> I have not read the RFC, but I assume this does not signal the end of the
> search
> operation, so the callback should be called.
Yes
> What is the content of the
> Intermediate Response Message ? There should probably be a class added to
> represent
> this message and that gets passed to the callback in the same way we do for
> entries and references.
I've added a Net::LDAP::Intermediate class (inspired by
net::LDAP::Control) with the ability to expand (for example
Net::LDAP::Intermediate::SyncInfo), see attached patch (work in
progress). This class is used from Net::LDAP::Search->decode().
The problem is that Convert::ASN1 doesn't understand this quite
complex BER script :
syncInfoValue ::= CHOICE {
newcookie [0] syncCookie,
refreshDelete [1] SEQUENCE {
refreshDeleteCookie syncCookie OPTIONAL,
refreshDeleteDone BOOLEAN -- DEFAULT TRUE
}
refreshPresent [2] SEQUENCE {
refreshDeletecookie syncCookie OPTIONAL,
refreshDeleteDone BOOLEAN -- DEFAULT TRUE
}
syncIdSet [3] SEQUENCE {
cookie syncCookie OPTIONAL,
refreshDeletes BOOLEAN, -- DEFAULT FALSE
syncUUIDs SET OF syncUUID
}
}
with the attached "out" (which is working with enber/unber). Any idea
of where the problem comes from?
>
> Before I add this, I want to make the switch to Git from SVN. This will
> allow
> me to give better attribution to those who make contributions and also for
> people
> to contribute using git's mail patch mechanism which makes things easier.
I'll use git soon.
> I have converted the current SVN repository which you can find here
>
> http://git.goingon.net/gitweb?p=perl-ldap.git;a=summary
>
> Graham.
>
>
Mathieu Parent
Thread Previous