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