X-Git-Url: http://git.sthu.org/?a=blobdiff_plain;f=gpgsigs%2Fgpgsigs;h=0caf08f68f730bcd8246b4686bb9545468df93ff;hb=d90154fd1046ab7aaf6cb3d3c316e857887a0ade;hp=1033f400286bb5f35298e8a6e8eb66b6ce4b4c17;hpb=d5a28cfb9ed9ff356e218782fe72947960ad04f1;p=pgp-tools.git diff --git a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs index 1033f40..0caf08f 100755 --- a/gpgsigs/gpgsigs +++ b/gpgsigs/gpgsigs @@ -18,7 +18,7 @@ # * better charset conversion # * pod documentation -my $VERSION = '$Rev$'; +my $VERSION = qq$Rev$; use strict; use warnings; @@ -32,7 +32,7 @@ sub version($) my ($fd) = @_; print $fd < (c) 2004, 2005 Peter Palfrader (c) 2004, 2005 Christoph Berg @@ -182,9 +182,21 @@ while () { $uid = myrecode($1); next; } - if ( m/^sig:(?:.*?:){3,3}([0-9A-F]{8})([0-9A-F]{8}):(?:.*?:){3,3}(.*):.*?:/ ) { - $sigs->{$key}->{$uid}->{$1.$2} = $3; - $sigs->{$key}->{$uid}->{$2} = $3; + if ( m/^sig:(?:.*?:){3,3}([0-9A-F]{8})([0-9A-F]{8}):(?:.*?:){5,5}(.*?):/ ) { + my $class = $3; + if ($class eq '10x') { + $class = 'S'; + } elsif ($class eq '11x') { + $class = '1'; + } elsif ($class eq '12x') { + $class = '2'; + } elsif ($class eq '13x') { + $class = '3'; + } else { + $class = 's'; + }; + $sigs->{$key}->{$uid}->{$1.$2} = $class; + $sigs->{$key}->{$uid}->{$2} = $class; next; } if ( m/^uat:/ ) { @@ -225,11 +237,11 @@ sub print_tag my ($key, $uid) = @_; if (! defined $sigs->{$key}->{$uid}) { warn "uid '$uid' not found on key $key\n"; - return '(_)'; + return '(' . (' ' x @mykeys) . ')'; } my $r = '('; foreach my $mykey (@mykeys) { - $r .= defined $sigs->{$key}->{$uid}->{$mykey} ? "S" : " "; + $r .= defined $sigs->{$key}->{$uid}->{$mykey} ? $sigs->{$key}->{$uid}->{$mykey} : ' '; } $r .= ')'; return $r; @@ -241,10 +253,10 @@ open (WRITE, '>'.$outfile) or die ("Cannot open $outfile for writing\n"); while () { $_ = myfromrecode($_); if (/^MD5 Checksum:/ && defined $MD5) { - s/_[_ ]+_/$MD5/; + s/[_[:xdigit:]][_ [:xdigit:]]+_/$MD5/; } if (/^SHA1 Checksum:/ && defined $SHA1) { - s/_[_ ]+_/$SHA1/; + s/[_[:xdigit:]][_ [:xdigit:]]+_/$SHA1/; } if ( m/^pub +(?:\d+)[DR]\/([0-9A-F]{8}) [0-9]{4}-[0-9]{2}-[0-9]{2} *(.*)/ ) { $key = $1;