* gpgsigs: recognize rvk (revoker), found in ksp-dc6.txt.
[pgp-tools.git] / gpgsigs / gpgsigs
index ba139f7be63a0c121de16668d6c39089b7eaf121..b91f652f5582cc2724953afa5cc0ce4e530b1a95 100755 (executable)
@@ -17,6 +17,7 @@
 #   * support for multiple user keys
 #   * better charset conversion
 #   * pod documentation
+# see the Debian changelog for further changes.
 
 my $VERSION = qq$Rev$;
 
@@ -194,9 +195,9 @@ while (<SIGS>) {
                $uid = "Photo ID";
                next;
        }
-       next if ( m/^(rev|sub|tru):/ );
+       next if ( m/^(rev|rvk|sub|tru):/ ); # revoke/revoker/subkey/trust
        warn "unknown value: '$_', key: ".(defined $key ? $key :'none')."\n";
-}      
+}
 close SIGS;
 print STDERR "\n";
 
@@ -208,13 +209,23 @@ for my $k ( keys %{$sigs} ) {
 
 
 # read checksums
-open MD, "gpg --print-md md5 $keytxt|" or warn "can't get gpg md5\n";
+open MD, "gpg --with-colons --print-md md5 $keytxt|" or warn "can't get gpg md5\n";
 my $MD5 = <MD>;
 close MD;
-open MD, "gpg --print-md sha1 $keytxt|" or warn "can't get gpg sha1\n";
+open MD, "gpg --with-colons --print-md sha1 $keytxt|" or warn "can't get gpg sha1\n";
 my $SHA1 = <MD>;
 close MD;
 
+my @MD5 = split /:/, $MD5;
+my @SHA1 = split /:/, $SHA1;
+$MD5 = $MD5[2];
+$SHA1 = $SHA1[2];
+
+$MD5 =~ s/(.{16})/$1 /;
+$SHA1 =~ s/(.{20})/$1 /;
+$MD5 =~ s/([0-9A-Z]{2})/$1 /ig;
+$SHA1 =~ s/([0-9A-Z]{4})/$1 /ig;
+
 chomp $MD5;
 chomp $SHA1;
 my $metatxt = quotemeta($keytxt);
@@ -359,7 +370,7 @@ http://pgp-tools.alioth.debian.org/
 
 (c) 2004, 2005 Peter Palfrader <peter@palfrader.org>
 
-(c) 2004, 2005 Christoph Berg <cb@df7cb.de>
+(c) 2004, 2005, 2006 Christoph Berg <cb@df7cb.de>
 
 =head1 LICENSE