aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keyedit.c')
-rw-r--r--g10/keyedit.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/g10/keyedit.c b/g10/keyedit.c
index c0c952144..a8e49a286 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -334,7 +334,14 @@ sign_uids( KBNODE keyblock, STRLIST locusr, int *ret_modified,
/* Is this a self-sig? */
if(pk_keyid[0]==sk_keyid[0] && pk_keyid[1]==sk_keyid[1])
- selfsig=1;
+ {
+ selfsig=1;
+ /* Do not force a v4 sig here, otherwise it would
+ be difficult to remake a v3 selfsig. If this
+ is a v3->v4 promotion case, then we set
+ force_v4 later anyway. */
+ force_v4=0;
+ }
}
else if( node->pkt->pkttype == PKT_USER_ID ) {
uidnode = (node->flag & NODFLG_MARK_A)? node : NULL;