Home GnuPG
Diffusion GnuPG 861dc01994b0

gpg: Improve decryption diagnostic for an ADSK key.

Description

gpg: Improve decryption diagnostic for an ADSK key.

* g10/keydb.h (GET_PUBKEYBLOCK_FLAG_ADSK): New constant.
* g10/packet.h (PUBKEY_USAGE_XENC_MASK): New constant.
* g10/pubkey-enc.c (get_it): Print a note if an ADSK key was used.
Use the new get_pubkeyblock flag.
* g10/getkey.c (struct getkey_ctx_s): Add field allow_adsk.
(get_pubkeyblock): Factor all code out to ...
(get_pubkeyblock_ext): new.
(finish_lookup): Add new arg allow_adsk and make use of it.

This patch solves two purposes:

  • We write a note that the ADSK key was used for decryption
  • We avoid running into a "oops: public key not found for preference check\n" due to ADSK keys. The error is mostly harmless but lets gpg return with an exit code of 2.

Backported-from-master: 882ab7fef9bf4440900c32d7463469307224f11a

Details

Provenance
wernerAuthored on Aug 12 2024, 2:50 PM
Parents
rG6f78219d0f4f: speedo,w32: Update libassuan dll name in wxs
Branches
Unknown
Tags
Unknown