Package: sig2dot
Version: 0.34-4
Severity: normal
Tags: patch

The current version of sig2dot does not skip the revoked keys due to
a change to gpg. The same problem occurs if an internationalized
version of gpg is used. The attached patch should fix the problem.


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.10
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

-- 
Thomas Huriaux
--- sig2dot.orig        2005-07-16 22:40:18.000000000 +0200
+++ sig2dot     2005-07-16 23:50:16.809325011 +0200
@@ -30,6 +30,12 @@
 #   "[User-ID nicht gefunden]" if they use GnuPG with German
 #   messages. Default is "[User id not found]".
 #
+# -r <"string">
+#   Support localized output of GnuPG for revoked keys. For
+#   example, French users have to write (with quotation marks,
+#   non-ascii characters and without brackets!) "révoqué" if
+#   they use GnuPG with French messages. Default is "revoked".
+#
 # Changes:
 #
 # v0.9 2000-09-14 19:20  strip trailing whitespace from $id more cleanly
@@ -61,7 +67,7 @@
 
 require "getopts.pl";
 
-&Getopts('d:u:s:ba');
+&Getopts('d:u:r:s:ba');
 
 if ($opt_d) { 
   $renderdate = $opt_d; 
@@ -86,6 +92,12 @@
   $all = 0;
 }
 
+if ($opt_r) {
+  $revoked = lc $opt_r;
+} else {
+  $revoked = "revoked";
+}
+
 if ($opt_u) {
   $not_found = lc $opt_u;
 } else {
@@ -121,6 +133,8 @@
     $date = $3;
     $name = $4 || "";
     
+    next if $revlist{$id} eq 1;
+
     $date =~ tr/-//d;
     if ($type eq "pub" or $renderdate eq "" or $date <= $renderdate)
     {
@@ -140,7 +154,7 @@
       $name{$id} = $name if $name; # gpg 1.4 fixup
   
       # skip revoked keys 
-      if ($name =~ /^\[revoked/) {
+      if ($name =~ /^\[$revoked/) {
         $revlist{$id} = 1;
         next;
       }

Attachment: signature.asc
Description: Digital signature

Reply via email to