]> git.donarmstrong.com Git - bin.git/blobdiff - checksigs
add reset usb bus command
[bin.git] / checksigs
index c45b8d26313e1f307fcdc716420abf704d3ee12a..87d37d5c05469b166097f9354ef0f56b5b0acbf9 100755 (executable)
--- a/checksigs
+++ b/checksigs
@@ -19,24 +19,33 @@ $config->{gpg_command} = qq($config->{gpg});
 my @keys_to_check = @ARGV;
 
 
-sub _get_unknown_keys($$){
-     my ($config,$key_id) = @_;
-
-     my $uid_listing = qx($config->{gpg_command} --with-colons --list-sigs $key_id 2>/dev/null);
-     foreach my $key_record (split(/\n/,$uid_listing)) {
-         next unless $key_record =~ /\:/;
-         my ($record_type,$calculated_trust,$key_length,$algorithm,
-             $full_key_id,$creation_date,$expiration_date,$serial_no,
-             $owner_trust,$user_id,$signature_class,$key_capabilities,
-             $smime_fingerprint,$flag_field,
-            ) = split(/\:/,$key_record);
-         next unless defined $user_id and lc($user_id) eq lc('[User ID not found]');
-         qx($config->{gpg_command} --recv-keys $full_key_id 2>/dev/null);
-         print "Retreveved key: 0x".(substr $full_key_id, -8)."\n";
-     }
+my %got_uid_already;
+sub _get_unknown_keys {
+    my ($config,$key_id) = @_;
+
+    my @keys_to_get;
+    my $uid_listing = qx($config->{gpg_command} --with-colons --list-sigs $key_id 2>/dev/null);
+    foreach my $key_record (split(/\n/,$uid_listing)) {
+        next unless $key_record =~ /\:/;
+        my ($record_type,$calculated_trust,$key_length,$algorithm,
+            $full_key_id,$creation_date,$expiration_date,$serial_no,
+            $owner_trust,$user_id,$signature_class,$key_capabilities,
+            $smime_fingerprint,$flag_field,
+           ) = split(/\:/,$key_record);
+        next unless defined $user_id and lc($user_id) eq lc('[User ID not found]');
+        next if exists $got_uid_already{$full_key_id};
+        $got_uid_already{$full_key_id} = 1;
+        push @keys_to_get,$full_key_id;
+    }
+    system($config->{gpg_command},'--recv-keys',@keys_to_get);
 }
 
 foreach my $key_id (@keys_to_check) {
      _get_unknown_keys($config,$key_id);
-     print qx($config->{gpg_command} --check-sigs $key_id);
+     system($config->{gpg_command},'--check-sigs',$key_id);
 }
+__END__
+# Local Variables:
+# indent-tabs-mode: nil
+# cperl-indent-level: 4
+# End: