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

Re: using the perl backend



Am Donnerstag, den 28.01.2010, 21:00 +1000 schrieb Brett @Google:
> On Thu, Jan 28, 2010 at 5:31 AM, Dieter Kluenter <dieter@dkluenter.de>
> wrote:
>         
>         > The 2.4.x series seems to require a perl backend to require
>         knowledge of syncrepl, even if it's pushing
>         > to a perl backend on another server via a "standalone ldap
>         proxy".
>         
>         
>         You don't need a perl-backend, just create a ldapclient with
>         Net::LDAP::Control::SyncRequest.
>         Unfortunately RefreshAndPersist doesn't do what ist should do,
>         so only
>         RefreshOnly will work.
>         
> 
> Hmm.. so how do you set the rid in this case ? 
> 
> If the inial value of the cookie is "" when creating
> Net::LDAP::Control::SyncRequest then the server must create the actual
> cookie value?
> 
> Also if using this approach, i presume the server will need to create
> a contextCSN, how does the perl client tell the ldap server the rid to
> use in the contextCSN ?
> 
> I can't see any mention of anything like a rid parameter on the perl
> client side.

The cookie contains rid and contextcsn

my $cookie = 'rid=123,csn=20100111155236.576336Z#000000#000#000000';

my $req = Net::LDAP::Control::SyncRequest->new(
                 mode => LDAP_SYNC_REFRESH_ONLY,
                 critical => 'TRUE',
                 cookie => "$cookie" );

my $mesg = $ldap->search(
                 base => "$base",
                 scope => "$scope",
                 control => [ $req ],
                 callback => \&searchCallback,
                 filter => "$filter",
                 attrs => ["$attrs[0]","$attrs[1]" ]
                );

-Dieter

-- 
Dieter Klünter | Systemberatung
http://www.dpunkt.de/buecher/2104.html
sip: +49.180.1555.7770535
GPG Key ID:8EF7B6C6
53°08'09,95"N
10°08'02,42"E