]> git.donarmstrong.com Git - bin.git/blob - checksigs
add reset usb bus command
[bin.git] / checksigs
1 #! /usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use IO::Dir;
7
8 use Getopt::Long;
9
10 my $config = {gpg         => 'gpg',
11              };
12
13 ($config->{program_name}) = $0 =~/([^\/]+)\s*$/;
14
15 GetOptions($config,'gpg=s',);
16
17 $config->{gpg_command} = qq($config->{gpg});
18
19 my @keys_to_check = @ARGV;
20
21
22 my %got_uid_already;
23 sub _get_unknown_keys {
24     my ($config,$key_id) = @_;
25
26     my @keys_to_get;
27     my $uid_listing = qx($config->{gpg_command} --with-colons --list-sigs $key_id 2>/dev/null);
28     foreach my $key_record (split(/\n/,$uid_listing)) {
29         next unless $key_record =~ /\:/;
30         my ($record_type,$calculated_trust,$key_length,$algorithm,
31             $full_key_id,$creation_date,$expiration_date,$serial_no,
32             $owner_trust,$user_id,$signature_class,$key_capabilities,
33             $smime_fingerprint,$flag_field,
34            ) = split(/\:/,$key_record);
35         next unless defined $user_id and lc($user_id) eq lc('[User ID not found]');
36         next if exists $got_uid_already{$full_key_id};
37         $got_uid_already{$full_key_id} = 1;
38         push @keys_to_get,$full_key_id;
39     }
40     system($config->{gpg_command},'--recv-keys',@keys_to_get);
41 }
42
43 foreach my $key_id (@keys_to_check) {
44      _get_unknown_keys($config,$key_id);
45      system($config->{gpg_command},'--check-sigs',$key_id);
46 }
47 __END__
48 # Local Variables:
49 # indent-tabs-mode: nil
50 # cperl-indent-level: 4
51 # End: