g10: Also mark revoked and expired keys as unusable.
authorNeal H. Walfield <neal@g10code.com>
Wed, 16 Sep 2015 12:05:03 +0000 (14:05 +0200)
committerNeal H. Walfield <neal@g10code.com>
Wed, 16 Sep 2015 13:15:29 +0000 (15:15 +0200)
* g10/getkey.c (skip_unusable): Also mark the key as unusable if it
has been revoked or has expired.

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

index 18ef84e..4ade93e 100644 (file)
@@ -592,8 +592,12 @@ skip_unusable (void *dummy, u32 * keyid, int uid_no)
 
   pk = keyblock->pkt->pkt.public_key;
 
-  /* Is the user ID in question revoked/expired? */
-  if (uid_no)
+  /* Is the key revoked or expired?  */
+  if (pk->flags.revoked || pk->has_expired)
+    unusable = 1;
+
+  /* Is the user ID in question revoked or expired? */
+  if (!unusable && uid_no)
     {
       KBNODE node;
       int uids_seen = 0;