diff --git a/g10/ChangeLog b/g10/ChangeLog index 154bb5f2c..2f821abd7 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,11 @@ +2004-12-21 David Shaw + + * keyedit.c (menu_set_keyserver_url): Make sure we only operate on + the chosen selfsig so we don't accidentally promote an older + selfsig to chosen. Discovered by Simon Josefsson and 'Todd'. + + * keygen.c (ask_expire_interval): Fix typo. + 2004-12-20 David Shaw * keylist.c (list_keyblock_print): Secret key listings should diff --git a/g10/keyedit.c b/g10/keyedit.c index 1b80c0941..28e153f1f 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -3558,7 +3558,8 @@ menu_set_keyserver_url (const char *url, { PKT_signature *sig = node->pkt->pkt.signature; if ( keyid[0] == sig->keyid[0] && keyid[1] == sig->keyid[1] - && (uid && (sig->sig_class&~3) == 0x10) ) + && (uid && (sig->sig_class&~3) == 0x10) + && sig->flags.chosen_selfsig) { char *user=utf8_to_native(uid->name,strlen(uid->name),0); if( sig->version < 4 ) diff --git a/g10/keygen.c b/g10/keygen.c index c9965c2ba..000454eb9 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -1569,12 +1569,13 @@ ask_expire_interval(int object) continue; } - if( !valid_days ) { + if( !valid_days ) + { tty_printf((object==0) - ? _("Key does not expire at all\n") : + ? _("Key does not expire at all\n") : _("Signature does not expire at all\n")); interval = 0; - } + } else { interval = valid_days * 86400L;