aboutsummaryrefslogtreecommitdiffstats
path: root/g10/free-packet.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-06-13 08:40:34 +0000
committerWerner Koch <[email protected]>2016-06-13 08:40:34 +0000
commit08c82b1b55d28ffd09b859205b7686bcefae5011 (patch)
treedbdd0375fa3102066139e0a6eeb5410cb624ff10 /g10/free-packet.c
parentgpg,indent: Re-indent and chnage var names in sign.c (diff)
downloadgnupg-08c82b1b55d28ffd09b859205b7686bcefae5011.tar.gz
gnupg-08c82b1b55d28ffd09b859205b7686bcefae5011.zip
gpg: Try Signer's User ID sub-packet with --auto-key-retrieve.
* g10/packet.h (PKT_signature): Add field 'signers_uid'. * g10/parse-packet.c (parse_signature): Set this field. * g10/free-packet.c (free_seckey_enc): Free field. (copy_signature): Copy field. * g10/mainproc.c (akl_has_wkd_method): New. (check_sig_and_print): Extend NEWSIG status. If WKD is enabled try to locate a missing key via the signature's Signer's User ID sub-packet. Do this right before trying a keyserver lookup. -- Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/free-packet.c')
-rw-r--r--g10/free-packet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/g10/free-packet.c b/g10/free-packet.c
index 8176e368b..3883f877a 100644
--- a/g10/free-packet.c
+++ b/g10/free-packet.c
@@ -82,6 +82,7 @@ free_seckey_enc( PKT_signature *sig )
xfree (sig->pka_info->uri);
xfree (sig->pka_info);
}
+ xfree (sig->signers_uid);
xfree(sig);
}
@@ -258,6 +259,8 @@ copy_signature( PKT_signature *d, PKT_signature *s )
d->pka_info = s->pka_info? cp_pka_info (s->pka_info) : NULL;
d->hashed = cp_subpktarea (s->hashed);
d->unhashed = cp_subpktarea (s->unhashed);
+ if (s->signers_uid)
+ d->signers_uid = xstrdup (s->signers_uid);
if(s->numrevkeys)
{
d->revkey=NULL;