aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2004-04-15 00:30:05 +0000
committerDavid Shaw <[email protected]>2004-04-15 00:30:05 +0000
commit8c4607568d9fde6a13320a2b53e333e58aefaec8 (patch)
treec706d2b346a72086e220bb4ffed77bb19dd87ac4 /g10/getkey.c
parent* options.h, import.c, keyserver-internal.h, g10.c, mainproc.c, (diff)
downloadgnupg-8c4607568d9fde6a13320a2b53e333e58aefaec8.tar.gz
gnupg-8c4607568d9fde6a13320a2b53e333e58aefaec8.zip
* packet.h, getkey.c (fixup_uidnode, merge_selfsigs_subkey): Keep track of
which self-sig we actually chose. * keyedit.c (menu_expire, menu_set_primary_uid, menu_set_preferences): Use it here to avoid updating non-used self-sigs and possibly promoting an old self-sig into consideration again.
Diffstat (limited to '')
-rw-r--r--g10/getkey.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index f899cb4af..381b2f5ab 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1267,6 +1267,7 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
const byte *p, *sym, *hash, *zip;
size_t n, nsym, nhash, nzip;
+ sig->flags.chosen_selfsig = 1; /* we chose this one */
uid->created = 0; /* not created == invalid */
if ( IS_UID_REV ( sig ) ) {
uid->is_revoked = 1;
@@ -1898,6 +1899,7 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode )
return;
sig = signode->pkt->pkt.signature;
+ sig->flags.chosen_selfsig=1; /* so we know which selfsig we chose later */
p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_KEY_FLAGS, &n );
if ( p && n ) {