#
# 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 <cb@df7cb.de>
+# Copyright (C) 2005-2006 Thijs Kinkhorst
+# Copyright (C) 2005-2006 Christoph Berg <cb@df7cb.de>
# Licenced under the GNU General Public License,
# version 2 or later.
#
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($$) {
# 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);
# 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
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";
# 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++;