X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=gpg-key2ps%2Fgpg-key2ps;h=302381b73e6b758ae2a06a517e43c9ac78147215;hb=25959bbd9e216a97e6ebc86b851abf905b9b2244;hp=c8e58fa57cc403a61fc51331cc3020dac41a89ee;hpb=a17369aaa3f8783c7ea3ee7425e14f7c8534df18;p=pgp-tools.git diff --git a/gpg-key2ps/gpg-key2ps b/gpg-key2ps/gpg-key2ps index c8e58fa..302381b 100755 --- a/gpg-key2ps/gpg-key2ps +++ b/gpg-key2ps/gpg-key2ps @@ -2,8 +2,8 @@ # # gpg-key2ps: convert a PGP/GnuPG key into paper slips. # Copyright (C) 2001-2005 Simon Richter -# Copyright (C) 2005 Thijs Kinkhorst -# Copyright (C) 2005 Christoph Berg +# Copyright (C) 2005-2006 Thijs Kinkhorst +# Copyright (C) 2005-2006 Christoph Berg # Licenced under the GNU General Public License, # version 2 or later. # @@ -19,7 +19,7 @@ my $creationdate = scalar(localtime); sub version($) { my $fd = shift; - print $fd "gpg-key2ps $version - (c) 2001-2005 Simon Richter, Thijs Kinkhorst, Christoph Berg\n"; + print $fd "gpg-key2ps $version - (c) 2001-2006 Simon Richter, Thijs Kinkhorst, Christoph Berg\n"; } sub usage($$) { @@ -78,20 +78,22 @@ usage(\*STDERR, 1) unless scalar @ARGV >= 1; # determine the paper size through the paperconf tool my $w; my $h; -if ( -x "/usr/bin/paperconf" ) { +if ( `which paperconf` && $? == 0 ) { $w=`paperconf -w`; $h=`paperconf -h`; chomp($w); chomp($h); } else { # Default to A4. + print STDERR "Warning: libpaper-utils is not installed, defaulting to A4.\n"; $w=596; $h=842; } # open a gpg process we'll be reading from below map { s/'/'\\''/g; } @ARGV; # quote single quotes -open(GPG, "gpg --fingerprint --with-colons '". (join "' '", @ARGV) ."' |"); +# --list-key due to #382794 +open(GPG, "gpg --list-key --with-fingerprint --with-colons '". (join "' '", @ARGV) ."' |"); sub start_postscript { # start the PostScript output @@ -164,8 +166,6 @@ if ( $revokestyle eq "grey" ) { print " uid\n"; print " 0 setgray\n"; print "} def\n"; -} elsif ( $revokestyle eq "hide" ) { - print "/revuid {} def\n"; } elsif ( $revokestyle eq "note" ) { print "/revuid {\n"; print " 50 y moveto (uid) show\n"; @@ -222,7 +222,9 @@ while() { # user ids s/^uid:[^:r]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:([^:]*):.*/ ($1) uid/; # revoked user id - s/^uid:r[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:([^:]*):.*/ ($1) revuid/; + if (s/^uid:r[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:([^:]*):.*/ ($1) revuid/) { + next if $revokestyle eq "hide"; + } # subkey s/^sub:[^:]*:([^:]*):([0-9]*):.{8,8}(.{8,8}):([^:]*):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:.*/ ($4) ($3) $2 ($1) sbk/; $numlines++;