gpg: Show debugging info if a sig with an unsupported sig class is used.
authorNeal H. Walfield <neal@g10code.com>
Thu, 25 Feb 2016 20:22:55 +0000 (21:22 +0100)
committerNeal H. Walfield <neal@g10code.com>
Thu, 25 Feb 2016 20:25:27 +0000 (21:25 +0100)
* g10/sig-check.c (check_key_signature2): If SIG->CLASS is
unsupported, show some debugging information.  Don't use BUG to fail.
Just return GPG_ERR_BAD_SIGNATURE.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
g10/sig-check.c

index 4530a64..087222a 100644 (file)
@@ -1086,7 +1086,12 @@ check_key_signature2 (kbnode_t root, kbnode_t node, PKT_public_key *check_pk,
          }
       }
   else
-      BUG ();
+    {
+      log_info ("sig issued by %s with class %d (digest: %x %x) is not valid over a user id or a key id, ignoring.\n",
+                keystr (sig->keyid), sig->sig_class,
+                sig->digest_start[0], sig->digest_start[1]);
+      rc = gpg_error (GPG_ERR_BAD_SIGNATURE);
+    }
 
   cache_sig_result  (sig, rc);