diff options
author | Werner Koch <[email protected]> | 2023-05-25 09:57:04 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-05-25 10:01:07 +0000 |
commit | e9dd47d789e85d9cefcf77a4d37667c2f8bbcd69 (patch) | |
tree | f5d82fc3d22d947943855d05c695dec4ddc6d868 | |
parent | po: Update Japanese Translation. (diff) | |
download | gnupg-e9dd47d789e85d9cefcf77a4d37667c2f8bbcd69.tar.gz gnupg-e9dd47d789e85d9cefcf77a4d37667c2f8bbcd69.zip |
gpg: Fix searching for the ADSK key when adding an ADSK.
* g10/keyedit.c (menu_addadsk): Request an exact search.
* g10/getkey.c (finish_lookup): Add an debug output.
--
GnuPG-bug-id: 6504
-rw-r--r-- | g10/getkey.c | 3 | ||||
-rw-r--r-- | g10/keyedit.c | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 15905dc63..68d7ee61d 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -3655,6 +3655,9 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact, break; } } + if (DBG_LOOKUP) + log_debug ("finish_lookup: exact search requested: %sfound\n", + foundk? "":"not "); } /* Get the user id that matched that low-level search criteria. */ diff --git a/g10/keyedit.c b/g10/keyedit.c index e16a40ead..21c1ee8d8 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -4844,6 +4844,15 @@ menu_addadsk (ctrl_t ctrl, kbnode_t pub_keyblock, const char *adskfpr) continue; } + /* Force searching for that exact fingerprint and for any key + * which has a key with that fingerprint. */ + if (!strchr (answer, '!')) + { + char *tmpstr = xstrconcat (answer, "!", NULL); + xfree (answer); + answer = tmpstr; + } + free_public_key (adsk_pk); adsk_pk = xcalloc (1, sizeof *adsk_pk); adsk_pk->req_usage = PUBKEY_USAGE_ENC; |