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]