aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-05-09 06:17:30 +0000
committerWerner Koch <[email protected]>2023-05-09 06:17:30 +0000
commitc30d5829c9ab076e9fd39c223273b065cdb58a0d (patch)
tree9fb413bc2a743cc89a611bf42fc5700c2da7ab72 /g10/getkey.c
parentgpg: Print a warning if no more encryption subkey was left over. (diff)
downloadgnupg-c30d5829c9ab076e9fd39c223273b065cdb58a0d.tar.gz
gnupg-c30d5829c9ab076e9fd39c223273b065cdb58a0d.zip
gpg: New option --debug-ignore-expiration to help with testing.
* g10/gpg.c (oDebugIgnoreExpiration): New. (opts): Add option. (main): Set flag. * g10/options.h (opt): Add field ignore_expiration. * g10/pkclist.c (do_we_trust): Handle the option. * g10/getkey.c (skip_unusable): Ditto. (finish_lookup): Ditto. -- GnuPG-bug-id: 2703
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 1b37c597d..15905dc63 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -685,7 +685,7 @@ skip_unusable (void *opaque, u32 * keyid, int uid_no)
pk = keyblock->pkt->pkt.public_key;
/* Is the key revoked or expired? */
- if (pk->flags.revoked || pk->has_expired)
+ if (pk->flags.revoked || (pk->has_expired && !opt.ignore_expiration))
unusable = 1;
/* Is the user ID in question revoked or expired? */
@@ -704,7 +704,8 @@ skip_unusable (void *opaque, u32 * keyid, int uid_no)
if (uids_seen != uid_no)
continue;
- if (user_id->flags.revoked || user_id->flags.expired)
+ if (user_id->flags.revoked
+ || (user_id->flags.expired && !opt.ignore_expiration))
unusable = 1;
break;
@@ -3736,7 +3737,7 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact,
n_revoked_or_expired++;
continue;
}
- if (pk->has_expired)
+ if (pk->has_expired && !opt.ignore_expiration)
{
if (DBG_LOOKUP)
log_debug ("\tsubkey has expired\n");