X-Git-Url: https://git.donarmstrong.com/?p=bin.git;a=blobdiff_plain;f=checksigs;h=87d37d5c05469b166097f9354ef0f56b5b0acbf9;hp=bab4c208319ee3eb495626db0c8645faead52234;hb=4621d23526ccf936d1ad076ece0bc663510dfc52;hpb=740f661636d21f1b4c21a5a7d88646d4c90f4019 diff --git a/checksigs b/checksigs index bab4c20..87d37d5 100755 --- a/checksigs +++ b/checksigs @@ -20,26 +20,32 @@ my @keys_to_check = @ARGV; my %got_uid_already; -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]'); - next if exists $got_uid_already{$user_id}; - qx($config->{gpg_command} --recv-keys $full_key_id 2>/dev/null); - $got_uid_already{$user_id} = 1; - print "Retreveved key: 0x".(substr $full_key_id, -8)."\n"; - } +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: