X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=caff%2Fpgp-fixkey;h=48d47be19e717b581ea0c41822fb527eed90cd78;hb=560acb84bf2fba4e938762920962ae0ed55e86e6;hp=6064bab450f9c161a0c89e25eaf5b432044ba7c1;hpb=caba88ce99696f7c5846b168e30567210753116d;p=pgp-tools.git diff --git a/caff/pgp-fixkey b/caff/pgp-fixkey index 6064bab..48d47be 100755 --- a/caff/pgp-fixkey +++ b/caff/pgp-fixkey @@ -265,9 +265,9 @@ if (scalar @KEYIDS == 0) { } elsif (!defined $thiskey) { next; } elsif ($type eq 'sig' || $type eq 'rev') { - if (($keyid eq '0' x 16) || ($created == 0)) { + if (($keyid eq '0' x 16) || ($created eq "") || ($created == 0)) { push @KEYIDS, $thiskey; - info("Adding $thiskey"); + info("Key $thiskey needs cleaning."); $thiskey = undef; }; }; @@ -291,6 +291,10 @@ for my $keyid (@KEYIDS) { }; my $keyinfo = $stdout; my @publine = grep { /^pub/ } (split /\n/, $stdout); + if ($#publine < 0) { + warn ("No public key found for $keyid.\n"); + next; + } my (undef, undef, undef, undef, $longkeyid, undef, undef, undef, undef, undef, undef, $flags) = split /:/, pop @publine; my $can_encrypt = $flags =~ /E/; unless (defined $longkeyid) {