Fix for bug 1223
authorWerner Koch <wk@gnupg.org>
Fri, 7 May 2010 11:15:26 +0000 (11:15 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 7 May 2010 11:15:26 +0000 (11:15 +0000)
g10/ChangeLog
g10/import.c

index 9a76f21..330a601 100644 (file)
@@ -1,5 +1,8 @@
 2010-05-07  Werner Koch  <wk@g10code.com>
 
+       * import.c (chk_self_sigs): Check direct key signatures.  Fixes
+       bug#1223.
+
        * import.c (chk_self_sigs): Re-indent and slighly re-arrange code.
        Use test macros for the sig class.
 
index 5118bc5..5d51e92 100644 (file)
@@ -1431,6 +1431,19 @@ chk_self_sigs( const char *fname, KBNODE keyblock,
                 unode->flag |= 1; /* Mark that signature checked. */
             }
         }
+      else if (IS_KEY_SIG (sig))
+        {
+          rc = check_key_signature (keyblock, n, NULL);
+          if ( rc )
+            {
+              if (opt.verbose)
+                log_info (gpg_err_code (rc) == G10ERR_PUBKEY_ALGO ?
+                          _("key %s: unsupported public key algorithm\n"):
+                          _("key %s: invalid direct key signature\n"),
+                          keystr (keyid));
+              n->flag |= 4;
+            }
+        }
       else if ( IS_SUBKEY_SIG (sig) ) 
         {
           /* Note that this works based solely on the timestamps like