From b1f14111c35dea7a65f236aaffa1951488930396 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Mon, 17 Jul 2017 13:50:17 -0700 Subject: [PATCH] use system and do all keys at once --- checksigs | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/checksigs b/checksigs index 528d4b4..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{$full_key_id}; - qx($config->{gpg_command} --recv-keys $full_key_id 2>/dev/null); - $got_uid_already{$full_key_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: -- 2.39.2