Net::LDAP::Control::EntryChange â LDAPv3 Entry Change Notification control object
| Use Case | Command | Description |
|---|---|---|
| Create a PersistentSearch control | use Net::LDAP::Control::PersistentSearch; $persist = Net::LDAP::Control::PersistentSearch->new( changeTypes => 15, changesOnly => 1, returnECs => 1 ); | Set up a persistent search to monitor changes |
| Attach control to search | $srch = $ldap->search( control => [ $persist ] ); | Include the PersistentSearch control in an LDAP search |
| Retrieve EntryChange control from response | my ($control) = $message->control(LDAP_CONTROL_ENTRYCHANGE); | Get the EntryChange control from each search result entry |
| Get change type | $control->changeType() | Returns integer (1=add,2=delete,4=modify,8=modDN) |
| Get previous DN | $control->previousDN() | Returns DN before modDN operation |
| Get change number | $control->changeNumber() | Returns change number if server supports changelog |
use Net::LDAP;
use Net::LDAP::Control::PersistentSearch;
use Net::LDAP::Constant qw(LDAP_CONTROL_ENTRYCHANGE);
$ldap = Net::LDAP->new( "ldap.mydomain.eg" );
$persist = Net::LDAP::Control::PersistentSearch->new( changeTypes => 15,
changesOnly => 1,
returnECs => 1 );
$srch = $ldap->search( base => "cn=People,dc=mydomain,dc=eg",
filter => "(objectClass=person)",
callback => \&process_entry, # call for each entry
control => [ $persist ] );
die "error: ",$srch->code(),": ",$srch->error() if ($srch->code());
sub process_entry {
my $message = shift;
my $entry = shift;
my ($control) = $message->control(LDAP_CONTROL_ENTRYCHANGE);
print $control->changeType()."\t".$entry->dn()."\n";
}
Net::LDAP::Control::EntryChange provides an interface for the creation and manipulation of objects that represent the "EntryChangeNotification" control as described by draft-smith-psearch-ldap-03.txt.
In addition to the constructor arguments described in Net::LDAP::Control the following are provided.
Usually you do not need to create a Net::LDAP::Control::EntryChange control yourself because it is provided by the server in response to an option with the Net::LDAP::Control::PersistentSearch control.
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.
Peter Marschall <peter AT adpm.de>, based on Net::LDAP::Control::Page from Graham Barr <gbarr AT pobox.com> and the preparatory work of Don Miller <donm AT uidaho.edu>.
Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap AT perl.org>.
Copyright (c) 2004 Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-31 00:09 @216.73.217.152
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format