Net::LDAP::Control::SyncRequest − LDAPv3 Sync Request control object
use Net::LDAP;
use Net::LDAP::Control::SyncRequest;
use Net::LDAP::Constant qw(
LDAP_SYNC_REFRESH_ONLY
LDAP_SYNC_REFRESH_AND_PERSIST
LDAP_SUCCESS );
$ldap = Net::LDAP−>new(
"ldap.mydomain.eg" );
$req = Net::LDAP::Control::SyncRequest−>new( mode
=> LDAP_SYNC_REFRESH_ONLY );
my $mesg = $ldap−>search(base=>
'dc=mydomain,dc='eg',
scope => 'sub',
control => [ $req ],
callback => \&searchCallback, # call for each entry
filter => "(objectClass=*)",
attrs => [ '*']);
sub searchCallback {
my $message = shift;
my $entry = shift;
my @controls = $message−>control;
if
($controls[0]−>isa('Net::LDAP::Control::SyncState'))
{
print "Received Sync State Control\n";
print $entry−>dn()."\n";
print 'State:
'.$controls[0]−>state."\n".', entryUUID:
'.$controls[0]−>entryUUID.', cookie:
'.$controls[0]−>cookie;
} elsif
($controls[0]−>isa('Net::LDAP::Control::SyncDone'))
{
print "Received Sync Done Control\n";
print 'Cookie: '.$controls[0]−>cookie.',
refreshDeletes: '.$controls[0]−>refreshDeletes;
}
}
"Net::LDAP::Control::SyncRequest" provides an interface for the creation and manipulation of objects that represent the "Sync Request Control" as described by RFC 4533.
In addition to
the constructor arguments described in Net::LDAP::Control
the following are provided.
mode
cookie
reloadHint
As with Net::LDAP::Control each constructor argument described above is also available as a method on the object which will return the current value for the attribute if called without an argument, and set a new value for the attribute if called with an argument.
Net::LDAP, Net::LDAP::Control, Net::LDAP::Control::SyncState, Net::LDAP::Control::SyncDone, http://www.ietf.org/rfc/rfc4533.txt
Mathieu Parent <[email protected]>
Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl−[email protected]>
Copyright (c) 2008 Mathieu Parent. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.