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

Reply via email to