Hi,
I have a subroutine but my entry doesn't seems to appear in the destination
directory. Any idea...
sub add_entry_to_dest_ds
{ my ($filter, $base,$scope,$attrs) = @_;
my $src_result = $src_ldap->search (
base=>"$base",scope=>"$scope",filter=>"$filter",attrs=>@$attrs);
my $attribute_cert_one = 'usercertificate';
my $attribute_cert_two = 'usercertificate;binary';
$logger->debug_message ( "Getting object information on server: $src_ds" );
$logger->debug_message ( "Contacting Directory Server: $src_ds" );
$logger->debug_message ( "Contacting Directory Server: $src_ds returned
message: $tmp" );
$logger->debug_message ( "Performing search with base: $base, scope:
$scope, filter: $filter" );
foreach $entry ($src_result->all_entries())
{ $dest_entry = Net::LDAP::Entry->new;
$dest_entry = $entry->clone;
$logger->debug_message ( "Retrieved entry: '".$dest_entry->dn()."'");
foreach $attributes ($dest_entry->attributes)
{ if (lc($attributes) eq "usercertificate;binary")
{ @cert_bin_values = $dest_entry->get_value($attributes);
foreach $cert_bin_value (@cert_bin_values)
{ $cert_bin_decoded = Crypt::X509->new( cert => $cert_bin_value);
$logger->debug_message ( "Binary cert
version:".$cert_bin_decoded->serial);
}
}
if (lc($attributes) eq "usercertificate")
{ @cert_ascii_values = $dest_entry->get_value($attributes);
foreach $cert_ascii_value (@cert_ascii_values)
{ $cert__ascii_decoded = Crypt::X509->new( cert => $cert_ascii_value);
$logger->debug_message ( "Ascii cert
version:".$cert__ascii_decoded->serial);
}
}
if (($attributes ne $attribute_cert_one) && ($attributes ne
$attribute_cert_two))
{ $logger->debug_message ( "---> Containing attribute:".$attributes);
}
}
#$dest_entry->changetype('add');
$result = $dest_ldap->add($dest_entry);
$dest_entry->update ( $dest_ldap );
$ldif_add->write_entry($dest_entry);
$logger->debug_message ( "Updating entry: '".$dest_entry->dn()."' with
returned message: '".$result->error()."', code: ".$result->code()."'");
}
}
Many thx,
Bhagt Rajaram