X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=keylookup%2Fkeylookup;h=a69f888ec8857a0eea50a2f0e9c3c14abd194b80;hb=5a5ca5fff1eb5a5fa9e67e1fcb5fa861d765118c;hp=e069289f670f75d6dce5d04783b11cc786331ff3;hpb=74b13ddc4ad8c157e7db53277692bff18db6117e;p=pgp-tools.git diff --git a/keylookup/keylookup b/keylookup/keylookup index e069289..a69f888 100755 --- a/keylookup/keylookup +++ b/keylookup/keylookup @@ -99,6 +99,7 @@ sub getHits($) { while () { chomp; + if ( $_ eq "" ) { next; } my ($type, undef) = split /:/; if ($type eq 'pub') { my ($type, $keyid, $algo, $bits, $created, undef, $revoked) = split /:/; @@ -209,7 +210,8 @@ sub callDialog { my %unique; my @keys = grep { !$unique{$_}++ } - grep { /^[0-9A-Fa-f]{8}$/ } + # get the keyID; can be 8, 16 or 40 nibbles + grep { /^((([a-zA-Z0-9]{24})?[a-zA-Z0-9]{8})?[a-zA-Z0-9]{8})$/ } map { s/\s//g; $_ } ; wait; @@ -295,7 +297,7 @@ sub importKeys { push @args, '--recv-keys'; for my $keyid (@$keyids) { # untaint keyids - my ($cleanid) = $keyid =~ /^([a-zA-Z0-9]{8})$/; + my ($cleanid) = $keyid =~ /^((([a-zA-Z0-9]{24})?[a-zA-Z0-9]{8})?[a-zA-Z0-9]{8})$/; warn ("keyid '$keyid' has unexpected format - skipping\n"), next unless defined $cleanid; push @args, $cleanid;