Hi,
On Friday, 4. August 2006 14:04, B.P.S. Rajaram wrote:
> 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 );
You do not need both methods of writing here:
Either do it using Net::LDAP->add() or using Net::LDAP::Entry->update().
What does $result->code() say ?
>
> $ldif_add->write_entry($dest_entry);
> $logger->debug_message ( "Updating entry: '".$dest_entry->dn()."' with
> returned message: '".$result->error()."', code: ".$result->code()."'"); }
> }
What do the destination server logs say ?
Regards
Peter
--
Peter Marschall
[EMAIL PROTECTED]